Compartir a través de


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

Consulte también