Sdílet prostřednictvím


ICLRMetaHostPolicy::GetRequestedRuntime – metoda

Poskytuje rozhraní pro upřednostňovanou verzi modulu CLR (Common Language Runtime) na základě zásad hostování, spravovaného sestavení, řetězce verze a konfiguračního streamu. Tato metoda ve skutečnosti nenačte ani neaktivuje CLR, ale jednoduše vrátí rozhraní ICLRRuntimeInfo , které představuje výsledek zásad. Tato metoda nahrazuje Metody GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg a GetCORRequiredVersion .

Syntaxe

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

Název Description
dwPolicyFlags [v] Požadované. Určuje člena výčtu METAHOST_POLICY_FLAGS představující zásady vazby a libovolný počet modifikátorů. Jediná zásada, která je aktuálně dostupná , je METAHOST_POLICY_HIGHCOMPAT.

Mezi modifikátory patří METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH a METAHOST_POLICY_ENSURE_SKU_SUPPORTED.
pwzBinary [v] Volitelné. Určuje cestu k souboru sestavení.
pCfgStream [v] Volitelné. Určuje konfigurační soubor jako System.Runtime.InteropServices.ComTypes.IStream.
pwzVersion [in, out] Volitelné. Určuje nebo vrátí upřednostňovanou verzi CLR, která se má načíst.
pcchVersion [in, out] Požadované. Určuje očekávanou velikost pwzVersion vstupu, aby nedošlo k přetečení vyrovnávací paměti. Pokud pwzVersion je hodnota null, pcchVersion obsahuje očekávanou velikost pwzVersion při GetRequestedRuntime vrácení, aby bylo možné předběžné přidělení; v opačném případě pcchVersion obsahuje počet znaků zapsaných do pwzVersion.
pwzImageVersion [out] Volitelné. Při GetRequestedRuntime vrácení obsahuje verzi CLR odpovídající rozhraní ICLRRuntimeInfo , která je vrácena.
pcchImageVersion [in, out] Volitelné. Určuje velikost pwzImageVersion jako vstupu, aby nedošlo k přetečení vyrovnávací paměti. Pokud pwzImageVersion je hodnota null, pcchImageVersion obsahuje požadovanou velikost pwzImageVersion při GetRequestedRuntime vrácení, aby bylo možné předběžné přidělení.
pdwConfigFlags [out] Volitelné. Pokud GetRequestedRuntime se během procesu vazby používá konfigurační soubor, pdwConfigFlags při vrácení obsahuje hodnotu METAHOST_CONFIG_FLAGS, která označuje, zda <má element startup> nastavený atribut a hodnotu atributu.useLegacyV2RuntimeActivationPolicy Použijte masku METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK na pdwConfigFlags , abyste získali hodnoty relevantní pro useLegacyV2RuntimeActivationPolicy.
riid [v] Určuje identifikátor rozhraní IID_ICLRRuntimeInfo požadovaného rozhraní ICLRRuntimeInfo .
ppRuntime [out] Při GetRequestedRuntime návratu obsahuje ukazatel na odpovídající rozhraní ICLRRuntimeInfo .

Poznámky

Pokud je tato metoda úspěšná, má vedlejší účinek kombinování dalších příznaků s aktuálními výchozími příznaky spouštění vráceného rozhraní modulu runtime, pokud a pouze v případě, že v konfiguračním streamu v rámci oddílu <configuration><runtime> existuje jeden nebo více následujících prvků:

  • <gcServer enabled="true"/> příčiny STARTUP_SERVER_GC , které mají být nastaveny.

  • <etwEnable enabled="true"/> příčiny STARTUP_ETW , které mají být nastaveny.

  • <appDomainResourceMonitoring enabled="true"/> příčiny STARTUP_ARM , které mají být nastaveny.

Výsledná výchozí STARTUP_FLAGS hodnota je bitové nebo kombinace hodnot, které jsou nastaveny z předchozího seznamu s výchozími příznaky spuštění.

Návratová hodnota

Tato metoda vrátí následující konkrétní hodnoty HRESULT a také chyby HRESULT, které značí selhání metody.

HRESULT Description
S_OK Metoda se úspěšně dokončila.
E_POINTER pwzVersion není null a pcchVersion je null.

-nebo-

pwzImageVersion není null a pcchImageVersion je null.
E_INVALIDARG dwPolicyFlags neurčoval METAHOST_POLICY_HIGHCOMPAT.
ERROR_INSUFFICIENT_BUFFER Přidělená paměť pwzVersion je nedostatečná.

-nebo-

Přidělená paměť pwzImageVersion je nedostatečná.
CLR_E_SHIM_RUNTIMELOAD dwPolicyFlags zahrnuje METAHOST_POLICY_APPLY_UPGRADE_POLICY a obě pwzVersion hodnoty a pcchVersion mají hodnotu null.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: MetaHost.h

Knihovny: Zahrnuto jako prostředek v MSCorEE.dll

Verze rozhraní .NET Framework: K dispozici od 4

Viz také