Freigeben über


ICLRMetaHostPolicy::GetRequestedRuntime-Methode

Stellt auf der Grundlage 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 eigentlich nicht die CLR, sondern gibt einfach die ICLRRuntimeInfo-Schnittstelle zurück, die das Richtlinienergebnis darstellt. Diese Methode ersetzt die Methoden GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg und GetCORRequiredVersion.

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

Beschreibungen

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.

Modifizierer schließen 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 ein.

pwzBinary

[in] Optional. Gibt den Pfad der Assemblydatei an.

pCfgStream

[in] Optional. Gibt die Konfigurationsdatei als 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 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 NULL ist, enthält pcchImageVersion die erforderliche Größe von pwzImageVersion, wenn GetRequestedRuntime beendet wird, um die Vorabbelegung zu ermöglichen.

pdwConfigFlags

[out] Optional. Wenn von GetRequestedRuntime beim Zurückgeben während des Bindungsprozesses eine Konfigurationsdatei verwendet wird, enthält pdwConfigFlags einen METAHOST_CONFIG_FLAGS-Wert, der angibt, ob das <startup>-Element über den useLegacyV2RuntimeActivationPolicy-Attributsatz und den Wert des Attributs verfügt. Übernehmen Sie die METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK-Maske für pdwConfigFlags, um für useLegacyV2RuntimeActivationPolicy relevanten Werte abzurufen.

riid

[in] Gibt die 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.

Hinweise

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

  • <gcServer enabled="true"/> verursacht das Festlegen von STARTUP_SERVER_GC.

  • <etwEnable enabled="true"/> verursacht das Festlegen von STARTUP_ETW.

  • <appDomainResourceMonitoring enabled="true"/> verursacht das Festlegen von STARTUP_ARM.

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

Rückgabewert

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

HRESULT

Beschreibungen

S_OK

Die Methode wurde erfolgreich abgeschlossen.

E_POINTER

pwzVersion ist nicht NULL, und pcchVersion ist NULL.

– oder –

pwzImageVersion ist nicht NULL, und pcchImageVersion ist NULL.

E_INVALIDARG

dwPolicyFlags gibt nicht METAHOST_POLICY_HIGHCOMPAT an.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MetaHost.h

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 4

Siehe auch

Referenz

ICLRMetaHostPolicy-Schnittstelle

Weitere Ressourcen

Hostingschnittstellen für .NET Framework 4

Hostingschnittstellen

Hosting (Referenz zur nicht verwalteten API)