次の方法で共有


PsSetCreateThreadNotifyRoutine 関数 (ntddk.h)

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

構文

NTSTATUS PsSetCreateThreadNotifyRoutine(
  [in] PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);

パラメーター

[in] NotifyRoutine

PCREATE_THREAD_NOTIFY_ROUTINE ルーチンのドライバーの実装へのポインター。

戻り値

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

備考

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

VOID
(*PCREATE_THREAD_NOTIFY_ROUTINE) (
    IN HANDLE  ProcessId,
    IN HANDLE  ThreadId,
    IN BOOLEAN  Create
    );

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

ドライバーは、アンロードする前に登録されているコールバックを削除する必要があります。 PsRemoveCreateThreadNotifyRoutine ルーチンを呼び出すことによって、コールバックを削除できます。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー ntddk.h (Ntddk.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する HwStorPortProhibitedDDDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

関連項目

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetLoadImageNotifyRoutine