PsSetLoadImageNotifyRoutineEx, fonction (ntddk.h)

La routine PsSetLoadImageNotifyRoutineEx enregistre un rappel fourni par le pilote qui est ensuite notifié chaque fois qu’une image (par exemple, une DLL ou EXE) est chargée (ou mappée en mémoire).

Syntaxe

NTSTATUS PsSetLoadImageNotifyRoutineEx(
  [in] PLOAD_IMAGE_NOTIFY_ROUTINE NotifyRoutine,
  [in] ULONG_PTR                  Flags
);

Paramètres

[in] NotifyRoutine

Pointeur vers la routine de rappel implémentée par l’appelant PLOAD_IMAGE_NOTIFY_ROUTINE pour les notifications d’image de charge.

[in] Flags

Fournit un masque de bits d’indicateurs qui contrôlent la fonction de rappel. Les valeurs possibles sont les suivantes :

  • PS_IMAGE_NOTIFY_CONFLICTING_ARCHITECTURE indique que la routine de rappel doit être appelée pour toutes les images potentiellement exécutables, y compris les images qui ont une architecture différente de l’architecture native du système d’exploitation.

Valeur retournée

Code de retour Description
STATUS_SUCCESS
Le rappel a été correctement inscrit.
STATUS_INVALID_PARAMETER_2
L’indicateur non valide a été fourni dans Indicateurs.
STATUS_INSUFFICIENT_RESOURCES
La routine a échoué à allouer un bloc de rappel en raison d’un manque de ressources.

Remarques

Les pilotes de profilage système de niveau supérieur peuvent appeler PsSetLoadImageNotifyRoutineEx pour configurer leurs routines de notification d’image de charge (voir PLOAD_IMAGE_NOTIFY_ROUTINE).

Le nombre maximal de pilotes pouvant être inscrits simultanément pour recevoir des notifications d’image de charge est de 64. Si le nombre maximal de routines de notification d’image de charge est déjà inscrit lorsqu’un pilote appelle PsSetLoadImageNotifyRoutineEx pour essayer d’inscrire une routine de notification supplémentaire, PsSetLoadImageNotifyRoutineEx échoue et retourne STATUS_INSUFFICIENT_RESOURCES.

Un pilote doit supprimer les rappels qu’il enregistre avant de se décharger. Vous pouvez supprimer le rappel en appelant la routine PsRemoveLoadImageNotifyRoutine .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1709
Serveur minimal pris en charge Windows Server 2016
Plateforme cible Windows
En-tête ntddk.h
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe (mode noyau)
IRQL PASSIVE_LEVEL