Freigeben über


PsSetCreateThreadNotifyRoutine-Funktion (ntddk.h)

Die PsSetCreateThreadNotifyRoutine-Routine registriert einen vom Treiber bereitgestellten Rückruf, der anschließend benachrichtigt wird, wenn ein neuer Thread erstellt und ein solcher Thread gelöscht wird.

Syntax

NTSTATUS PsSetCreateThreadNotifyRoutine(
  [in] PCREATE_THREAD_NOTIFY_ROUTINE NotifyRoutine
);

Parameter

[in] NotifyRoutine

Ein Zeiger auf die Implementierung PCREATE_THREAD_NOTIFY_ROUTINE Routine durch den Treiber.

Rückgabewert

PsSetCreateThreadNotifyRoutine gibt entweder STATUS_SUCCESS oder STATUS_INSUFFICIENT_RESOURCES zurück, wenn die Rückrufregistrierung fehlgeschlagen ist.

Hinweise

Treiber der obersten Ebene können PsSetCreateThreadNotifyRoutine aufrufen, um ihre Benachrichtigungsroutinen für die Threaderstellung einzurichten, die wie folgt deklariert werden:

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

Beispielsweise kann ein IFS- oder Systemprofiltreiber der obersten Ebene einen solchen Threaderstellungsrückruf registrieren, um die systemweite Erstellung und Löschung von Threads anhand des internen Zustands des Treibers nachzuverfolgen.

Ein Treiber muss alle Rückrufe entfernen, die er registriert, bevor er entladen wird. Sie können den Rückruf entfernen, indem Sie die PsRemoveCreateThreadNotifyRoutine-Routine aufrufen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

Weitere Informationen

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetLoadImageNotifyRoutine