Partager via


PsSetCreateProcessNotifyRoutineEx, fonction (ntddk.h)

La routine PsSetCreateProcessNotifyRoutineEx inscrit ou supprime une routine de rappel qui avertit l’appelant lorsqu’un processus est créé ou quitte.

Syntaxe

NTSTATUS PsSetCreateProcessNotifyRoutineEx(
  [in] PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine,
  [in] BOOLEAN                           Remove
);

Paramètres

[in] NotifyRoutine

Pointeur vers la routine PCREATE_PROCESS_NOTIFY_ROUTINE_EX pour inscrire ou supprimer. Le système d’exploitation appelle cette routine chaque fois qu’un nouveau processus est créé.

[in] Remove

Valeur booléenne qui spécifie si PsSetCreateProcessNotifyRoutineEx ajoute ou supprime une routine spécifiée de la liste des routines de rappel. Si ce paramètre est TRUE, la routine spécifiée est supprimée de la liste des routines de rappel. Si ce paramètre est FALSE, la routine spécifiée est ajoutée à la liste des routines de rappel. Si Supprimer est TRUE, le système attend également que toutes les routines de rappel en vol se terminent avant de retourner.

Valeur de retour

PsSetCreateProcessNotifyRoutineEx retourne l’une des valeurs NTSTATUS suivantes :

Retourner le code Description
STATUS_SUCCESS
La routine spécifiée est désormais inscrite auprès du système d’exploitation. Le système d’exploitation appelle cette routine chaque fois qu’un nouveau processus est créé.
STATUS_INVALID_PARAMETER
La routine spécifiée a déjà été inscrite, ou le système d’exploitation a atteint sa limite d’inscription des routines de rappel de création de processus.
STATUS_ACCESS_DENIED
L’image qui contient le pointeur de routine de rappel n’a pas IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY définie dans son en-tête d’image.

Remarques

Les pilotes de niveau supérieur peuvent appeler PsSetCreateProcessNotifyRoutineEx pour inscrire une routine de PCREATE_PROCESS_NOTIFY_ROUTINE_EX. Un pilote de profilage du système de fichiers installable (IFS) ou de niveau supérieur peut inscrire une routine de rappel de création de processus pour suivre les processus créés et supprimés par rapport à l’état interne du pilote sur l’ensemble du système.

Un pilote doit supprimer toutes les routines de rappel qu’il inscrit avant de décharger. Vous pouvez supprimer la routine de rappel en appelant PsSetCreateProcessNotifyRoutineEx avec Supprimer défini sur TRUE. Un pilote ne doit pas effectuer cet appel à partir de son implémentation de la routine de rappel PCREATE_PROCESS_NOTIFY_ROUTINE_EX.

Le système d’exploitation appelle la routine de notification de processus du pilote à PASSIVE_LEVEL à l’intérieur d’une région critique avec API de noyau normales désactivées. Lorsqu’un processus est créé, la routine de notification de processus s’exécute dans le contexte du thread qui a créé le nouveau processus. Lorsqu’un processus est supprimé, la routine de notification de processus s’exécute dans le contexte du dernier thread à quitter du processus.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows Vista avec SP1 et Windows Server 2008.
plateforme cible Universel
d’en-tête ntddk.h (include Ntddk.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Voir aussi

PCREATE_PROCESS_NOTIFY_ROUTINE_EX

PS_CREATE_NOTIFY_INFO

PsSetCreateProcessNotifyRoutine