Funzione PsSetCreateProcessNotifyRoutineEx (ntddk.h)
La routine PsSetCreateProcessNotifyRoutineEx registra o rimuove una routine di callback che notifica al chiamante quando viene creato o chiuso un processo.
Sintassi
NTSTATUS PsSetCreateProcessNotifyRoutineEx(
[in] PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine,
[in] BOOLEAN Remove
);
Parametri
[in] NotifyRoutine
Puntatore alla routine PCREATE_PROCESS_NOTIFY_ROUTINE_EX da registrare o rimuovere. Il sistema operativo chiama questa routine ogni volta che viene creato un nuovo processo.
[in] Remove
Valore booleano che specifica se PsSetCreateProcessNotifyRoutineEx aggiunge o rimuove una routine specificata dall'elenco di routine di callback. Se questo parametro è TRUE, la routine specificata viene rimossa dall'elenco delle routine di callback. Se questo parametro è FALSE, la routine specificata viene aggiunta all'elenco di routine di callback. Se Remove è TRUE, il sistema attende anche il completamento di tutte le routine di callback in corso prima della restituzione.
Valore restituito
PsSetCreateProcessNotifyRoutineEx restituisce uno dei valori NTSTATUS seguenti:
Codice restituito | Descrizione |
---|---|
|
La routine specificata è ora registrata con il sistema operativo. Il sistema operativo chiama questa routine ogni volta che viene creato un nuovo processo. |
|
La routine specificata è già stata registrata oppure il sistema operativo ha raggiunto il limite per la registrazione delle routine di callback di creazione del processo. |
|
L'immagine che contiene il puntatore alla routine di callback non ha IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY impostato nell'intestazione dell'immagine. |
Commenti
I driver di livello più alto possono chiamare PsSetCreateProcessNotifyRoutineEx per registrare una routine PCREATE_PROCESS_NOTIFY_ROUTINE_EX . Un driver di profilatura di sistema (IFS) installabile o di livello più alto potrebbe registrare una routine di callback di creazione del processo per tenere traccia dei processi creati ed eliminati rispetto allo stato interno del driver nel sistema.
Un driver deve rimuovere tutte le routine di callback registrate prima dello scaricamento. È possibile rimuovere la routine di callback chiamando PsSetCreateProcessNotifyRoutineEx con Remove impostato su TRUE. Un driver non deve effettuare questa chiamata dall'implementazione della routine di callback PCREATE_PROCESS_NOTIFY_ROUTINE_EX.
Il sistema operativo chiama la routine di notifica del processo del driver in PASSIVE_LEVEL all'interno di un'area critica con normali ACS del kernel disabilitati. Quando viene creato un processo, la routine process-notify viene eseguita nel contesto del thread che ha creato il nuovo processo. Quando un processo viene eliminato, la routine process-notify viene eseguita nel contesto dell'ultimo thread da uscire dal processo.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows Vista con SP1 e Windows Server 2008. |
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), PowerIrpDDis(wdm) |