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 |
---|---|
|
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éé. |
|
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. |
|
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) |