Dela via


ICLRMetaHostPolicy::GetRequestedRuntime-metod

Tillhandahåller ett gränssnitt till en föredragen version av CLR (Common Language Runtime) baserat på en värdprincip, hanterad sammansättning, versionssträng och konfigurationsström. Den här metoden läser inte in eller aktiverar clr utan returnerar bara gränssnittet ICLRRuntimeInfo som representerar principresultatet. Den här metoden ersätter metoderna GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg och GetCORRequiredVersion .

Syntax

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);

Parametrar

Name Beskrivning
dwPolicyFlags [i] Krävs. Anger en medlem i METAHOST_POLICY_FLAGS uppräkning som representerar en bindningsprincip och valfritt antal modifierare. Den enda princip som för närvarande är tillgänglig är METAHOST_POLICY_HIGHCOMPAT.

Modifierare omfattar METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH och METAHOST_POLICY_ENSURE_SKU_SUPPORTED.
pwzBinary [i] Valfri. Anger sammansättningsfilens sökväg.
pCfgStream [i] Valfri. Anger konfigurationsfilen som en System.Runtime.InteropServices.ComTypes.IStream.
pwzVersion [in, ut] Valfri. Anger eller returnerar önskad CLR-version som ska läsas in.
pcchVersion [in, ut] Krävs. Anger den förväntade storleken på pwzVersion som indata för att undvika buffertöverskridningar. Om pwzVersion är null pcchVersion , innehåller den förväntade storleken pwzVersion på när GetRequestedRuntime returnerar, för att tillåta förallokering, pcchVersion annars innehåller antalet tecken som skrivits till pwzVersion.
pwzImageVersion [ut] Valfri. När GetRequestedRuntime returnerar innehåller den CLR-version som motsvarar ICLRRuntimeInfo-gränssnittet som returneras.
pcchImageVersion [in, ut] Valfri. Anger storleken på pwzImageVersion som indata för att undvika buffertöverskridanden. Om pwzImageVersion är null pcchImageVersion , innehåller den nödvändiga storleken på pwzImageVersion när GetRequestedRuntime returnerar, för att tillåta förallokering.
pdwConfigFlags [ut] Valfri. Om GetRequestedRuntime använder en konfigurationsfil under bindningsprocessen, när den returneras, pdwConfigFlags innehåller ett METAHOST_CONFIG_FLAGS värde som anger om <startelementet> har attributuppsättningen useLegacyV2RuntimeActivationPolicy och värdet för attributet. Använd METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK mask för att pdwConfigFlags hämta de värden som är relevanta för useLegacyV2RuntimeActivationPolicy.
riid [i] Anger gränssnittsidentifieraren IID_ICLRRuntimeInfo för det begärda ICLRRuntimeInfo-gränssnittet .
ppRuntime [ut] När GetRequestedRuntime returnerar innehåller en pekare till motsvarande ICLRRuntimeInfo-gränssnitt .

Kommentarer

När den här metoden lyckas har den sidoeffekten att kombinera ytterligare flaggor med de aktuella standardstartflaggorna i det returnerade körningsgränssnittet, om och endast om ett eller flera av följande element finns i konfigurationsströmmen i <configuration><runtime> avsnittet:

  • <gcServer enabled="true"/> ningsorsaker STARTUP_SERVER_GC anges.

  • <etwEnable enabled="true"/> ningsorsaker STARTUP_ETW anges.

  • <appDomainResourceMonitoring enabled="true"/> ningsorsaker STARTUP_ARM anges.

Det resulterande standardvärdet STARTUP_FLAGS är den bitvisa ELLER-kombinationen av de värden som anges från föregående lista med standardstartflaggor.

Returvärde

Den här metoden returnerar följande specifika HRESULT-fel samt HRESULT-fel som indikerar metodfel.

HRESULT Description
S_OK Metoden har slutförts.
E_POINTER pwzVersion är inte null och pcchVersion är null.

\- eller -

pwzImageVersion är inte null och pcchImageVersion är null.
E_INVALIDARG dwPolicyFlags anger METAHOST_POLICY_HIGHCOMPATinte .
ERROR_INSUFFICIENT_BUFFER Det tilldelade minnet är otillräckligt pwzVersion .

\- eller -

Det tilldelade minnet är otillräckligt pwzImageVersion .
CLR_E_SHIM_RUNTIMELOAD dwPolicyFlags innehåller METAHOST_POLICY_APPLY_UPGRADE_POLICY och båda pwzVersion och pcchVersion är null.

Krav

Plattformar: Se Systemkrav.

Huvudet: MetaHost.h

Bibliotek: Ingår som en resurs i MSCorEE.dll

.NET Framework versioner: Tillgänglig sedan 4

Se även