ICorProfilerInfo3::GetModuleInfo2 (Método)
Dado un identificador de módulo, devuelve el nombre de archivo del módulo, el identificador del ensamblado primario del módulo y una máscara de bits que describe las propiedades del módulo.
Sintaxis
HRESULT GetModuleInfo2(
[in] ModuleID moduleId,
[out] LPCBYTE *ppBaseLoadAddress,
[in] ULONG cchName,
[out] ULONG *pcchName,
[out, annotation("__out_ecount_part(cchName, *pcchName)")]
WCHAR szName[] ,
[out] AssemblyID *pAssemblyId);
[out] DWORD *pdwModuleFlags);
Parámetros
moduleId
[in] Identificador del módulo para el que se recuperará la información.
ppBaseLoadAddress
[out] Dirección base en la que se carga el módulo.
cchName
[in] Longitud, en caracteres, del búfer de retorno szName
.
pcchName
[out] Puntero a la longitud total de caracteres del nombre de archivo del módulo que se devuelve.
szName
[out] Búfer de caracteres anchos proporcionado por el llamador. Cuando el método vuelve, este búfer contiene el nombre de archivo del módulo.
pAssemblyId
[out] Puntero al identificador del ensamblado primario del módulo.
pdwModuleFlags
[out] Máscara de bits de valores de la enumeración COR_PRF_MODULE_FLAGS que especifican las propiedades del módulo.
Comentarios
En el caso de los módulos dinámicos, el parámetro szName
es el nombre de los metadatos del módulo, y la dirección base es 0 (cero). El nombre de los metadatos es el valor de la columna Name de la tabla Module dentro de los metadatos. Esto también se expone como la propiedad Module.ScopeName en el código administrado, y como el parámetro szName
del método IMetaDataImport::GetScopeProps en el código de cliente de metadatos no administrado.
Aunque se puede llamar al método GetModuleInfo2
tan pronto como el id. del módulo exista, el id. del ensamblado primario no estará disponible hasta que el generador de perfiles reciba la devolución de llamada ICorProfilerCallback::ModuleAttachedToAssembly.
Cuando GetModuleInfo2
vuelve, debe comprobar que el búfer szName
era lo suficientemente grande como para contener el nombre de archivo completo del módulo. Para ello, compare el valor al que pcchName
apunta con el valor del parámetro cchName
. Si pcchName
apunta un valor mayor que cchName
, asigne un búfer szName
mayor, actualice cchName
con el nuevo tamaño de mayores dimensiones y vuelva a llamar a GetModuleInfo2
.
También tiene la opción de llamar primero a GetModuleInfo2
con un búfer szName
de longitud de cero para obtener el tamaño de búfer correcto. Después, puede establecer el tamaño del búfer en el valor devuelto en pcchName
y volver a llamar a GetModuleInfo2
.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: disponible a partir de la versión 4