共用方式為


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

如需有關這兩種方法的詳細資訊,請參閱由呼叫端配置的緩衝區

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**CorProf.idl、CorProf.h

**程式庫:**CorGuids.lib

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

請參閱

參考

ICorProfilerInfo 介面

其他資源

分析介面

分析 (Unmanaged API 參考)

ICorProfilerInfo3::GetModuleInfo2 方法