Método ICorProfilerInfo3::GetModuleInfo2
Com um ID de módulo, devolve o nome de ficheiro do módulo, o ID da assemblagem principal do módulo e uma máscara de bits que descreve as propriedades do módulo.
Sintaxe
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);
Parâmetros
moduleId
[in] O ID do módulo para o qual as informações serão obtidas.
ppBaseLoadAddress
[fora] O endereço base no qual o módulo é carregado.
cchName
[in] O comprimento, em carateres, da szName
memória intermédia de retorno.
pcchName
[fora] Um ponteiro para o comprimento total do caráter do nome de ficheiro do módulo que é devolvido.
szName
[fora] Uma memória intermédia de carateres larga fornecida pelo autor da chamada. Quando o método é devolvido, esta memória intermédia contém o nome de ficheiro do módulo.
pAssemblyId
[fora] Um ponteiro para o ID da assemblagem principal do módulo.
pdwModuleFlags
[fora] Uma máscara de bits de valores da enumeração COR_PRF_MODULE_FLAGS que especifica as propriedades do módulo.
Observações
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. Isto também é exposto como a Module.ScopeName propriedade ao código gerido e como o szName
parâmetro do método IMetaDataImport::GetScopeProps para código de cliente de metadados não geridos.
Embora o GetModuleInfo2
método possa ser chamado assim que o ID do módulo existir, o ID da assemblagem principal não estará disponível até que o gerador de perfis receba a chamada de retorno ICorProfilerCallback::ModuleAttachedToAssembly .
Quando GetModuleInfo2
é devolvido, tem de verificar se a szName
memória intermédia era suficientemente grande para conter o nome de ficheiro completo do módulo. Para tal, compare o valor que pcchName
aponta com o valor do cchName
parâmetro . Se pcchName
apontar para um valor maior do cchName
que , aloque uma memória intermédia maior szName
, atualize cchName
com o novo tamanho maior e chame GetModuleInfo2
novamente.
Em alternativa, pode chamar GetModuleInfo2
primeiro com uma memória intermédia de comprimento szName
zero para obter o tamanho correto da memória intermédia. Em seguida, pode definir o tamanho da memória intermédia para o valor devolvido em pcchName
e chamar GetModuleInfo2
novamente.
Requisitos
Plataformas: Veja Requisitos de Sistema.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
.NET Framework Versões: Disponível desde 4