共用方式為


載入延遲載入 DLL 的所有匯入

在 delayhlp.cpp 中定義的 __HrLoadAllImportsForDll 函式會告訴連結器從以 /delayload 連結器選項指定的 DLL 載入所有匯入。

載入所有匯入允許您將錯誤處理置於您程式碼中的一個地方,而不需要在實際呼叫匯入的附近使用例外狀況處理 (Exception Handling)。 它也避免了因為 Helper 程式碼載入匯入失敗,而造成應用程式在執行過程中部分失敗的情況。

呼叫 __HrLoadAllImportsForDll 並不會改變攔截 (Hook) 的行為和錯誤處理;如需詳細資訊,請參閱錯誤處理和告知

傳遞給 __HrLoadAllImportsForDll 的 DLL 名稱會與 DLL 本身內部儲存的名稱進行比較,並且區分大小寫。

下列範例顯示如何呼叫 __HrLoadAllImportsForDll

if (FAILED(__HrLoadAllImportsForDll("delay1.dll"))) {
   printf ( "failed on snap load, exiting\n" );
   exit(2);
}

請參閱

概念

延遲載入 DLL 的連結器支援