Compartilhar via


Método de ICorProfilerInfo::GetModuleInfo

Dada uma identificação de módulo, retorna o nome do arquivo do módulo e a identificação do assembly do pai do módulo.

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 base no qual o módulo é carregado.

  • cchName
    [in] O comprimento, em caracteres, da szName retornar buffer.

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

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

  • pAssemblyId
    [out] Um ponteiro para a identificação do assembly do pai do módulo.

Comentários

Para módulos dinâmicos, o szName parâmetro é uma seqüência vazia e o endereço base é 0 (zero).

Embora o GetModuleInfo método pode ser chamado assim que a de identificação do módulo existe, a identificação do assembly pai não estarão disponível até que o profiler recebe o ICorProfilerCallback::ModuleAttachedToAssembly retorno de chamada.

Quando GetModuleInfo retorna, você deve verificar se a 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 com o valor de cchName parâmetro. Se pcchName aponta para um valor maior que cchName, alocar uma maior szName buffer, a atualização cchName com o novo tamanho maior e a chamada GetModuleInfo novamente.

Como alternativa, você pode primeiro chamar GetModuleInfo com um comprimento zero szName o buffer para obter o tamanho de buffer correto. Além disso, você pode então definir o tamanho do buffer para o valor retornado em pcchName e chame GetModuleInfo novamente.

Para obter mais informações sobre essas duas abordagens, consulte Buffers de Caller-Allocated.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: Corprof. idl, CorProf.h

Biblioteca: CorGuids.lib

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface de ICorProfilerInfo

Outros recursos

Interfaces de criação de perfil

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

Método de ICorProfilerInfo3::GetModuleInfo2