Поделиться через


Загрузка всех импортов для библиотеки DLL с отложенной загрузкой

Функция __HrLoadAllImportsForDll, определенная в файле delayhlp.cpp, дает компоновщику указание загрузить все импорты из библиотеки DLL, указанной в параметре компоновщика /delayload.

Загрузка всех импортов позволяет свести обработку ошибок в коде воедино и не использовать обработку исключений вокруг фактических вызовов импортов. Это также позволяет избежать ситуации, в которой происходит частичный сбой приложения в процессе вследствие того, что вспомогательной функции не удается выполнить загрузку импорта.

Вызов функции __HrLoadAllImportsForDll не изменяет поведение функций-обработчиков и обработки ошибок; дополнительные сведения см. в разделе Обработка ошибок и уведомления.

Имя библиотеки DLL переданное __HrLoadAllImportsForDll сравнивается с именем, хранящиеся внутри самой библиотеке DLL и чувствительно к регистру.

В следующем примере показан способ вызова __HrLoadAllImportsForDll:

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

См. также

Основные понятия

Поддержка компоновщика для DLLs, загружаемых с задержкой