加载被延迟加载的 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);
}

请参见

概念

链接器的延迟加载 DLL 支持