ICLRMetaHostPolicy::GetRequestedRuntime (Método)

Proporciona una interfaz a una versión preferida de Common Language Runtime (CLR) basándose en una directiva de hospedaje, un ensamblado administrado, una cadena de versión y una secuencia de configuración. Este método no carga o activa el CLR realmente, simplemente devuelve la interfaz ICLRRuntimeInfo que representa el resultado de la directiva. Este método reemplaza los métodos GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg y 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);

Parámetros

Name

Descripción

dwPolicyFlags

[in] Obligatorio. Especifica un miembro de la enumeración METAHOST_POLICY_FLAGS, representando una directiva de enlace y cualquier número de modificadores. La única directiva que está actualmente disponible es METAHOST_POLICY_HIGHCOMPAT.

Los modificadores incluyen METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH y METAHOST_POLICY_ENSURE_SKU_SUPPORTED.

pwzBinary

[in] Opcional. Especifica la ruta de acceso del archivo del ensamblado.

pCfgStream

[in] Opcional. Especifica el archivo de configuración como System.Runtime.InteropServices.ComTypes.IStream.

pwzVersion

[in, out] Opcional. Especifica o devuelve la versión de CLR preferida que se va a cargar.

pcchVersion

[in, out] Obligatorio. Especifica el tamaño esperado de pwzVersion como entrada para evitar saturaciones de búfer. Si pwzVersion es NULL, pcchVersion contiene el tamaño esperado de pwzVersion cuando devuelve GetRequestedRuntime, para permitir la asignación previa; de lo contrario, pcchVersion contiene el número de caracteres escrito en pwzVersion.

pwzImageVersion

[out] Opcional. Cuando devuelve GetRequestedRuntime, contiene la versión de CLR correspondiente a la interfaz ICLRRuntimeInfo que se devuelve.

pcchImageVersion

[in, out] Opcional. Especifica el tamaño de pwzImageVersion como entrada para evitar saturaciones de búfer. Si pwzImageVersion es NULL, pcchImageVersion contiene el tamaño necesario de pwzImageVersion cuando devuelve GetRequestedRuntime, para permitir la asignación previa.

pdwConfigFlags

[out] Opcional. Si GetRequestedRuntime usa un archivo de configuración durante el proceso de enlace, cuando devuelve, pdwConfigFlags contiene un valor METAHOST_CONFIG_FLAGS que indica si el elemento < startup > tiene el establecido el atributo useLegacyV2RuntimeActivationPolicy y el valor del atributo. Aplica la máscara METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK a pdwConfigFlags para obtener los valores pertinente a useLegacyV2RuntimeActivationPolicy.

riid

[in] Especifica el identificador de interfaz IID_ICLRRuntimeInfo para la interfaz ICLRRuntimeInfo solicitada.

ppRuntime

[out] Cuando GetRequestedRuntime devuelve, contiene un puntero a la interfaz ICLRRuntimeInfo correspondiente.

Comentarios

Cuando este método es correcto, tiene el efecto secundario de combinar marcas adicionales con las actuales marcas de inicio predeterminadas de la interfaz de runtime devuelta, si y sólo si uno o más de los siguientes elementos existe en la secuencia de configuración dentro de la sección <configuration><runtime>:

  • <gcServer enabled="true"/> produce STARTUP_SERVER_GC que hay que establecer.

  • <etwEnable enabled="true"/> produce STARTUP_ETW que hay que establecer.

  • <appDomainResourceMonitoring enabled="true"/> produce STARTUP_ARM que hay que establecer.

El valor STARTUP_FLAGS predeterminado resultante es la combinación OR bit a bit de los valores que se establecen en la lista anterior con las marcas de inicio predeterminadas.

Valor devuelto

Este método devuelve los siguientes HRESULT específicos, así como errores HRESULT que indican la existencia de un error en el método.

HRESULT

Descripción

S_OK

El método se ha ejecutado correctamente.

E_POINTER

pwzVersion no es un valor NULL, pero pcchVersion sí lo es.

O bien

pwzImageVersion no es NULL y pcchImageVersion es NULL.

E_INVALIDARG

dwPolicyFlags no especifica METAHOST_POLICY_HIGHCOMPAT.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: MetaHost.h

Biblioteca: Se incluye como recurso en MsCorEE.dll

Versiones de .NET Framework: 4

Vea también

Referencia

ICLRMetaHostPolicy (Interfaz)

Otros recursos

Interfaces de hospedaje de .NET Framework 4

Interfaces de hospedaje

Hospedaje (Referencia de la API no administrada)