次の方法で共有


PLOAD_IMAGE_NOTIFY_ROUTINE コールバック関数 (ntddk.h)

ドライバー イメージまたはユーザー イメージ (DLL や EXE など) が仮想メモリにマップされたときにドライバーに通知するために、オペレーティング システムによって呼び出されます。 オペレーティング システムは、イメージがメモリにマップされた後、エントリ ポイントが呼び出される前に、このルーチンを呼び出します。

警告

このルーチンで実行できるアクションは、安全な呼び出しに対して制限されます。 ベスト プラクティス 参照してください。

構文

PLOAD_IMAGE_NOTIFY_ROUTINE PloadImageNotifyRoutine;

void PloadImageNotifyRoutine(
  [in, optional] PUNICODE_STRING FullImageName,
  [in]           HANDLE ProcessId,
  [in]           PIMAGE_INFO ImageInfo
)
{...}

パラメーター

[in, optional] FullImageName

実行可能イメージ ファイルを識別するバッファー内の Unicode 文字列へのポインター。 (FullImageName パラメーターは、オペレーティング システムがプロセス作成時にイメージの完全な名前を取得できない場合は、NULL できます)。

[in] ProcessId

イメージがマップされているプロセスのプロセス ID ですが、新しく読み込まれたイメージがドライバーの場合、このハンドルは 0 です。

[in] ImageInfo

画像情報を含む IMAGE_INFO 構造体へのポインター。 「解説」を参照してください。

戻り値

何一つ

備考

最上位レベルのシステム プロファイル ドライバーは、psSetLoadImageNotifyRoutine を呼び出して、読み込みイメージ通知ルーチンを設定できます。

SEC_IMAGE_NO_EXECUTE属性で作成されたセクションが仮想メモリにマップされている場合、オペレーティング システムはロード イメージ通知ルーチンを呼び出しません。

Windows 7、Windows Server 2008 R2、および以前のバージョンの Windows では、オペレーティング システムは、ユーザー プロセス アドレス空間 (ユーザー空間) に読み込まれたイメージのイメージの読み込みイメージ通知ルーチンの呼び出し中に内部システム ロックを保持します。 デッドロックを回避するために、ロード イメージ通知ルーチンは、ユーザー空間仮想メモリに対してマップ、割り当て、クエリ、解放、またはその他の操作を実行するシステム ルーチンを呼び出してはなりません。

ドライバーは、アンロードする前に登録されているコールバックを削除する必要があります。 PsRemoveLoadImageNotifyRoutine ルーチンを呼び出すことによって、コールバックを削除できます。

新しく作成されたプロセスのメイン実行可能イメージが読み込まれると、読み込みイメージ通知ルーチンは新しいプロセスのコンテキストで実行されます。 オペレーティング システムは、ドライバーの読み込みイメージ通知ルーチンを呼び出します 通常のカーネルの APCs 常に無効になっている重要な領域内のPASSIVE_LEVEL、カーネルと特殊な APCs の両方が無効になっている場合があります。

イメージ読み込み通知ルーチンが呼び出されると、FullImageName 入力は、実行可能イメージ ファイルを識別するバッファー内の Unicode 文字列を指します。 (FullImageName パラメーターは、オペレーティング システムがプロセス作成時にイメージの完全な名前を取得できない場合は、NULL できます)。ProcessId ハンドルは、イメージがマップされているプロセスを識別しますが、新しく読み込まれたイメージがドライバーの場合、このハンドルは 0 になります。 ImageInfo でバッファーされたデータの形式表示するには、IMAGE_INFOを参照してください。 ExtendedInfoPresent フラグが IMAGE_INFO 構造体に設定されている場合、情報は、IMAGE_INFO_EXイメージ情報構造の拡張バージョンの一部になります。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Ntddk.h を含む)
IRQL PASSIVE_LEVEL

関連項目

IMAGE_INFO

IMAGE_INFO_EX

PsSetLoadImageNotifyRoutine