Compartir a través de


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 realmente no carga ni activa CLR, sino que tan solo devuelve la interfaz ICLRRuntimeInfo que representa el resultado de la directiva. Este método reemplaza a los métodos GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg y GetCORRequiredVersion.

Sintaxis

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

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

Entre los modificadores se 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 un System.Runtime.InteropServices.ComTypes.IStream.
pwzVersion [in, out] Opcional. Especifica o devuelve la versión de CLR preferida para cargar.
pcchVersion [in, out] Obligatorio. Especifica el tamaño esperado de pwzVersion como entrada, para evitar saturaciones de búfer. Si pwzVersion es nulo, pcchVersion contiene el tamaño esperado de pwzVersion cuando GetRequestedRuntime devuelve, para permitir la asignación previa; en caso contrario, pcchVersion contiene el número de caracteres escritos en pwzVersion.
pwzImageVersion [out] Opcional. Cuando GetRequestedRuntime devuelve un valor, contiene la versión 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 nulo, pcchImageVersion contiene el tamaño necesario de pwzImageVersion cuando GetRequestedRuntime devuelve, 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 de METAHOST_CONFIG_FLAGS que indica si el elemento <startup> tiene establecido el atributo useLegacyV2RuntimeActivationPolicy y el valor del atributo. Aplique la máscara METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK a pdwConfigFlags a fin de obtener los valores pertinentes para useLegacyV2RuntimeActivationPolicy.
riid [in] Especifica el identificador de interfaz IID_ICLRRuntimeInfo para la interfaz ICLRRuntimeInfo solicitada.
ppRuntime [out] Cuando GetRequestedRuntime devuelve un valor, contiene un puntero a la interfaz ICLRRuntimeInfo correspondiente.

Comentarios

Cuando este método se ejecuta correctamente, tiene el efecto secundario de combinar marcas adicionales con las marcas de inicio predeterminadas actuales de la interfaz en tiempo de ejecución devuelta, solo si existen uno o varios de los siguientes elementos en la secuencia de configuración dentro de la sección <configuration><runtime>:

  • <gcServer enabled="true"/> hace que STARTUP_SERVER_GC se establezca.

  • <etwEnable enabled="true"/> hace que STARTUP_ETW se establezca.

  • <appDomainResourceMonitoring enabled="true"/> hace que STARTUP_ARM se establezca.

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

Valor devuelto

Este método devuelve los siguientes HRESULT específicos y los errores HRESULT que indican un error del método.

HRESULT Descripción
S_OK El método se completó correctamente.
E_POINTER pwzVersion no es nulo y pcchVersion es nulo.

O bien

pwzImageVersion no es nulo y pcchImageVersion es nulo.
E_INVALIDARG dwPolicyFlags no especifica METAHOST_POLICY_HIGHCOMPAT.
ERROR_INSUFFICIENT_BUFFER La memoria asignada a pwzVersion no es adecuada.

O bien

La memoria asignada a pwzImageVersion no es adecuada.
CLR_E_SHIM_RUNTIMELOAD dwPolicyFlags incluye METAHOST_POLICY_APPLY_UPGRADE_POLICY y tanto pwzVersion como pcchVersion son nulos.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: MetaHost.h

Biblioteca: incluida como recurso en MSCorEE.dll

Versiones de .NET Framework: disponible a partir de la versión 4

Consulte también