Partager via


ICLRMetaHostPolicy::GetRequestedRuntime, méthode

Fournit une interface pour une version préférée du Common Language Runtime (CLR), basée sur une stratégie d'hébergement, un assembly managé, une chaîne de version et un flux de données de configuration. Cette méthode ne charge pas ou n'active pas réellement le CLR, mais retourne simplement l'interface ICLRRuntimeInfo qui représente le résultat de la stratégie. Cette méthode remplace les méthodes GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg et 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);

Paramètres

Nom

Description

dwPolicyFlags

[in] Obligatoire. Spécifie un membre de l'énumération METAHOST_POLICY_FLAGS, en représentant une stratégie de liaison, et tout nombre de modificateurs. La seule stratégie qui est actuellement disponible est METAHOST_POLICY_HIGHCOMPAT.

Les modificateurs incluent METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH et METAHOST_POLICY_ENSURE_SKU_SUPPORTED.

pwzBinary

[in] Facultatif. Spécifie le chemin d'accès de fichier de l'assembly.

pCfgStream

[in] Facultatif. Spécifie le fichier de configuration comme System.Runtime.InteropServices.ComTypes.IStream.

pwzVersion

[in, out] Facultatif. Spécifie ou retourne la version du CLR par défaut à charger.

pcchVersion

[in, out] Obligatoire. Spécifie la taille attendue de pwzVersion comme entrée pour éviter les dépassements de mémoire tampon. Si pwzVersion est null, pcchVersion contient la taille attendue de pwzVersion lorsque GetRequestedRuntime est retourné, pour autoriser la pré-allocation ; sinon, pcchVersion contient le nombre de caractères écrits dans pwzVersion.

pwzImageVersion

[out] Facultatif. Lorsque GetRequestedRuntime est retourné, contient la version CLR qui correspond à l'interface ICLRRuntimeInfo retournée.

pcchImageVersion

[in, out] Facultatif. Spécifie la taille de pwzImageVersion comme entrée pour éviter les dépassements de mémoire tampon. Si pwzImageVersion est null, pcchImageVersion contient la taille requise de pwzImageVersion lorsque GetRequestedRuntime est retourné, pour autoriser la pré-allocation.

pdwConfigFlags

[out] Facultatif. Si GetRequestedRuntime utilise un fichier de configuration pendant le processus de liaison, lorsqu'il est retourné, pdwConfigFlags contient une valeur METAHOST_CONFIG_FLAGS qui indique si l'élément <startup> a l'attribut useLegacyV2RuntimeActivationPolicy défini, et la valeur de l'attribut. Appliquez le masque METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK à pdwConfigFlags pour obtenir les valeurs pertinentes à useLegacyV2RuntimeActivationPolicy.

riid

[in] Spécifie l'identificateur d'interface IID_ICLRRuntimeInfo pour l'interface ICLRRuntimeInfo demandée.

ppRuntime

[out] Lorsque GetRequestedRuntime est retourné, contient un pointeur vers l'interface correspondante ICLRRuntimeInfo.

Notes

Lorsque cette méthode réussit, elle a l'effet secondaire de combiner des indicateurs supplémentaires avec des indicateurs de démarrage par défaut actuels de l'interface d'exécution retournée, si et uniquement si un ou plusieurs des éléments suivants sont présents dans le flux de données de configuration dans la section <configuration><runtime> :

  • <gcServer enabled="true"/> entraîne la définition de STARTUP_SERVER_GC.

  • <etwEnable enabled="true"/> entraîne la définition de STARTUP_ETW.

  • <appDomainResourceMonitoring enabled="true"/> entraîne la définition de STARTUP_ARM.

La valeur STARTUP_FLAGS par défaut résultante est la combinaison d'opérations de bits OR qui sont définies dans la liste précédente avec les indicateurs de démarrage par défaut.

Valeur de retour

Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT qui indiquent l'échec de la méthode.

HRESULT

Description

S_OK

La méthode s'est correctement terminée.

E_POINTER

pwzVersion n'est pas null et pcchVersion est null.

ou

pwzImageVersion n'est pas null et pcchImageVersion est null.

E_INVALIDARG

dwPolicyFlags n'indique pas METAHOST_POLICY_HIGHCOMPAT.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : MetaHost.h

Bibliothèque : incluse en tant que ressource dans MSCorEE.dll

Versions du .NET Framework : 4

Voir aussi

Référence

ICLRMetaHostPolicy, interface

Autres ressources

Interfaces d'hébergement de .NET Framework 4

Interfaces d'hébergement

Hébergement (Référence des API non managées)