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.
[Com suporte 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 do assembly.
Syntax
HRESULT GetAssemblyReferences( [in, string] const WCHAR* wszAssemblyPath,
[in] ICorProfilerAssemblyReferenceProvider* pAsmRefProvider
);
Parameters
wszAssemblyPath [in] O caminho e o nome do assembly cujos metadados serão modificados.
pAsmRefProvider [in] Um ponteiro para o endereço de uma interface ICorProfilerAssemblyReferenceProvider que especifica as referências de assembly a serem adicionadas.
Return Value
Os valores retornados 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 runtime passará o caminho e o nome do assembly a ser carregado, juntamente com um ponteiro para um objeto de interface ICorProfilerAssemblyReferenceProvider para esse método. Em seguida, o criador de perfil pode chamar o método ICorProfilerAssemblyReferenceProvider::AddAssemblyReference com um COR_PRF_ASSEMBLY_REFERENCE_INFO objeto para cada assembly de destino que planeja referenciar do assembly especificado no GetAssemblyReferences retorno de chamada.
Use o GetAssemblyReferences retorno de chamada somente se o criador de perfil precisar 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 GetAssemblyReferences método de retorno de chamada para informar ao CLR (Common Language Runtime) que as referências de assembly serão adicionadas quando o módulo tiver sido 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 posteriormente. Isso pode evitar algumas instâncias 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 do assembly CLR. O objeto ICorProfilerAssemblyReferenceProvider deve ser usado somente dentro desse 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 precisará 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 ele 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: confira Requisitos do sistema.
Cabeçalho: CorProf.idl, CorProf.h
Library: CorGuids.lib
Versões do .NET Framework: Disponível desde 4.5.2