ICorProfilerInfo::GetModuleInfo 方法
根據模組 ID,傳回模組的檔案名稱和模組的父組件 ID。
語法
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] 將被擷取資訊的模組 ID。
ppBaseLoadAddress
[out] 載入模組的基底位址。
cchName
[in] szName
傳回緩衝區的長度 (以字元為單位)。
pcchName
[out] 所傳回的模組檔案名稱之總字元長度的指標。
szName
[out] 呼叫端提供的寬字元緩衝區。 當方法傳回時,這個緩衝區會包含模組的檔案名稱。
pAssemblyId
[out] 模組父組件之 ID 的指標。
備註
若為動態模組,則 szName
參數為空字串,且基底位址為 0 (零)。
雖然只要有模組 ID 即可呼叫 GetModuleInfo
方法,但必須等到分析工具收到 ICorProfilerCallback::ModuleAttachedToAssembly 回呼,才有可用的父組件 ID。
當 GetModuleInfo
傳回時,您必須確認 szName
緩衝區的大小足以包含模組的完整檔案名稱。 若要這樣做,請比對 pcchName
指向的值和 cchName
參數。 如果 pcchName
指向大於 cchName
的值,請配置較大的 szName
緩衝區,並以較大的大小來更新 cchName
,然後再次呼叫 GetModuleInfo
。
或者,您也可以先使用長度為零的 szName
緩衝區來呼叫 GetModuleInfo
,以取得正確的緩衝區大小。 接著您就可以將緩衝區大小設定為 pcchName
中傳回的值,並再次呼叫 GetModuleInfo
。
規格需求
平台:請參閱系統需求。
標頭: CorProf.idl、CorProf.h
程式庫:CorGuids.lib
.NET Framework版本:自 2.0 起可用