PsSetCreateProcessNotifyRoutineEx, fonction (ntddk.h)
La routine PsSetCreateProcessNotifyRoutineEx inscrit ou supprime une routine de rappel qui avertit l’appelant lorsqu’un processus est créé ou se ferme.
Syntaxe
NTSTATUS PsSetCreateProcessNotifyRoutineEx(
[in] PCREATE_PROCESS_NOTIFY_ROUTINE_EX NotifyRoutine,
[in] BOOLEAN Remove
);
Paramètres
[in] NotifyRoutine
Pointeur vers la PCREATE_PROCESS_NOTIFY_ROUTINE_EX routine à 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 a la valeur TRUE, la routine spécifiée est supprimée de la liste des routines de rappel. Si ce paramètre a la valeur FALSE, la routine spécifiée est ajoutée à la liste des routines de rappel. Si Remove a la valeur TRUE, le système attend également que toutes les routines de rappel en cours d’exécution se terminent avant de revenir.
Valeur retournée
PsSetCreateProcessNotifyRoutineEx retourne l’une des valeurs NTSTATUS suivantes :
Code de retour | 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’avait 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 PCREATE_PROCESS_NOTIFY_ROUTINE_EX . Un système de fichiers installable (IFS) ou un pilote de profilage du système 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 enregistre avant de décharger. Vous pouvez supprimer la routine de rappel en appelant PsSetCreateProcessNotifyRoutineEx avec Remove 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 les 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista avec SP1 et Windows Server 2008. |
Plateforme cible | Universal |
En-tête | ntddk.h (incluez Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |