Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Obtém uma referência a um assembly que não é referenciado pelo ICLRAssemblyReferenceList que é retornado de IHostAssemblyManager::GetNonHostStoreAssemblies. O CLR (Common Language Runtime) chama ProvideAssembly cada assembly que não aparece na lista.
Sintaxe
HRESULT ProvideAssembly (
[in] AssemblyBindInfo *pBindInfo,
[out] UINT64 *pAssemblyId,
[out] UINT64 *pHostContext,
[out] IStream **ppStmAssemblyImage,
[out] IStream **ppStmPDB
);
Parâmetros
pBindInfo [in] Um ponteiro para uma instância assemblyBindInfo que o host usa para determinar determinadas características de associação, incluindo a presença ou ausência de qualquer política de controle de versão e a qual assembly associar.
pAssemblyId [out] Um ponteiro para um identificador exclusivo para o assembly solicitado para isso IStream.
pHostContext [out] Um ponteiro para dados específicos do host que são usados para determinar a evidência do assembly solicitado sem a necessidade de uma chamada de invocação de plataforma.
pHostContext corresponde à HostContext propriedade da classe gerenciada Assembly .
ppStmAssemblyImage [out] Um ponteiro para o endereço de uma IStream imagem PE (executável portátil) a ser carregada ou nulo se o assembly não puder ser encontrado.
ppStmPDB [out] Um ponteiro para o endereço de um IStream que contém as informações de PDB (depuração do programa) ou nulo se o arquivo .pdb não puder ser encontrado.
Valor de retorno
| HRESULT | Descrição |
|---|---|
| S_OK |
ProvideAssembly retornado com êxito. |
| HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado em um processo ou o CLR está em um estado no qual não pode executar o código gerenciado ou processar a chamada com êxito. |
| HOST_E_TIMEOUT | A chamada atingiu o tempo limite. |
| HOST_E_NOT_OWNER | O chamador não possui o bloqueio. |
| HOST_E_ABANDONED | Um evento foi cancelado enquanto um thread ou fibra bloqueado estava esperando por ele. |
| E_FAIL | Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é mais utilizável dentro do processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE. |
| COR_E_FILENOTFOUND (0x80070002) | Não foi possível localizar o assembly solicitado. |
| E_NOT_SUFFICIENT_BUFFER | O tamanho do buffer especificado por pAssemblyId não é grande o suficiente para conter o identificador que o host deseja retornar. |
Observações
O valor de identidade retornado pAssemblyId é especificado pelo host. Os identificadores devem ser exclusivos dentro do tempo de vida de um processo. O CLR usa esse valor como um identificador exclusivo para o fluxo. Ele verifica cada valor em relação aos valores retornados por outras pAssemblyId chamadas para ProvideAssembly. Se o host retornar o mesmo pAssemblyId valor para outro IStream, o CLR verificará se o conteúdo desse fluxo já foi mapeado. Nesse caso, o runtime carrega a cópia existente da imagem em vez de mapear uma nova.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: MSCorEE.h
Biblioteca: Incluído como um recurso no MSCorEE.dll
Versões do .NET Framework: Disponível desde 2.0