次の方法で共有


PsSetCreateProcessNotifyRoutineEx2 関数 (ntddk.h)

PsSetCreateProcessNotifyRoutineEx2 ルーチンは、プロセスの作成または削除時に呼び出し元に通知するコールバック ルーチンを登録または削除します。

構文

NTSTATUS PsSetCreateProcessNotifyRoutineEx2(
  [in] PSCREATEPROCESSNOTIFYTYPE NotifyType,
  [in] PVOID                     NotifyInformation,
  [in] BOOLEAN                   Remove
);

パラメーター

[in] NotifyType

プロセス通知の種類を示す PSCREATEPROCESSNOTIFYTYPE 型の値。

[in] NotifyInformation

指定した種類のプロセス通知の通知情報のアドレス。 NotifyTypePsCreateProcessNotifySubsystems の場合、NotifyInformation は、呼び出し元が指定したプロセス作成コールバックのエントリ ポイントを指定するPCREATE_PROCESS_NOTIFY_ROUTINE_EXです。

[in] Remove

PsSetCreateProcessNotifyRoutineEx2 がコールバック ルーチンの一覧で指定したルーチンを追加または削除するかどうかを指定するブール値。 このパラメーターが TRUE の場合、指定されたルーチンはコールバック ルーチンの一覧から削除されます。 このパラメーターが FALSE の場合、指定したルーチンがコールバック ルーチンの一覧に追加されます。 RemoveTRUE の場合、システムは、すべてのインフライト コールバック ルーチンが完了するまで待機してから、 を返します。

戻り値

PsSetCreateProcessNotifyRoutineEx2 は、次のいずれかの NTSTATUS 値を返します。

リターン コード 説明
STATUS_SUCCESS
指定されたルーチンがオペレーティング システムに登録されました。 オペレーティング システムは、新しいプロセスが作成されるたびにこのルーチンを呼び出します。
STATUS_INVALID_PARAMETER
指定されたルーチンが既に登録されているか、オペレーティング システムがプロセス作成コールバック ルーチンを登録するための制限に達しました。

NotifyTypePsCreateProcessNotifySubsystems ではありません。

STATUS_ACCESS_DENIED
コールバック ルーチン ポインターを含むイメージには、イメージ ヘッダーにIMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITYが設定されていませんでした。

注釈

ドライバーは 、PsSetCreateProcessNotifyRoutineEx2 を呼び出して、プロセス作成通知ルーチンを登録できます。

ドライバー指定のルーチンが登録されると、作成または削除されたプロセスの一意の ID ( ProcessId で示されます) を使用して呼び出されます。 ParentId は、継承ハンドル オプションを使用して作成された場合に、新しいプロセスの親プロセス (優先順位、アフィニティ、クォータ、トークン、ハンドル継承に使用される親) を識別します。 継承ハンドル オプションなしで作成された場合、親プロセス ID は NULL になります。

Create 値が TRUE の場合、サブシステム プロセスが作成されました。FALSE は、プロセスが削除されたことを示します。

プロセスが作成されると、プロセスの最初のスレッドが作成された直後にコールバック関数が呼び出されます。 逆に、削除の場合、プロセスの最後のスレッドが終了し、アドレス空間が削除されようとした後に関数が呼び出されます。 スレッドが作成されずにプロセスが作成および削除された場合に、作成呼び出しを受け取ることなく、コールバックが削除のためにのみ呼び出される可能性があります。

ドライバーは、アンロードする前に登録するコールバック関数を削除する必要があります。 コールバックを削除するには、RemoveTRUE を指定して PsSetCreateProcessNotifyRoutineEx2 = 呼び出します。

要件

要件
サポートされている最小のクライアント Windows 10 Version 1703
サポートされている最小のサーバー Windows Server 2016
対象プラットフォーム ユニバーサル
Header ntddk.h (Ntddk.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDIs、PowerIrpDDis

こちらもご覧ください

PCREATE_PROCESS_NOTIFY_ROUTINE_EX

PsSetCreateProcessNotifyRoutine

PsSetCreateProcessNotifyRoutineEx