Condividi tramite


Funzione PsSetCreateProcessNotifyRoutine (ntddk.h)

La routine PsSetCreateProcessNotifyRoutine aggiunge una routine di callback fornita dal driver 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 di creazione del processo 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
Il NotifyRoutine specificato è ora registrato con il sistema.
STATUS_INVALID_PARAMETER
Il NotifyRoutine specificato è già stato registrato, quindi questa chiamata è una chiamata ridondante o il sistema ha raggiunto il limite per la registrazione dei callback di creazione del processo.

Osservazioni

I driver di livello più elevato possono chiamare PsSetCreateProcessNotifyRoutine per configurare le routine di notifica di creazione del processo implementate come PCREATE_PROCESS_NOTIFY_ROUTINE.

Un driver di profilatura del sistema IFS o di livello più elevato potrebbe registrare un callback di creazione di processi 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 aver registrato una routine fornita dal driver, viene chiamata con Create impostato su TRUE subito dopo la creazione del thread iniziale all'interno del processo appena creato designato dall'handle di input ProcessId. L'input ParentId handle identifica il processo padre del processo appena creato( questo è l'elemento padre usato per priorità, affinità, quota, token e gestire l'ereditarietà, tra le altre).

Fabbisogno

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 HwStorPortProhibitedDDIs(storport), IrqlPsPassive(wdm), PowerIrpDDis(wdm)

Vedere anche

PCREATE_PROCESS_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsSetCreateProcessNotifyRoutineEx

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine