Compartilhar via


Método ICorProfilerInfo::GetModuleInfo

Aceita uma ID de módulo. Retorna o nome de arquivo do módulo e a ID do pai do módulo assembly.

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 os quais informações serão recuperadas.

  • ppBaseLoadAddress
    [out] O endereço básico em que o módulo é carregado.

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

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

  • szName
    [out] Um buffer de caractere largo fornecidos pelo chamador. Quando a função retorna, ele conterá o nome de arquivo do módulo.

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

Comentários

Para módulos dinâmicos, a szName parâmetro será uma seqüência vazia e o endereço básico será 0 (zero).

Embora o GetModuleInfo método pode ser chamado assim que a ID do módulo existe, a identificação do conjunto pai não estará disponível até que receba o criador de perfil a ICorProfilerCallback::ModuleAttachedToAssemblyretorno de chamada .

Depois de GetModuleInfo Retorna, você deve verificar que o szName buffer era grande o suficiente para conter o nome completo do arquivo do módulo. Para fazer isso, comparar o valor que pcchName aponta para com o valor das cchName parâmetro. If pcchName aponta para um valor que seja maior que cchName, alocar uma maior szName buffer, atualização cchName com a novo e maior dimensionar e telefonar GetModuleInfo novamente.

Como alternativa, você pode primeiro telefonar GetModuleInfo com um comprimento zero szName buffer para obter o dimensionar do buffer correto. Você pode então conjunto o dimensionar do buffer para o valor retornado em pcchName e chame GetModuleInfo novamente.

Para obter mais informações sobre essas duas abordagens, consulte Buffers alocados chamador.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: CorProf.idl

Biblioteca: CorGuids.lib

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface ICorProfilerInfo

Outros recursos

Interfaces de criação de perfil

Criação de perfil (referência de API não gerenciada)