PsSetCreateThreadNotifyRoutineEx 関数 (ntddk.h)
PsSetCreateThreadNotifyRoutineEx ルーチンは、新しいスレッドが作成され、そのようなスレッドが削除されたときに、その後通知されるドライバー指定のコールバックを登録します。
構文
NTSTATUS PsSetCreateThreadNotifyRoutineEx(
[in] PSCREATETHREADNOTIFYTYPE NotifyType,
[in] PVOID NotifyInformation
);
パラメーター
[in] NotifyType
スレッド通知の種類を示す PSCREATETHREADNOTIFYTYPE 値。
[in] NotifyInformation
指定した種類のスレッド通知の通知情報のアドレスを提供します。 NotifyType が PsCreateThreadNotifyNonSystem または PsCreateThreadNotifySubsystems の場合、NotifyInformation はドライバーの PCREATE_THREAD_NOTIFY_ROUTINE の実装へのポインターである必要があります。
戻り値
PsSetCreateThreadNotifyRoutineEx は、STATUS_SUCCESSを返すか、コールバック登録に失敗した場合はSTATUS_INSUFFICIENT_RESOURCESを返します。
注釈
最上位レベルのドライバーは 、PsSetCreateThreadNotifyRoutineEx を呼び出して、スレッド作成通知ルーチンを設定できます。
たとえば、IFS または最高レベルのシステム プロファイル ドライバーは、システム全体の作成とドライバーの内部状態に対するスレッドの削除を追跡するために、このようなスレッド作成コールバックを登録する場合があります。
NotifyType が PsCreateThreadNotifyNonSystem の場合、PsSetCreateThreadNotifyRoutineEx ルーチンは、コールバックが実行されるコンテキストで PsSetCreateThreadNotifyRoutine と異なります。 PsSetCreateThreadNotifyRoutine では、コールバックは作成者スレッドで実行されます。 PsSetCreateThreadNotifyRoutineEx では、新しく作成されたスレッドでコールバックが実行されます。
ドライバーは、アンロードする前に登録するコールバック関数を削除する必要があります。 コールバックを削除するには、 PsRemoveCreateThreadNotifyRoutine ルーチンを呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | ntddk.h (Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
こちらもご覧ください
PsRemoveCreateThreadNotifyRoutine
PsSetCreateProcessNotifyRoutine