錯誤攔截

錯誤攔截以和告知攔截相同的方式啟用。攔截常式需要傳回適當的值才能繼續處理 (HINSTANCE 或是 FARPROC),或是傳回 0 以表示應擲回例外狀況。

參考使用者定義函式的指標變數為:

// This is the failure hook, dliNotify = {dliFailLoadLib|dliFailGetProc}
ExternC
PfnDliHook   __pfnDliFailureHook2;

DelayLoadInfo 結構包含正確報告錯誤所需的所有相關資料,包括來自 GetLastError 的值。

如果告知是 dliFailLoadLib,攔截函式可傳回:

  • 無法處理錯誤時傳回 0

  • 如果錯誤攔截已修復問題,並自行載入程式庫則為 HMODULE

如果告知是 dliFailGetProc,攔截函式可傳回:

  • 無法處理錯誤時傳回 0

  • 如果錯誤攔截成功地取得位址則為有效程序位址 (匯入函式位址)

請參閱

概念

錯誤處理和告知