失败挂钩

失败挂钩和通知挂钩的启用方式相同。 挂钩例程需返回一个合适的值,以便处理能继续进行(HINSTANCE 或 FARPROC),或返回 0 指示将引发异常。

引用用户定义函数的指针变量为:

// This is the failure hook, dliNotify = {dliFailLoadLib|dliFailGetProc}
ExternC
PfnDliHook   __pfnDliFailureHook2;

DelayLoadInfo 结构包含准确报告错误所需的所有相关数据,包括来自 GetLastError 的值。

如果通知是 dliFailLoadLib,挂钩函数可以返回:

  • 0,如果它不能处理失败。

  • HMODULE,如果失败挂钩修复了问题并且自己加载了库。

如果通知是 dliFailGetProc,挂钩函数可以返回:

  • 0,如果它不能处理失败。

  • 一个有效的进程地址(导入函数地址),如果失败挂钩自已成功地获取了地址。

请参见

概念

错误处理和通知