加载被延迟加载的 DLL 的所有导入
delayhlp.cpp 中定义的 __HrLoadAllImportsForDll 函数通知链接器加载用 /delayload 链接器选项指定的 DLL 中的所有导入。
加载所有导入使您能够将错误处理置于代码中的一个地方,而无需在对导入的实际调用周围使用异常处理。 它还避免了因 Helper 代码加载导入失败而导致应用程序的一部分在进程中失败。
调用 __HrLoadAllImportsForDll 不会更改挂钩和错误处理的行为;有关更多信息,请参见错误处理和通知。
通过 __HrLoadAllImportsForDll 的 DLL 名称与 DLL 自身内存储的名称进行比较,区分大小写。
下面的示例显示如何调用 __HrLoadAllImportsForDll:
if (FAILED(__HrLoadAllImportsForDll("delay1.dll"))) {
printf ( "failed on snap load, exiting\n" );
exit(2);
}