共用方式為


ICLRDebuggingLibraryProvider::ProvideLibrary 方法

取得程式庫提供者回撥介面,以便視需要尋找並載入通用語言執行平台 (CLR) 特定版本的偵錯程式庫。

語法

HRESULT ProvideLibrary(
     [in] const WCHAR* pwszFileName,
     [in] DWORD dwTimestamp,
     [in] DWORD dwSizeOfImage,
     [out] HMODULE* hModule);

參數

pwszFilename
[輸入] 所要求的模組名稱。

dwTimestamp
[輸入] 儲存在 PE 檔案的 COFF 檔案標頭中的日期時間戳記。

dwSizeOfImage
[輸入] 儲存在 PE 檔案的 COFF 選用檔案標頭的 SizeOfImage 欄位。

hModule
[輸出] 所要求模組的控制代碼。

傳回值

這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。

HRESULT 描述
S_OK 已成功完成命令。

例外

備註

ProvideLibrary 可讓偵錯工具提供偵錯特定 CLR 檔案所需的模組,例如 mscordbi.dll 與 mscordacwks.dll。 模組控制代碼必須維持有效狀態,直到 ICLRDebugging::CanUnloadNow 方法的呼叫指出其可能已釋放,此時呼叫者必須負責釋放控制代碼。

偵錯工具可利用任何可用方法來尋找或採購偵錯模組。

重要

這項功能可讓 API 呼叫端提供包含可執行檔與可能為惡意程式碼的模組。 作為安全預防措施,呼叫端不得使用 ProvideLibrary 來散發其不願意自行執行的任何程式碼。

如果在已發行的程式庫中發現嚴重的安全性問題,例如 mscordbi.dll 或 mscordacwks.dll,則可修補填充碼,以識別檔案的不良版本。 然後,填充碼可對檔案的修補版本發出要求,並在不良版本因回應任何要求而提供時,拒絕不良版本。 只有在使用者已修補為新版填充碼時,才會發生此情況。 未修補的版本仍然易受攻擊。

規格需求

平台:請參閱系統需求

標頭:CorDebug.idl、CorDebug.h

程式庫:CorGuids.lib

.NET Framework版本:自 4 起可用

另請參閱