SysInit.dliNotification
Delphi
dliNotification = (
dliStartProcessing, { used to bypass or note helper only }
dliNoteStartProcessing = dliStartProcessing,
dliNotePreLoadLibrary, { called just before LoadLibrary, can }
{ override w/ new HMODULE return val }
dliNotePreGetProcAddress, { called just before GetProcAddress, can }
{ override w/ new Proc address return }
{ value }
dliFailLoadLibrary, { failed to load library, fix it by }
{ returning a valid HMODULE }
dliFailGetProcAddress, { failed to get proc address, fix it by }
{ returning a valid Proc address }
dliNoteEndProcessing { called after all processing is done, }
{ no bypass possible at this point }
{ except by raise, or
RaiseException. }
);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
enum | public | SysInit.pas | SysInit | SysInit |
説明
遅延ロード フック プロシージャが呼び出される通知メッセージを列挙したものです。
dliNotification 型の変数には、遅延ロード フック プロシージャが呼び出されるメッセージが格納されます(SetDliNotifyHook2 または SetDliFailureHook2 のいずれか)。
登録されているフックが遅延ロード ヘルパで呼び出される場合を以下の表に一覧します。
'dliNotify' パラメータの値 | 説明 |
---|---|
dliNoteStartProcessing |
遅延ロード セッションが開始された際に、遅延ロード通知フックが送信されます。遅延ロードされる外部 プロシージャが含まれているライブラリが処理される前に呼び出されます。 ヘルパのバイパスまたは通知にのみ使用されます。 |
dliNotePreLoadLibrary |
LoadLibrary が呼び出される前に送信され、新しい HMODULE が返されます。遅延ロードされる外部プロシージャが含まれているライブラリがロードされる前に呼び出されます。 HMODULE 型の新しい戻り値でオーバーライドできます。 |
dliNotePreGetProcAddress |
GetProcAddress 前に送信され、新しいプロシージャ アドレスが必要に応じて返されます。遅延ロードされるプロシージャのアドレスが見つかる前に呼び出されます。 HMODULE 型の新しい戻り値でオーバーライドできます。 |
dliNoteEndProcessing |
遅延ロードの処理がすべて完了した際に、遅延ロード通知フックが送信されます。 raise または RaiseException 以外にはバイパスできません。 |
dliFailLoadLibrary |
LoadLibrary が失敗した際に、遅延ロード失敗フックを送信します。これにより、別の有効な HMODULE ハンドルを指定することができます。 |
dliFailGetProcAddress |
GetProcAddress が失敗した際に、遅延ロード失敗フックを送信します。これにより、プロシージャのアドレスを、有効なプロシージャのアドレスと置換できます。 |
関連項目