Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
[Compatible con .NET Framework 4.5.2 y versiones posteriores]
Notifica al generador de perfiles que un ensamblado está en una fase de carga muy temprana, cuando Common Language Runtime realiza un recorrido de cierre de referencia de ensamblado.
Syntax
HRESULT GetAssemblyReferences( [in, string] const WCHAR* wszAssemblyPath,
[in] ICorProfilerAssemblyReferenceProvider* pAsmRefProvider
);
Parameters
wszAssemblyPath [in] Ruta de acceso y nombre del ensamblado cuyos metadatos se modificarán.
pAsmRefProvider [in] Puntero a la dirección de una interfaz ICorProfilerAssemblyReferenceProvider que especifica las referencias de ensamblado que se van a agregar.
Return Value
Se omiten los valores devueltos de esta devolución de llamada.
Remarks
Esta devolución de llamada se controla estableciendo la marca de máscara de eventos COR_PRF_HIGH_ADD_ASSEMBLY_REFERENCES al llamar al método ICorProfilerCallback5::SetEventMask2 . Si el generador de perfiles se registra para el método de devolución de llamada ICorProfilerCallback6::GetAssemblyReferences , el tiempo de ejecución pasa la ruta de acceso y el nombre del ensamblado que se va a cargar, junto con un puntero a un objeto de interfaz ICorProfilerAssemblyReferenceProvider a ese método. A continuación, el generador de perfiles puede llamar al método ICorProfilerAssemblyReferenceProvider::AddAssemblyReference con un COR_PRF_ASSEMBLY_REFERENCE_INFO objeto para cada ensamblado de destino al que planea hacer referencia desde el ensamblado especificado en la GetAssemblyReferences devolución de llamada.
Use la GetAssemblyReferences devolución de llamada solo si el generador de perfiles tiene que modificar los metadatos de un ensamblado para agregar referencias de ensamblado. (Pero tenga en cuenta que la modificación real de los metadatos de un ensamblado se realiza en el método de devolución de llamada ICorProfilerCallback::ModuleLoadFinished). El generador de perfiles debe implementar el GetAssemblyReferences método de devolución de llamada para informar al Common Language Runtime (CLR) de que las referencias de ensamblado se agregarán cuando se haya cargado el módulo. Esto ayuda a garantizar que las decisiones de uso compartido de ensamblados tomadas por CLR durante esta fase temprana sigan siendo válidas, aunque el generador de perfiles planea modificar las referencias de ensamblado de metadatos más adelante. Esto puede evitar algunas instancias en las que las modificaciones de metadatos del generador de perfiles provocan un SECURITY_E_INCOMPATIBLE_SHARE error.
El generador de perfiles usa el objeto ICorProfilerAssemblyReferenceProvider proporcionado por este método para agregar referencias de ensamblado al caminador de cierre de referencia del ensamblado CLR. El objeto ICorProfilerAssemblyReferenceProvider solo se debe usar desde esta devolución de llamada. Las llamadas al método ICorProfilerAssemblyReferenceProvider::AddAssemblyReference de esta devolución de llamada no generan metadatos modificados, sino solo en un paseo de cierre de referencia de ensamblado modificado. El generador de perfiles seguirá teniendo que usar un objeto IMetaDataAssemblyEmit para agregar explícitamente referencias de ensamblado desde la devolución de llamada ICorProfilerCallback::ModuleLoadFinished para el ensamblado de referencia, incluso si implementa la GetAssemblyReferences devolución de llamada.
El generador de perfiles debe estar preparado para recibir llamadas duplicadas a esta devolución de llamada para el mismo ensamblado y debe responder de forma idéntica para cada llamada duplicada (realizando el mismo conjunto de llamadas ICorProfilerAssemblyReferenceProvider::AddAssemblyReference ).
Requirements
Plataformas: Vea Requisitos de sistema.
Encabezado: CorProf.idl, CorProf.h
Library: CorGuids.lib
Versiones de .NET Framework: Disponible desde la versión 4.5.2