ICorDebugMetaDataLocator::GetMetaData 方法
要求偵錯工具傳回完整路徑到模組,其需要中繼資料以完成偵錯工具的要求。
語法
HRESULT GetMetaData(
[in] LPCWSTR wszImagePath,
[in] DWORD dwImageTimeStamp,
[in] DWORD dwImageSize,
[in] ULONG32 cchPathBuffer,
[out] ULONG32 * pcchPathBuffer,
[out, size_is(cchPathBuffer), length_is(*pcchPathBuffer)]
WCHAR wszPathBuffer[]
);
參數
wszImagePath
[in] 以 null 結束的字串,表示檔案的完整路徑。 如果無法使用完整路徑,則使用檔案名稱與副檔名 (檔案名稱.副檔名)。
dwImageTimeStamp
[in] 從映像的 PE 檔標頭的時間戳記。 此參數可能會用於符號伺服器 (SymSrv) 查閱。
dwImageSize
[in] 從 PE 檔標頭的映像大小。 此參數可能會用於 SymSrv 查閱。
cchPathBuffer
[in] 在 wszPathBuffer
中的字元計數。
pcchPathBuffer
[out] WCHAR
的計數,寫入 wszPathBuffer
。
如果此方法會傳回 E_NOT_SUFFICIENT_BUFFER,包含 WCHAR
的計數需要儲存路徑。
wszPathBuffer
[out] 偵錯工具會將包含要求的中繼資料檔案的完整路徑複製到其中的緩衝區指標。
來自 CorOpenFlags 列舉的 ofReadOnly
旗標會用來要求此檔案中繼資料的唯讀權限。
傳回值
這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。 所有其他失敗的 HRESULT 表示無法擷取檔案。
HRESULT | 描述 |
---|---|
S_OK | 已成功完成命令。 wszPathBuffer 包含檔案的完整路徑,而且是以 null 結束。 |
E_NOT_SUFFICIENT_BUFFER | 目前的大小 wszPathBuffer 不足以保存完整路徑。 在此情況下, pcchPathBuffer 包含所需的 WCHAR 計數,包括結束的 null 字元且 GetMetaData 被稱為第二次的要求緩衝區大小。 |
備註
如果 wszImagePath
包含來自傾印的模組完整路徑,它會指定從收集傾印所在之電腦的路徑。 檔案可能不存在這個位置,或具有相同名稱的不正確檔案可能儲存在路徑上。
規格需求
平台:請參閱系統需求。
標頭:CorDebug.idl、CorDebug.h
程式庫:CorGuids.lib
.NET Framework版本:自 4 起可用
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應