Метод ICorProfilerInfo::GetModuleInfo
Возвращает имя файла модуля и идентификатор его родительской сборки для указанного идентификатора модуля.
Синтаксис
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);
Параметры
moduleId
[in] Идентификатор модуля, для которого будут извлекаться сведения.
ppBaseLoadAddress
[out] Базовый адрес, по которому модуль был загружен.
cchName
[in] Длина буфера возврата szName
в символах.
pcchName
[out] Указатель на общую длину возвращаемого имени файла модуля в символах.
szName
[out] Буфер расширенных символов, предоставленный вызывающим объектом. При возврате метода этот буфер содержит имя файла модуля.
pAssemblyId
[out] Указатель на идентификатор родительской сборки модуля.
Комментарии
Для динамических модулей параметр szName
является пустой строкой, а базовый адрес равен 0 (нулю).
GetModuleInfo
Хотя метод может вызываться сразу после появления идентификатора модуля, идентификатор родительской сборки будет недоступен, пока профилировщик не получит обратный вызов ICorProfilerCallback::ModuleAttachedToAssembly.
После возврата метода GetModuleInfo
необходимо убедиться, что буфер szName
был достаточно велик, чтобы вместить в себя полное имя файла модуля. Для этого сравните значение, на которое указывает параметр pcchName
, со значением параметра cchName
. Если параметр pcchName
указывает на значение, превышающее значение cchName
, выделите буфер szName
большего размера, обновите параметр cchName
, задав новый, больший размер, и вызовите метод GetModuleInfo
снова.
Кроме того, сначала можно вызвать метод GetModuleInfo
с буфером szName
нулевой длины для получения правильного размера буфера. Затем можно задать размер буфера равным значению, возвращенному в параметре pcchName
, и вызвать метод GetModuleInfo
снова.
Требования
Платформы: см. раздел Требования к системе.
Заголовок: CorProf.idl, CorProf.h
Библиотека: CorGuids.lib
версии платформа .NET Framework: доступно с версии 2.0