Функция 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 HwStorPortProhibitedDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

См. также раздел

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetLoadImageNotifyRoutine