ICLRMetaHostPolicy::GetRequestedRuntime — Metoda
Udostępnia interfejs preferowanej wersji środowiska uruchomieniowego języka wspólnego (CLR) na podstawie zasad hostingu, zestawu zarządzanego, ciągu wersji i strumienia konfiguracji. Ta metoda nie faktycznie ładuje ani nie aktywuje środowiska CLR, ale po prostu zwraca interfejs ICLRRuntimeInfo reprezentujący wynik zasad. Ta metoda zastępuje metody GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg i GetCORRequiredVersion.
Składnia
HRESULT GetRequestedRuntime(
[in] METAHOST_POLICY_FLAGS dwPolicyFlags,
[in] LPCWSTR pwzBinary,
[in] IStream *pCfgStream,
[in, out, size_is(*pcchVersion)] LPWSTR pwzVersion,
[in, out] DWORD *pcchVersion,
[out, size_is(*pcchImageVersion)] LPWSTR pwzImageVersion,
[in, out] DWORD *pcchImageVersion,
[out] DWORD *pdwConfigFlags,
[in] REFIID riid
[out, iid_is(riid), retval] LPVOID *ppRuntime);
Parametry
Nazwa | Opis |
---|---|
dwPolicyFlags |
[w] Wymagane. Określa element członkowski METAHOST_POLICY_FLAGS wyliczenie, reprezentujące zasady powiązania i dowolną liczbę modyfikatorów. Jedyną dostępną obecnie zasadą jest METAHOST_POLICY_HIGHCOMPAT. Modyfikatory obejmują METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH i METAHOST_POLICY_ENSURE_SKU_SUPPORTED. |
pwzBinary |
[w] Opcjonalne. Określa ścieżkę pliku zestawu. |
pCfgStream |
[w] Opcjonalne. Określa plik konfiguracji jako .System.Runtime.InteropServices.ComTypes.IStream |
pwzVersion |
[in, out] Opcjonalne. Określa lub zwraca preferowaną wersję środowiska CLR do załadowania. |
pcchVersion |
[in, out] Wymagane. Określa oczekiwany rozmiar danych wejściowych pwzVersion , aby uniknąć przepełnień buforu. Jeśli pwzVersion wartość ma wartość null, pcchVersion zawiera oczekiwany rozmiar GetRequestedRuntime pwzVersion po powrocie, aby zezwolić na wstępną alokację. W przeciwnym razie pcchVersion zawiera liczbę znaków zapisanych w pwzVersion obiekcie . |
pwzImageVersion |
[out] Opcjonalne. Po GetRequestedRuntime powrocie zawiera wersję środowiska CLR odpowiadającą zwracanym interfejsowi ICLRRuntimeInfo . |
pcchImageVersion |
[in, out] Opcjonalne. Określa rozmiar danych wejściowych pwzImageVersion , aby uniknąć przepełnień buforu. Jeśli pwzImageVersion wartość ma wartość null, pcchImageVersion zawiera wymagany rozmiar pwzImageVersion GetRequestedRuntime po powrocie, aby zezwolić na wstępną alokację. |
pdwConfigFlags |
[out] Opcjonalne. Jeśli GetRequestedRuntime używa pliku konfiguracji podczas procesu powiązania, gdy zostanie zwrócony, zawiera wartość METAHOST_CONFIG_FLAGS wskazującą, pdwConfigFlags czy <element startowy> ma useLegacyV2RuntimeActivationPolicy zestaw atrybutów i wartość atrybutu. Zastosuj maskę METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK , aby pdwConfigFlags uzyskać wartości istotne dla useLegacyV2RuntimeActivationPolicy elementu . |
riid |
[w] Określa identyfikator interfejsu IID_ICLRRuntimeInfo dla żądanego interfejsu ICLRRuntimeInfo . |
ppRuntime |
[out] Gdy GetRequestedRuntime funkcja zwraca, zawiera wskaźnik odpowiadający interfejsowi ICLRRuntimeInfo . |
Uwagi
Gdy ta metoda powiedzie się, ma efekt uboczny łączenia dodatkowych flag z bieżącymi domyślnymi flagami uruchamiania zwróconego interfejsu środowiska uruchomieniowego, jeśli i tylko wtedy, gdy jeden lub więcej z następujących elementów istnieje w strumieniu konfiguracji w sekcji <configuration><runtime>
:
<gcServer enabled="true"/>
powodujeSTARTUP_SERVER_GC
ustawienie.<etwEnable enabled="true"/>
powodujeSTARTUP_ETW
ustawienie.<appDomainResourceMonitoring enabled="true"/>
powodujeSTARTUP_ARM
ustawienie.
Wynikowa wartość domyślna STARTUP_FLAGS
to bitowa lub kombinacja wartości ustawionych z poprzedniej listy z domyślnymi flagami uruchamiania.
Wartość zwracana
Ta metoda zwraca następujące określone elementy HRESULTs, a także błędy HRESULT wskazujące niepowodzenie metody.
HRESULT | Opis |
---|---|
S_OK | Metoda została ukończona pomyślnie. |
E_POINTER | pwzVersion nie ma wartości null i pcchVersion ma wartość null.-lub- pwzImageVersion nie ma wartości null i pcchImageVersion ma wartość null. |
E_INVALIDARG | dwPolicyFlags nie określa METAHOST_POLICY_HIGHCOMPAT . |
ERROR_INSUFFICIENT_BUFFER | Przydzielona pamięć pwzVersion jest niewystarczająca.-lub- Przydzielona pamięć pwzImageVersion jest niewystarczająca. |
CLR_E_SHIM_RUNTIMELOAD | dwPolicyFlags zawiera METAHOST_POLICY_APPLY_UPGRADE_POLICY, a oba pwzVersion pcchVersion i mają wartość null. |
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: MetaHost.h
Biblioteki: Uwzględnione jako zasób w MSCorEE.dll
wersje .NET Framework: dostępne od 4