Condividi tramite


Funzione PsSetCreateThreadNotifyRoutineEx (ntddk.h)

La routine PsSetCreateThreadNotifyRoutineEx registra un callback fornito dal driver che viene successivamente notificato quando viene creato un nuovo thread e quando tale thread viene eliminato.

Sintassi

NTSTATUS PsSetCreateThreadNotifyRoutineEx(
  [in] PSCREATETHREADNOTIFYTYPE NotifyType,
  [in] PVOID                    NotifyInformation
);

Parametri

[in] NotifyType

Valore PSCREATETHREADNOTIFYTYPE che indica il tipo di notifica del thread.

[in] NotifyInformation

Fornisce l'indirizzo delle informazioni di notifica per il tipo specificato di notifica del thread. Se NotifyType è PsCreateThreadNotifyNonSystem o PsCreateThreadNotifySubsystems , NotifyInformation deve essere un puntatore all'implementazione del driver di PCREATE_THREAD_NOTIFY_ROUTINE.

Valore restituito

PsSetCreateThreadNotifyRoutineEx restituisce STATUS_SUCCESS o restituisce STATUS_INSUFFICIENT_RESOURCES se ha avuto esito negativo nella registrazione del callback.

Commenti

I driver di livello più alto possono chiamare PsSetCreateThreadNotifyRoutineEx per configurare le routine di notifica per la creazione di thread.

Ad esempio, un driver ifS o di profilatura di sistema di livello più alto potrebbe registrare un callback di creazione di thread per tenere traccia della creazione e dell'eliminazione a livello di sistema dei thread rispetto allo stato interno del driver.

Se NotifyType è PsCreateThreadNotifyNonSystem, la routine PsSetCreateThreadNotifyRoutineEx differisce da PsSetCreateThreadNotifyRoutine nel contesto in cui viene eseguito il callback. Con PsSetCreateThreadNotifyRoutine, il callback viene eseguito nel thread di creator. Con PsSetCreateThreadNotifyRoutineEx, il callback viene eseguito nel thread appena creato.

Un driver deve rimuovere qualsiasi funzione di callback registrata prima che venga scaricata. È possibile rimuovere il callback chiamando la routine PsRemoveCreateThreadNotifyRoutine .

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 10.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Vedi anche

PsGetCurrentProcessId

PsGetCurrentThreadId

PsIsSystemThread

PsRemoveCreateThreadNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine