Поделиться через


Функция 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 (include Ntddk.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

См. также

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetLoadImageNotifyRoutine