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 起可用

另請參閱