Compartilhar via


ICorProfilerInfo3::GetModuleInfo2 Method

Dada uma ID do módulo, retorna o nome do arquivo do módulo, a ID do assembly pai do módulo e uma máscara de bits que descreve as propriedades do 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] A ID do módulo para o qual as informações serão recuperadas.

ppBaseLoadAddress [out] O endereço base no qual o módulo é carregado.

cchName [in] O comprimento, em caracteres, do szName buffer de retorno.

pcchName [out] Um ponteiro para o comprimento total do caractere do nome do arquivo do módulo que é retornado.

szName [out] Um buffer de caracteres largo fornecido pelo chamador. Quando o método é retornado, esse buffer contém o nome do arquivo do módulo.

pAssemblyId [out] Um ponteiro para a ID do assembly pai do módulo.

pdwModuleFlags [out] Uma máscara de bits de valores da enumeração COR_PRF_MODULE_FLAGS que especifica as propriedades do módulo.

Remarks

Para módulos dinâmicos, o szName parâmetro é o nome dos metadados do módulo e o endereço base é 0 (zero). O nome dos metadados é o valor na coluna Nome da tabela Módulo dentro de metadados. Isso também é exposto como a propriedade para o Module.ScopeName código gerenciado e como o szName parâmetro do método IMetaDataImport::GetScopeProps para código de cliente de metadados não gerenciados.

Embora o GetModuleInfo2 método possa ser chamado assim que a ID do módulo existir, a ID do assembly pai não estará disponível até que o criador de perfil receba o retorno de chamada ICorProfilerCallback::ModuleAttachedToAssembly .

Quando GetModuleInfo2 retorna, você deve verificar se o szName buffer era grande o suficiente para conter o nome completo do arquivo do módulo. Para fazer isso, compare o valor que pcchName aponta para o valor do cchName parâmetro. Se pcchName apontar para um valor maior que cchName, aloque um buffer maior szName , atualize cchName com o novo tamanho maior e chame GetModuleInfo2 novamente.

Como alternativa, você pode primeiro chamar GetModuleInfo2 com um buffer de comprimento szName zero para obter o tamanho correto do buffer. Em seguida, você pode definir o tamanho do buffer como o valor retornado pcchName e chamar GetModuleInfo2 novamente.

Requirements

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Library: CorGuids.lib

Versões do .NET Framework: Disponível desde 4

See also