Partager via


PsSetCreateProcessNotifyRoutine, fonction (ntddk.h)

La routine PsSetCreateProcessNotifyRoutine ajoute une routine de rappel fournie par le pilote à une liste de routines à appeler chaque fois qu’un processus est créé ou supprimé.

Syntaxe

NTSTATUS PsSetCreateProcessNotifyRoutine(
  [in] PCREATE_PROCESS_NOTIFY_ROUTINE NotifyRoutine,
  [in] BOOLEAN                        Remove
);

Paramètres

[in] NotifyRoutine

Spécifie le point d’entrée d’une routine de création de processus fournie par l’appelant. Voir PCREATE_PROCESS_NOTIFY_ROUTINE.

[in] Remove

Indique si la routine spécifiée par NotifyRoutine doit être ajoutée ou supprimée de la liste des routines de notification du système. Si la valeur est FALSE, la routine spécifiée est ajoutée à la liste. Si la valeur est TRUE, la routine spécifiée est supprimée de la liste.

Valeur retournée

PsSetCreateProcessNotifyRoutine peut retourner l’un des éléments suivants :

Code de retour Description
STATUS_SUCCESS
L’objet NotifyRoutine donné est maintenant inscrit auprès du système.
STATUS_INVALID_PARAMETER
L’objet NotifyRoutine donné a déjà été inscrit, donc cet appel est un appel redondant, ou le système a atteint sa limite d’inscription des rappels de création de processus.

Remarques

Les pilotes de niveau supérieur peuvent appeler PsSetCreateProcessNotifyRoutine pour configurer leurs routines de notification de création de processus implémentées en tant que PCREATE_PROCESS_NOTIFY_ROUTINE.

Un pilote IFS ou de profilage système de niveau supérieur peut inscrire un rappel de création de processus pour suivre la création et la suppression à l’échelle du système des processus par rapport à l’état interne du pilote. Pour Windows Vista et les versions ultérieures de Windows, le système peut inscrire jusqu’à 64 routines de rappel de création de processus.

Un pilote doit supprimer tous les rappels qu’il inscrit avant de décharger. Vous pouvez supprimer le rappel en appelant PsSetCreateProcessNotify avec Remove = TRUE. Un pilote ne doit pas effectuer cet appel à partir de son implémentation de la routine de rappel PCREATE_PROCESS_NOTIFY_ROUTINE .

Une fois qu’une routine fournie par le pilote est inscrite, elle est appelée avec Create défini sur TRUE juste après la création du thread initial dans le processus nouvellement créé désigné par le handle ProcessId d’entrée. Le handle ParentId d’entrée identifie le processus parent du processus nouvellement créé (il s’agit du parent utilisé pour la priorité, l’affinité, le quota, le jeton et gérer l’héritage, entre autres).

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Universal
En-tête ntddk.h (inclure Ntddk.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport),IrqlPsPassive(wdm), PowerIrpDDis(wdm)

Voir aussi

PCREATE_PROCESS_NOTIFY_ROUTINE

PsGetCurrentProcessId

PsSetCreateProcessNotifyRoutineEx

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine