Compartir por


ICorProfilerInfo3::GetModuleInfo2 Method

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.

Syntax

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);

Parameters

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 szName búfer de retorno.

pcchName [out] Puntero a la longitud total de caracteres del nombre de archivo del módulo que se devuelve.

szName [out] Un búfer de caracteres anchos proporcionado por el autor de la llamada. Cuando el método devuelve, 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 especifica las propiedades del módulo.

Remarks

Para los módulos dinámicos, el szName parámetro es el nombre de metadatos del módulo y la dirección base es 0 (cero). El nombre de los metadatos es el valor de la columna Nombre de la tabla Module dentro de los metadatos. Esto también se expone como la Module.ScopeName propiedad al código administrado y como parámetro szName del método IMetaDataImport::GetScopeProps al código de cliente de metadatos no administrados.

Aunque se puede llamar al GetModuleInfo2 método tan pronto como exista el identificador del módulo, el identificador del ensamblado primario no estará disponible hasta que el generador de perfiles reciba la devolución de llamada ICorProfilerCallback::ModuleAttachedToAssembly .

Cuando GetModuleInfo2 se devuelve, debe comprobar que el szName búfer 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 cchName parámetro . Si pcchName apunta a un valor mayor cchNameque , asigne un búfer mayor szName , actualice cchName con el nuevo tamaño, mayor y vuelva a llamar a GetModuleInfo2 .

Como alternativa, puede llamar GetModuleInfo2 primero con un búfer de longitud szName cero para obtener el tamaño correcto del búfer. A continuación, puede establecer el tamaño del búfer en el valor devuelto en pcchName y volver a llamar a GetModuleInfo2 .

Requirements

Plataformas: Vea Requisitos de sistema.

Encabezado: CorProf.idl, CorProf.h

Library: CorGuids.lib

Versiones de .NET Framework: Disponible desde 4

See also