PsSetCreateThreadNotifyRoutineEx-Funktion (ntddk.h)

Die PsSetCreateThreadNotifyRoutineEx-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 PsSetCreateThreadNotifyRoutineEx(
  [in] PSCREATETHREADNOTIFYTYPE NotifyType,
  [in] PVOID                    NotifyInformation
);

Parameter

[in] NotifyType

Ein PSCREATETHREADNOTIFYTYPE-Wert , der den Typ der Threadbenachrichtigung angibt.

[in] NotifyInformation

Gibt die Adresse der Benachrichtigungsinformationen für den angegebenen Threadbenachrichtigungstyp an. Wenn NotifyTypepsCreateThreadNotifyNonSystem oder PsCreateThreadNotifySubsystems ist, sollte NotifyInformation ein Zeiger auf die Implementierung von PCREATE_THREAD_NOTIFY_ROUTINE des Treibers sein.

Rückgabewert

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

Hinweise

Treiber der obersten Ebene können PsSetCreateThreadNotifyRoutineEx aufrufen, um ihre Threaderstellungsroutinen einzurichten.

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.

Wenn NotifyTypepsCreateThreadNotifyNonSystem ist, unterscheidet sich die PsSetCreateThreadNotifyRoutineEx-Routine von PsSetCreateThreadNotifyRoutine in dem Kontext, in dem der Rückruf ausgeführt wird. Mit PsSetCreateThreadNotifyRoutine wird der Rückruf im Erstellerthread ausgeführt. Mit PsSetCreateThreadNotifyRoutineEx wird der Rückruf für den neu erstellten Thread ausgeführt.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Ab Windows 10 verfügbar.
Zielplattform Universell
Header ntddk.h (include Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Weitere Informationen

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine