PsSetCreateThreadNotifyRoutineEx 関数 (ntddk.h)

PsSetCreateThreadNotifyRoutineEx ルーチンは、新しいスレッドが作成され、そのようなスレッドが削除されたときに、その後通知されるドライバー指定のコールバックを登録します。

構文

NTSTATUS PsSetCreateThreadNotifyRoutineEx(
  [in] PSCREATETHREADNOTIFYTYPE NotifyType,
  [in] PVOID                    NotifyInformation
);

パラメーター

[in] NotifyType

スレッド通知の種類を示す PSCREATETHREADNOTIFYTYPE 値。

[in] NotifyInformation

指定した種類のスレッド通知の通知情報のアドレスを提供します。 NotifyTypePsCreateThreadNotifyNonSystem または PsCreateThreadNotifySubsystems の場合、NotifyInformation はドライバーの PCREATE_THREAD_NOTIFY_ROUTINE の実装へのポインターである必要があります。

戻り値

PsSetCreateThreadNotifyRoutineEx は、STATUS_SUCCESSを返すか、コールバック登録に失敗した場合はSTATUS_INSUFFICIENT_RESOURCESを返します。

注釈

最上位レベルのドライバーは 、PsSetCreateThreadNotifyRoutineEx を呼び出して、スレッド作成通知ルーチンを設定できます。

たとえば、IFS または最高レベルのシステム プロファイル ドライバーは、システム全体の作成とドライバーの内部状態に対するスレッドの削除を追跡するために、このようなスレッド作成コールバックを登録する場合があります。

NotifyTypePsCreateThreadNotifyNonSystem の場合、PsSetCreateThreadNotifyRoutineEx ルーチンは、コールバックが実行されるコンテキストで PsSetCreateThreadNotifyRoutine と異なります。 PsSetCreateThreadNotifyRoutine では、コールバックは作成者スレッドで実行されます。 PsSetCreateThreadNotifyRoutineEx では、新しく作成されたスレッドでコールバックが実行されます。

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

要件

要件
サポートされている最小のクライアント Windows 10 以降で使用できます。
対象プラットフォーム ユニバーサル
Header ntddk.h (Ntddk.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL

こちらもご覧ください

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine