Freigeben über


ICLRMetaHostPolicy::GetRequestedRuntime-Methode

Stellt auf Basis einer Hostingrichtlinie, einer verwalteten Assembly, einer Versionszeichenfolge und eines Konfigurationsstreams eine Schnittstelle mit einer bevorzugten Version der Common Language Runtime (CLR) bereit. Diese Methode lädt oder aktiviert die CLR nicht, sondern gibt einfach die ICLRRuntimeInfo-Schnittstelle zurück, die das Richtlinienergebnis darstellt. Diese Methode ersetzt die Methoden GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg und 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);

Parameter

Name Beschreibung
dwPolicyFlags [in] erforderlich. Gibt einen Member der METAHOST_POLICY_FLAGS-Enumeration an, der eine Bindungsrichtlinie und eine beliebige Anzahl von Modifizierern darstellt. Die einzige Richtlinie, die derzeit verfügbar ist, ist METAHOST_POLICY_HIGHCOMPAT.

Die Modifizierer sind METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH und METAHOST_POLICY_ENSURE_SKU_SUPPORTED.
pwzBinary [in] Optional. Gibt den Pfad der Assemblydatei an.
pCfgStream [in] Optional. Gibt die Konfigurationsdatei als einen System.Runtime.InteropServices.ComTypes.IStream an.
pwzVersion [in, out] Optional. Gibt die bevorzugte CLR-Version an, die geladen werden soll, oder gibt diese zurück.
pcchVersion [in, out] Erforderlich. Gibt die erwartete Größe von pwzVersion als Eingabe an, um Pufferüberläufe zu vermeiden. Wenn pwzVersion gleich NULL ist, enthält pcchVersion die erwartete Größe von pwzVersion, wenn GetRequestedRuntime beendet wird, um die Vorabbelegung zu ermöglichen; andernfalls enthält pcchVersion die Anzahl der in pwzVersion geschriebenen Zeichen.
pwzImageVersion [out] Optional. Gibt beim Beenden von GetRequestedRuntime die CLR-Version zurück, die der zurückgegebenen ICLRRuntimeInfo-Schnittstelle entspricht.
pcchImageVersion [in, out] Optional. Gibt die Größe von pwzImageVersion als Eingabe an, um Pufferüberläufe zu vermeiden. Wenn pwzImageVersion gleich NULL ist, enthält pcchImageVersion die erforderliche Größe von pwzImageVersion, wenn GetRequestedRuntime beendet wird, um die Vorabbelegung zu ermöglichen.
pdwConfigFlags [out] Optional. Wird von GetRequestedRuntime während des Bindungsprozesses eine Konfigurationsdatei verwendet, enthält pdwConfigFlags nach Beendigung der Methode einen METAHOST_CONFIG_FLAGS-Wert, der angibt, ob im <startup>-Element das useLegacyV2RuntimeActivationPolicy-Attribut festgelegt ist, sowie den Wert des Attributs. Wenden Sie die METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK-Maske auf pdwConfigFlags an, um die für useLegacyV2RuntimeActivationPolicy relevanten Werte abzurufen.
riid [in] Gibt den Schnittstellenbezeichner "IID_ICLRRuntimeInfo" für die angeforderte ICLRRuntimeInfo-Schnittstelle an.
ppRuntime [out] Enthält beim Beenden von GetRequestedRuntime einen Zeiger auf die entsprechende ICLRRuntimeInfo-Schnittstelle.

Bemerkungen

Wenn diese Methode erfolgreich ist, hat sie den Nebeneffekt, zusätzliche Flags mit den aktuellen Standardstartflags der zurückgegebenen Laufzeitschnittstelle zu kombinieren, dies allerdings nur dann, wenn ein oder mehrere der folgenden Elemente im Konfigurationsstream innerhalb des <configuration><runtime>-Abschnitts vorhanden sind:

  • <gcServer enabled="true"/> bewirkt, dass STARTUP_SERVER_GC festgelegt wird.

  • <etwEnable enabled="true"/> bewirkt, dass STARTUP_ETW festgelegt wird.

  • <appDomainResourceMonitoring enabled="true"/> bewirkt, dass STARTUP_ARM festgelegt wird.

Der sich ergebende Standard-STARTUP_FLAGS-Wert ist die bitweise ODER-Kombination der Werte, die von der vorangehenden Liste festgelegt wurden, mit den Standardstartflags.

Rückgabewert

Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler zurück, die Methodenfehler anzeigen.

HRESULT BESCHREIBUNG
S_OK Die Methode wurde erfolgreich abgeschlossen.
E_POINTER pwzVersion ist ungleich NULL, und pcchVersion ist gleich NULL.

Oder

pwzImageVersion ist ungleich NULL, und pcchImageVersion ist gleich NULL.
E_INVALIDARG dwPolicyFlags gibt nicht METAHOST_POLICY_HIGHCOMPAT an.
ERROR_INSUFFICIENT_BUFFER pwzVersion ist nicht genügend Arbeitsspeicher zugewiesen.

Oder

pwzImageVersion ist nicht genügend Arbeitsspeicher zugewiesen.
CLR_E_SHIM_RUNTIMELOAD dwPolicyFlags enthält METAHOST_POLICY_APPLY_UPGRADE_POLICY und sowohl pwzVersion als auch pcchVersion sind gleich NULL.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MetaHost.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.

.NET Framework-Versionen: Seit Version 4 verfügbar.

Siehe auch