次の方法で共有


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