Partilhar via


ICorProfilerInfo3::GetModuleInfo2 Method

Dado um ID de módulo, retorna o nome do arquivo do módulo, o 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 [em] A ID do módulo para o qual as informações serão recuperadas.

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

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

pcchName [saídas] Um ponteiro para o comprimento total de caracteres do nome de arquivo do módulo que é retornado.

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

pAssemblyId [saídas] Um ponteiro para a ID do assembly pai do módulo.

pdwModuleFlags [saídas] Uma máscara de bits de valores da enumeração COR_PRF_MODULE_FLAGS que especificam 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 dos metadados. Isso também é exposto como a Module.ScopeName propriedade para 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 de arquivo completo do módulo. Para fazer isso, compare o valor que pcchName aponta com 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 para o valor retornado e pcchName chamar GetModuleInfo2 novamente.

Requirements

Plataformas: Consulte Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Library: CorGuids.lib

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

See also