Delen via


Methode ICLRMetaHostPolicy::GetRequestedRuntime

Biedt een interface voor een voorkeursversie van de Common Language Runtime (CLR) op basis van een hostingbeleid, beheerde assembly, versiereeks en configuratiestroom. Met deze methode wordt de CLR niet daadwerkelijk geladen of geactiveerd, maar wordt alleen de ICLRRuntimeInfo-interface geretourneerd die het beleidsresultaat vertegenwoordigt. Deze methode vervangt de methoden GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg en GetCORRequiredVersion .

Syntaxis

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

Parameters

Naam Beschrijving
dwPolicyFlags [in] Vereist. Hiermee geeft u een lid van de METAHOST_POLICY_FLAGS opsomming, die een bindingsbeleid vertegenwoordigt, en een willekeurig aantal wijzigingsfuncties. Het enige beleid dat momenteel beschikbaar is , is METAHOST_POLICY_HIGHCOMPAT.

Modifiers omvatten METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH en METAHOST_POLICY_ENSURE_SKU_SUPPORTED.
pwzBinary [in] Optionele. Hiermee geeft u het pad naar het assemblybestand op.
pCfgStream [in] Optionele. Hiermee geeft u het configuratiebestand op als een System.Runtime.InteropServices.ComTypes.IStream.
pwzVersion [in, uit] Optionele. Hiermee geeft u de gewenste CLR-versie op die moet worden geladen.
pcchVersion [in, uit] Vereist. Hiermee geeft u de verwachte grootte van pwzVersion als invoer, om bufferoverschrijdingen te voorkomen. Als pwzVersion null is, pcchVersion bevat de verwachte grootte van pwzVersion wanneer GetRequestedRuntime retourneert, om toewijzing vooraf toe te staan; pcchVersion anders bevat het aantal tekens dat naar pwzVersionwordt geschreven.
pwzImageVersion [uit] Optionele. Wanneer GetRequestedRuntime retourneert, bevat de CLR-versie die overeenkomt met de ICLRRuntimeInfo-interface die wordt geretourneerd.
pcchImageVersion [in, uit] Optionele. Hiermee geeft u de grootte van pwzImageVersion als invoer om bufferoverschrijdingen te voorkomen. Als pwzImageVersion null is, pcchImageVersion bevat de vereiste grootte van pwzImageVersion wanneer GetRequestedRuntime retourneert, om toewijzing vooraf toe te staan.
pdwConfigFlags [uit] Optionele. Als GetRequestedRuntime een configuratiebestand wordt gebruikt tijdens het bindingsproces, wanneer het wordt geretourneerd, pdwConfigFlags bevat een METAHOST_CONFIG_FLAGS waarde die aangeeft of het <opstartelement> het useLegacyV2RuntimeActivationPolicy kenmerk heeft ingesteld en de waarde van het kenmerk. Pas het METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK masker toe op om de waarden op te pdwConfigFlags halen die relevant zijn voor useLegacyV2RuntimeActivationPolicy.
riid [in] Hiermee geeft u de interface-id IID_ICLRRuntimeInfo voor de aangevraagde ICLRRuntimeInfo-interface .
ppRuntime [uit] Wanneer GetRequestedRuntime retourneert, bevat een verwijzing naar de bijbehorende ICLRRuntimeInfo-interface .

Opmerkingen

Wanneer deze methode slaagt, heeft dit als neveneffect dat extra vlaggen worden gecombineerd met de huidige standaardstartvlagmen van de geretourneerde runtime-interface, als en alleen als een of meer van de volgende elementen in de configuratiestroom in de <configuration><runtime> sectie bestaan:

  • <gcServer enabled="true"/> wordt STARTUP_SERVER_GC ingesteld.

  • <etwEnable enabled="true"/> wordt STARTUP_ETW ingesteld.

  • <appDomainResourceMonitoring enabled="true"/> wordt STARTUP_ARM ingesteld.

De resulterende standaardwaarde STARTUP_FLAGS is de bitsgewijze OF-combinatie van de waarden die zijn ingesteld uit de voorgaande lijst met de standaard opstartvlagmen.

Retourwaarde

Deze methode retourneert de volgende specifieke HRESULT's en HRESULT-fouten die wijzen op een methodefout.

HRESULT Beschrijving
S_OK De methode is voltooid.
E_POINTER pwzVersion is niet null en pcchVersion is null.

-of-

pwzImageVersion is niet null en pcchImageVersion is null.
E_INVALIDARG dwPolicyFlags geeft niet op METAHOST_POLICY_HIGHCOMPAT.
ERROR_INSUFFICIENT_BUFFER Het geheugen waaraan is toegewezen pwzVersion , is onvoldoende.

-of-

Het geheugen waaraan is toegewezen pwzImageVersion , is onvoldoende.
CLR_E_SHIM_RUNTIMELOAD dwPolicyFlags bevat METAHOST_POLICY_APPLY_UPGRADE_POLICY en beide pwzVersion en pcchVersion zijn null.

Vereisten

Platforms: Zie Systeemvereisten.

Header: MetaHost.h

Bibliotheek: Opgenomen als een resource in MSCorEE.dll

.NET Framework versies: beschikbaar sinds 4

Zie ook