エラー フック
エラー フックは、通知フックと同じ方法で有効にします。フック ルーチンでは、処理を継続するための値 (HINSTANCE または FARPROC) を返すか、例外のスローを指示する 0 を返す必要があります。
ユーザー定義関数を参照するポインター変数は、次のとおりです。
// This is the failure hook, dliNotify = {dliFailLoadLib|dliFailGetProc}
ExternC
PfnDliHook __pfnDliFailureHook2;
DelayLoadInfo 構造体の内容は、GetLastError からの値など、エラーを正確に報告するために必要なすべての関連データです。
通知が dliFailLoadLib である場合、フック関数では以下の値が返されます。
0。エラーを処理できない場合に返されます。
HMODULE。エラー フックで問題が修復され、ライブラリが読み込まれた場合に返されます。
通知が dliFailGetProc である場合、フック関数では以下の値が返されます。
0。エラーを処理できない場合に返されます。
有効なプロシージャ アドレス (インポート関数アドレス)。エラー フックでアドレスを取得できた場合に返されます。