Funzione PsSetCreateThreadNotifyRoutineEx (ntddk.h)
La routine PsSetCreateThreadNotifyRoutineEx registra un callback fornito dal driver che viene successivamente informato 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 oppure restituisce STATUS_INSUFFICIENT_RESOURCES se la registrazione del callback non è riuscita.
Osservazioni
I driver di livello più alto possono chiamare PsSetCreateThreadNotifyRoutineEx per configurare le routine di notifica di creazione del 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 è diversa da PsSetCreateThreadNotifyRoutine nel contesto in cui viene eseguito il callback. Con PsSetCreateThreadNotifyRoutine, il callback viene eseguito nel thread creator. Con PsSetCreateThreadNotifyRoutineEx, il callback viene eseguito nel thread appena creato.
Un driver deve rimuovere qualsiasi funzione di callback che registra prima di scaricare. È possibile rimuovere il callback chiamando la routine PsRemoveCreateThreadNotifyRoutine.
Fabbisogno
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 |
Vedere anche
PsRemoveCreateThreadNotifyRoutine
PsSetCreateProcessNotifyRoutine