Método ICLRMetaHostPolicy::GetRequestedRuntime
Fornece uma interface para uma versão preferencial do common language runtime (CLR) com base numa política de alojamento, assemblagem gerida, cadeia de versão e fluxo de configuração. Este método não carrega ou ativa o CLR, mas simplesmente devolve a interface ICLRRuntimeInfo que representa o resultado da política. Este método substitui os métodos GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg e GetCORRequiredVersion .
Sintaxe
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
Nome | Descrição |
---|---|
dwPolicyFlags |
[in] Obrigatório. Especifica um membro da enumeração METAHOST_POLICY_FLAGS , que representa uma política de enlace e qualquer número de modificadores. A única política atualmente disponível é METAHOST_POLICY_HIGHCOMPAT. Os modificadores incluem METAHOST_POLICY_EMULATE_EXE_LAUNCH, METAHOST_POLICY_APPLY_UPGRADE_POLICY, METAHOST_POLICY_SHOW_ERROR_DIALOG, METAHOST_POLICY_USE_PROCESS_IMAGE_PATH e METAHOST_POLICY_ENSURE_SKU_SUPPORTED. |
pwzBinary |
[in] Opcional. Especifica o caminho do ficheiro de assemblagem. |
pCfgStream |
[in] Opcional. Especifica o ficheiro de configuração como um System.Runtime.InteropServices.ComTypes.IStream. |
pwzVersion |
[dentro, fora] Opcional. Especifica ou devolve a versão do CLR preferencial a carregar. |
pcchVersion |
[dentro, fora] Obrigatório. Especifica o tamanho esperado de pwzVersion como entrada, para evitar excessos na memória intermédia. Se pwzVersion for nulo, pcchVersion contém o tamanho esperado de pwzVersion quando GetRequestedRuntime é devolvido, para permitir a pré-alocação; caso contrário, pcchVersion contém o número de carateres escritos em pwzVersion . |
pwzImageVersion |
[fora] Opcional. Quando GetRequestedRuntime devolve, contém a versão CLR correspondente à interface ICLRRuntimeInfo que é devolvida. |
pcchImageVersion |
[dentro, fora] Opcional. Especifica o tamanho de pwzImageVersion como entrada para evitar ultrapassagens da memória intermédia. Se pwzImageVersion for nulo, pcchImageVersion contém o tamanho necessário de pwzImageVersion quando GetRequestedRuntime é devolvido, para permitir a pré-alocação. |
pdwConfigFlags |
[fora] Opcional. Se GetRequestedRuntime utilizar um ficheiro de configuração durante o processo de enlace, quando este devolver, pdwConfigFlags contém um valor METAHOST_CONFIG_FLAGS que indica se o <elemento de arranque> tem o useLegacyV2RuntimeActivationPolicy conjunto de atributos e o valor do atributo. Aplique a máscara de METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK para pdwConfigFlags obter os valores relevantes para useLegacyV2RuntimeActivationPolicy . |
riid |
[in] Especifica o identificador da interface IID_ICLRRuntimeInfo para a interface ICLRRuntimeInfo pedida. |
ppRuntime |
[fora] Quando GetRequestedRuntime é devolvido, contém um ponteiro para a interface ICLRRuntimeInfo correspondente. |
Observações
Quando este método for bem-sucedido, tem o efeito secundário de combinar sinalizadores adicionais com os sinalizadores de arranque predefinidos atuais da interface de runtime devolvida, se e apenas se existir um ou mais dos seguintes elementos no fluxo de configuração na <configuration><runtime>
secção:
<gcServer enabled="true"/>
STARTUP_SERVER_GC
causas a definir.<etwEnable enabled="true"/>
STARTUP_ETW
causas a definir.<appDomainResourceMonitoring enabled="true"/>
STARTUP_ARM
causas a definir.
O valor predefinido STARTUP_FLAGS
resultante é a combinação bit a bit OU dos valores que são definidos a partir da lista anterior com os sinalizadores de arranque predefinidos.
Devolver Valor
Este método devolve os seguintes HRESULTs específicos, bem como erros HRESULT que indicam a falha do método.
HRESULT | Description |
---|---|
S_OK | O método foi concluído com êxito. |
E_POINTER | pwzVersion não é nulo e pcchVersion é nulo.-ou- pwzImageVersion não é nulo e pcchImageVersion é nulo. |
E_INVALIDARG | dwPolicyFlags não especifica METAHOST_POLICY_HIGHCOMPAT . |
ERROR_INSUFFICIENT_BUFFER | A memória alocada a pwzVersion é inadequada.-ou- A memória alocada a pwzImageVersion é inadequada. |
CLR_E_SHIM_RUNTIMELOAD | dwPolicyFlags inclui METAHOST_POLICY_APPLY_UPGRADE_POLICY e e pwzVersion pcchVersion são nulos. |
Requisitos
Plataformas: Veja Requisitos de Sistema.
Cabeçalho: MetaHost.h
Biblioteca: Incluído como um recurso no MSCorEE.dll
.NET Framework Versões: Disponível desde 4