Funzione PsSetCreateProcessNotifyRoutine (ntddk.h)

La routine PsSetCreateProcessNotifyRoutine aggiunge una routine di callback fornita dal driver a o la rimuove da, un elenco di routine da chiamare ogni volta che viene creato o eliminato un processo.

Sintassi

NTSTATUS PsSetCreateProcessNotifyRoutine(
  [in] PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
  [in] BOOLEAN                        Remove
);

Parametri

[in] NotifyRoutine

Specifica il punto di ingresso di una routine di callback fornita dal chiamante. Vedere PCREATE_PROCESS_NOTIFY_ROUTINE.

[in] Remove

Indica se la routine specificata da NotifyRoutine deve essere aggiunta o rimossa dall'elenco di routine di notifica del sistema. Se FALSE, la routine specificata viene aggiunta all'elenco. Se TRUE, la routine specificata viene rimossa dall'elenco.

Valore restituito

PsSetCreateProcessNotifyRoutine può restituire uno dei seguenti elementi:

Codice restituito Descrizione
STATUS_SUCCESS
L'oggetto NotifyRoutine specificato è ora registrato con il sistema.
STATUS_INVALID_PARAMETER
L'oggetto NotifyRoutine specificato è già stato registrato, quindi questa chiamata è una chiamata ridondante oppure il sistema ha raggiunto il limite per la registrazione dei callback di creazione del processo.

Commenti

I driver di livello più alto possono chiamare PsSetCreateProcessNotifyRoutine per configurare le routine di notifica di creazione di processi implementate come PCREATE_PROCESS_NOTIFY_ROUTINE.

Un driver di profilatura di sistema o IFS o di livello più alto potrebbe registrare un callback di creazione del processo per tenere traccia della creazione e dell'eliminazione a livello di sistema dei processi rispetto allo stato interno del driver. Per Windows Vista e versioni successive di Windows, il sistema può registrare fino a 64 routine di callback per la creazione di processi.

Un driver deve rimuovere tutti i callback registrati prima di scaricarlo. È possibile rimuovere il callback chiamando PsSetCreateProcessNotify con Remove = TRUE. Un driver non deve effettuare questa chiamata dall'implementazione della routine di callback PCREATE_PROCESS_NOTIFY_ROUTINE .

Dopo la registrazione di una routine fornita dal driver, viene chiamato con Create impostato su TRUE subito dopo la creazione del thread iniziale all'interno del processo appena creato designato dall'handle ProcessId di input. L'handle ParentId di input identifica il processo padre del processo appena creato, ovvero l'elemento padre usato per priorità, affinità, quota, token e gestione dell'ereditarietà, tra gli altri.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

Vedi anche

PCREATE_PROCESS_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsSetCreateProcessNotifyRoutineEx

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine