Método ICorProfilerInfo::GetModuleInfo

Considerando uma ID do módulo, retorna o nome do arquivo do módulo e a ID do assembly pai do módulo.

Sintaxe

HRESULT GetModuleInfo(  
    [in]  ModuleID   moduleId,  
    [out] LPCBYTE    *ppBaseLoadAddress,  
    [in]  ULONG      cchName,  
    [out] ULONG      *pcchName,  
    [out, size_is(cchName), length_is(*pcchName)]  
          WCHAR      szName[] ,  
    [out] AssemblyID *pAssemblyId);  

Parâmetros

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 buffer de retorno szName.

pcchName
[out] Um ponteiro para o comprimento total de caracteres do nome de arquivo que é retornado.

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

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

Comentários

Para módulos dinâmicos, o parâmetro szName é uma cadeia de caracteres vazia e o endereço base é 0 (zero).

Embora o método GetModuleInfo 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 o GetModuleInfo retornar, você precisa verificar se o buffer de szName era grande o suficiente para conter o nome completo do arquivo do módulo. Para fazer isso, compare o valor que aponta pcchName para o valor do parâmetro cchName. Se pcchName apontar para um valor maior que cchName, aloque um buffer szName maior, atualize cchName com o novo tamanho maior e chame GetModuleInfo novamente.

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

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 2.0

Confira também