次の方法で共有


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は、オペレーティング システムのネイティブ アーキテクチャとは異なるアーキテクチャを持つイメージを含め、実行可能な可能性があるすべてのイメージに対してコールバック ルーチンを呼び出す必要があることを示します。

戻り値

リターン コード 形容
STATUS_SUCCESS
コールバックが正常に登録されました。
STATUS_INVALID_PARAMETER_2
Flagsで無効なフラグが指定されました。
STATUS_INSUFFICIENT_RESOURCES
リソースがないため、ルーチンはコールバック ブロックを割り当てませんでした。

備考

最上位レベルのシステム プロファイル ドライバーは、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