PsSetLoadImageNotifyRoutineEx ルーチンは、イメージ (DLL や EXE など) が読み込まれる (またはメモリにマップされる) たびに、ドライバーが指定したコールバックを登録します。
構文
NTSTATUS PsSetLoadImageNotifyRoutineEx(
[in] PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine,
[in] ULONG_PTR Flags
);
パラメーター
[in] NotifyRoutine
読み込みイメージ通知の呼び出し元によって実装された PLOAD_IMAGE_NOTIFY_ROUTINE コールバック ルーチンへのポインター。
[in] Flags
コールバック関数を制御するフラグのビットマスクを提供します。 使用可能な値を次に示します。
- PS_IMAGE_NOTIFY_CONFLICTING_ARCHITECTUREは、オペレーティング システムのネイティブ アーキテクチャとは異なるアーキテクチャを持つイメージを含め、実行可能な可能性があるすべてのイメージに対してコールバック ルーチンを呼び出す必要があることを示します。
戻り値
リターン コード | 形容 |
---|---|
|
コールバックが正常に登録されました。 |
|
Flagsで無効なフラグが指定されました。 |
|
リソースがないため、ルーチンはコールバック ブロックを割り当てませんでした。 |
備考
最上位レベルのシステム プロファイル ドライバーは、psSetLoadImageNotifyRoutineEx を呼び出して、読み込みイメージ通知ルーチンを設定できます (PLOAD_IMAGE_NOTIFY_ROUTINEを参照)。
読み込みイメージ通知を受信するために同時に登録できるドライバーの最大数は 64 です。 ドライバーが PsSetLoadImageNotifyRoutineEx を呼び出 して追加の通知ルーチンを登録しようとしたときに、読み込みイメージ通知ルーチンの最大数が既に登録されている場合、psSetLoadImageNotifyRoutineEx は失敗し、STATUS_INSUFFICIENT_RESOURCESを返します。
ドライバーは、アンロードする前に登録されているコールバックを削除する必要があります。 PsRemoveLoadImageNotifyRoutine ルーチンを呼び出すことによって、コールバックを削除できます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 10 バージョン 1709 |
サポートされる最小サーバー | Windows Server 2016 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | ntddk.h |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe (カーネル モード) |
IRQL | PASSIVE_LEVEL |