PsSetLoadImageNotifyRoutineEx 関数 (ntddk.h)
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 |
対象プラットフォーム | Windows |
ヘッダー | ntddk.h |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe (カーネル モード) |
IRQL | PASSIVE_LEVEL |