Compartilhar via


Método de ICLRMetaHostPolicy::GetRequestedRuntime

Fornece uma interface para uma versão preferencial do common language runtime (CLR) com base em uma diretiva de hospedagem, assembly gerenciado, seqüência de caracteres de versão e fluxo de configuração. Este método não é realmente carregar ou ativar o CLR, mas simplesmente retorna o ICLRRuntimeInfo interface que representa o resultado de diretiva. Este método substitui a GetRequestedRuntimeInfo, GetRequestedRuntimeVersion, CorBindToRuntimeHost, CorBindToRuntimeByCfg, e GetCORRequiredVersion métodos.

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] Necessário. Especifica um membro da METAHOST_POLICY_FLAGS enumeração, representando uma política de vinculação e qualquer número de modificadores. A única diretiva que está disponível no momento é METAHOST_POLICY_HIGHCOMPAT.

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 arquivo de assembly.

pCfgStream

[in] Opcional. Especifica o arquivo de configuração como um System.Runtime.InteropServices.ComTypes.IStream.

pwzVersion

[in, out] Opcional. Especifica ou retorna a versão do CLR preferencial a ser carregado.

pcchVersion

[in, out] Necessário. Especifica o tamanho esperado do pwzVersion como entrada, para evitar saturações de buffer. Se pwzVersion for nulo, pcchVersion contém o tamanho esperado do pwzVersion quando GetRequestedRuntime retorna, para permitir a pré-distribuição; Caso contrário, pcchVersion contém o número de caracteres gravados pwzVersion.

pwzImageVersion

[out] Opcional. Quando GetRequestedRuntime retorna, que contém a versão CLR correspondente para o ICLRRuntimeInfo interface é retornado.

pcchImageVersion

[in, out] Opcional. Especifica o tamanho do pwzImageVersion como entrada para evitar saturações de buffer. Se pwzImageVersion for nulo, pcchImageVersion contém o tamanho necessário do pwzImageVersion quando GetRequestedRuntime retorna, para permitir uma alocação prévia.

pdwConfigFlags

[out] Opcional. Se GetRequestedRuntime usa um arquivo de configuração durante o processo de vinculação, ao retornar, pdwConfigFlags contém um METAHOST_CONFIG_FLAGS valor que indica se a <startup> elemento tem o useLegacyV2RuntimeActivationPolicy o conjunto de atributos e o valor do atributo. Aplicar o METAHOST_CONFIG_FLAGS_LEGACY_V2_ACTIVATION_POLICY_MASK de máscara para pdwConfigFlags para obter os valores relevantes para useLegacyV2RuntimeActivationPolicy.

riid

[in] Especifica o identificador de interface para a operação IID_ICLRRuntimeInfo ICLRRuntimeInfo interface.

ppRuntime

[out] Quando GetRequestedRuntime retorna, contém um ponteiro para o correspondente ICLRRuntimeInfo interface.

Comentários

Quando esse método for bem-sucedido, ele tem o efeito colateral da combinação de sinalizadores adicionais com os sinalizadores de inicialização padrão atual da interface do runtime retornado, se e somente se um ou mais dos seguintes elementos existem no fluxo de configuração dentro de <configuration><runtime> seção:

  • <gcServer enabled="true"/>faz com que STARTUP_SERVER_GC a ser definido.

  • <etwEnable enabled="true"/>faz com que STARTUP_ETW a ser definido.

  • <appDomainResourceMonitoring enabled="true"/>faz com que STARTUP_ARM a ser definido.

O padrão resultante STARTUP_FLAGS valor é a combinação de OR bit a bit dos valores que são definidas a partir da lista anterior com sinalizadores de inicialização padrão.

Valor de retorno

Esse método retorna o seguintes HRESULTs específicos, bem como o HRESULT erros que indicam falha de método.

HRESULT

Descrição

S_OK

O método foi concluído com êxito.

E_POINTER

pwzVersionnão é nulo e pcchVersion é null.

- ou -

pwzImageVersionnão é nulo e pcchImageVersion é null.

E_INVALIDARG

dwPolicyFlagsnão especifique METAHOST_POLICY_HIGHCOMPAT.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: MetaHost.h

Biblioteca: Incluído como um recurso em mscoree

.NET Framework versões: 4

Consulte também

Referência

Interface de ICLRMetaHostPolicy

Outros recursos

.NET Framework 4 Interfaces de hospedagem

Interfaces de hospedagem.

Hospedagem (referência de API não gerenciada)