Udostępnij za pośrednictwem


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 GetRequestedRuntimepwzVersion po powrocie, aby zezwolić na wstępną alokację. W przeciwnym razie pcchVersion zawiera liczbę znaków zapisanych w pwzVersionobiekcie .
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 pwzImageVersionGetRequestedRuntime 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 useLegacyV2RuntimeActivationPolicyelementu .
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"/> powoduje STARTUP_SERVER_GC ustawienie.

  • <etwEnable enabled="true"/> powoduje STARTUP_ETW ustawienie.

  • <appDomainResourceMonitoring enabled="true"/> powoduje STARTUP_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 pwzVersionpcchVersion 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

Zobacz też