次の方法で共有


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 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Ntddk.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

関連項目

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine する

PsSetLoadImageNotifyRoutine