Загрузка всех импортов для библиотеки 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);
}