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 configuration. Cette méthode ne charge pas ou n’active pas réellement le CLR. Elle 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.

Syntaxe

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 représentant une stratégie de liaison et un nombre quelconque de modificateurs. La seule stratégie actuellement disponible est METAHOST_POLICY_HIGHCOMPAT.

Les modificateurs sont entre autres 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 d’assembly.
pCfgStream [in] Facultatif. Spécifie le fichier de configuration en tant que 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 a la valeur null, pcchVersion contient la taille attendue de pwzVersion quand GetRequestedRuntime retourne, pour autoriser la préallocation ; sinon, pcchVersion contient le nombre de caractères écrits dans pwzVersion.
pwzImageVersion [out] Facultatif. Au retour de GetRequestedRuntime, contient la version CLR correspondant à 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 a la valeur null, pcchImageVersion contient la taille requise de pwzImageVersion quand GetRequestedRuntime retourne, pour autoriser la préallocation.
pdwConfigFlags [out] Facultatif. Si GetRequestedRuntime utilise un fichier de configuration pendant le processus de liaison, à son retour, 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 pour useLegacyV2RuntimeActivationPolicy.
riid [in] Spécifie l’identificateur d’interface IID_ICLRRuntimeInfo pour l’interface ICLRRuntimeInfo demandée.
ppRuntime [out] Au retour de GetRequestedRuntime, contient un pointeur vers l’interface ICLRRuntimeInfo correspondante.

Notes

Quand cette méthode réussit, elle a comme effet secondaire de combiner des indicateurs supplémentaires avec les indicateurs de démarrage par défaut actuels de l'interface d'exécution retournée, si et seulement si un ou plusieurs des éléments suivants existent dans le flux de configuration dans la section <configuration><runtime> :

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

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

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

La valeur par défaut STARTUP_FLAGS résultante est la combinaison OR au niveau du bit des valeurs qui sont définies à partir de 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 indiquant l'échec de la méthode.

HRESULT Description
S_OK La commande 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 ne spécifie pas METAHOST_POLICY_HIGHCOMPAT.
ERROR_INSUFFICIENT_BUFFER La mémoire allouée à pwzVersion est insuffisante.

-ou-

La mémoire allouée à pwzImageVersion est insuffisante.
CLR_E_SHIM_RUNTIMELOAD dwPolicyFlags comprend METAHOST_POLICY_APPLY_UPGRADE_POLICY et pwzVersion et pcchVersion sont tous deux null.

Spécifications

Plateformes : Consultez Configuration requise.

En-tête : MetaHost.h

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

Versions de .NET Framework : Disponibles depuis 4

Voir aussi