PsSetCreateProcessNotifyRoutineEx2 関数 (ntddk.h)
PsSetCreateProcessNotifyRoutineEx2 ルーチンは、プロセスの作成または削除時に呼び出し元に通知するコールバック ルーチンを登録または削除します。
構文
NTSTATUS PsSetCreateProcessNotifyRoutineEx2(
[in] PSCREATEPROCESSNOTIFYTYPE NotifyType,
[in] PVOID NotifyInformation,
[in] BOOLEAN Remove
);
パラメーター
[in] NotifyType
プロセス通知の種類を示す PSCREATEPROCESSNOTIFYTYPE 型の値。
[in] NotifyInformation
指定した種類のプロセス通知の通知情報のアドレス。 NotifyType が PsCreateProcessNotifySubsystems の場合、NotifyInformation は、呼び出し元が指定したプロセス作成コールバックのエントリ ポイントを指定するPCREATE_PROCESS_NOTIFY_ROUTINE_EXです。
[in] Remove
PsSetCreateProcessNotifyRoutineEx2 がコールバック ルーチンの一覧で指定したルーチンを追加または削除するかどうかを指定するブール値。 このパラメーターが TRUE の場合、指定されたルーチンはコールバック ルーチンの一覧から削除されます。 このパラメーターが FALSE の場合、指定したルーチンがコールバック ルーチンの一覧に追加されます。 Remove が TRUE の場合、システムは、すべてのインフライト コールバック ルーチンが完了するまで待機してから、 を返します。
戻り値
PsSetCreateProcessNotifyRoutineEx2 は、次のいずれかの NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
|
指定されたルーチンがオペレーティング システムに登録されました。 オペレーティング システムは、新しいプロセスが作成されるたびにこのルーチンを呼び出します。 |
|
指定されたルーチンが既に登録されているか、オペレーティング システムがプロセス作成コールバック ルーチンを登録するための制限に達しました。
NotifyType は PsCreateProcessNotifySubsystems ではありません。 |
|
コールバック ルーチン ポインターを含むイメージには、イメージ ヘッダーに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