共用方式為


ICorProfilerInfo::GetModuleInfo 方法

更新:2007 年 11 月

會接受模組 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

**程式庫:**CorGuids.lib

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

請參閱

參考

ICorProfilerInfo

其他資源

分析介面

分析 (Unmanaged API 參考)