Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[Suportado no .NET Framework 4.5.2 e versões posteriores]
Notifica o criador de perfil de que um assembly está em um estágio de carregamento muito inicial, quando o common language runtime executa uma caminhada de fechamento de referência de assembly.
Syntax
HRESULT GetAssemblyReferences( [in, string] const WCHAR* wszAssemblyPath,
[in] ICorProfilerAssemblyReferenceProvider* pAsmRefProvider
);
Parameters
wszAssemblyPath [em] O caminho e o nome do assembly cujos metadados serão modificados.
pAsmRefProvider [em] Um ponteiro para o endereço de um ICorProfilerAssemblyReferenceProvider interface que especifica as referências de assembly para adicionar.
Return Value
Os valores de retorno desse retorno de chamada são ignorados.
Remarks
Esse retorno de chamada é controlado definindo o sinalizador de máscara de evento COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES ao chamar o método ICorProfilerCallback5::SetEventMask2 . Se o criador de perfil se registrar para o método de retorno de chamada ICorProfilerCallback6::GetAssemblyReferences , o tempo de execução passa o caminho e o nome do assembly a ser carregado, juntamente com um ponteiro para um objeto de interface ICorProfilerAssemblyReferenceProvider para esse método. O criador de perfil pode então chamar o método ICorProfilerAssemblyReferenceProvider::AddAssemblyReference com um COR_PRF_ASSEMBLY_REFERENCE_INFO objeto para cada assembly de destino que planeja referenciar a partir do assembly especificado no GetAssemblyReferences retorno de chamada.
Use o retorno de GetAssemblyReferences chamada somente se o criador de perfil tiver que modificar os metadados de um assembly para adicionar referências de assembly. (Mas observe que a modificação real dos metadados de um assembly é feita no método de retorno de chamada ICorProfilerCallback::ModuleLoadFinished.) O criador de perfil deve implementar o método de retorno de GetAssemblyReferences chamada para informar ao Common Language Runtime (CLR) que as referências de assembly serão adicionadas quando o módulo for carregado. Isso ajuda a garantir que as decisões de compartilhamento de assembly tomadas pelo CLR durante esse estágio inicial permaneçam válidas, embora o criador de perfil planeje modificar as referências de assembly de metadados mais tarde. Isso pode evitar alguns casos em que as modificações de metadados do criador de perfil causam um SECURITY_E_INCOMPATIBLE_SHARE erro.
O criador de perfil usa o objeto ICorProfilerAssemblyReferenceProvider fornecido por esse método para adicionar referências de assembly ao andador de fechamento de referência de assembly CLR. O ICorProfilerAssemblyReferenceProvider objeto deve ser usado somente de dentro deste retorno de chamada. As chamadas para o método ICorProfilerAssemblyReferenceProvider::AddAssemblyReference desse retorno de chamada não resultam em metadados modificados, mas apenas em uma caminhada de fechamento de referência de assembly modificada. O criador de perfil ainda terá que usar um objeto IMetaDataAssemblyEmit para adicionar explicitamente referências de assembly de dentro do retorno de chamada ICorProfilerCallback::ModuleLoadFinished para o assembly de referência, mesmo que implemente o GetAssemblyReferences retorno de chamada.
O criador de perfil deve estar preparado para receber chamadas duplicadas para esse retorno de chamada para o mesmo assembly e deve responder de forma idêntica para cada chamada duplicada (fazendo o mesmo conjunto de chamadas ICorProfilerAssemblyReferenceProvider::AddAssemblyReference ).
Requirements
Plataformas: Consulte Requisitos do sistema.
Cabeçalho: CorProf.idl, CorProf.h
Library: CorGuids.lib
Versões do .NET Framework: Disponível desde: 4.5.2