次の方法で共有


エラー フック

エラー フックは、通知フックと同じ方法で有効にします。フック ルーチンでは、処理を継続するための値 (HINSTANCE または FARPROC) を返すか、例外のスローを指示する 0 を返す必要があります。

ユーザー定義関数を参照するポインター変数は、次のとおりです。

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

DelayLoadInfo 構造体の内容は、GetLastError からの値など、エラーを正確に報告するために必要なすべての関連データです。

通知が dliFailLoadLib である場合、フック関数では以下の値が返されます。

  • 0。エラーを処理できない場合に返されます。

  • HMODULE。エラー フックで問題が修復され、ライブラリが読み込まれた場合に返されます。

通知が dliFailGetProc である場合、フック関数では以下の値が返されます。

  • 0。エラーを処理できない場合に返されます。

  • 有効なプロシージャ アドレス (インポート関数アドレス)。エラー フックでアドレスを取得できた場合に返されます。

参照

概念

エラー処理と通知