Fonction IoGetLowerDeviceObject (ntifs.h)

La routine IoGetLowerDeviceObject retourne un pointeur vers l’objet d’appareil de niveau inférieur suivant sur la pile de pilotes.

Syntaxe

PDEVICE_OBJECT IoGetLowerDeviceObject(
  [in] PDEVICE_OBJECT DeviceObject
);

Paramètres

[in] DeviceObject

Pointeur vers l’objet d’appareil dans la pile pour laquelle l’objet d’appareil de niveau inférieur suivant doit être retourné.

Valeur retournée

IoGetLowerDeviceObject retourne un pointeur vers l’objet d’appareil de niveau inférieur suivant sur la pile de pilotes.

Remarques

Avec un pointeur vers un objet d’appareil dans un système de fichiers ou une pile de pilotes de périphérique, IoGetLowerDeviceObject retourne un pointeur vers l’objet d’appareil de niveau inférieur suivant sur la pile.

IoGetLowerDeviceObject retourne NULL si :

  • Le pilote de niveau inférieur suivant n’est pas chargé.

  • Le pilote de niveau inférieur suivant est actuellement déchargé, supprimé ou supprimé.

  • L’objet d’appareil pointé vers deviceObject est l’objet d’appareil le plus bas de la pile de pilotes.

Un pilote de filtre de système de fichiers utilise généralement IoGetLowerDeviceObject pour déterminer s’il est déjà attaché à la pile de pilotes de filtre qui est chaînée au-dessus d’un objet de périphérique de système de fichiers donné. Tout d’abord, le filtre appelle IoGetAttachedDeviceReference pour obtenir un pointeur vers l’objet d’appareil le plus haut dans la pile. Ensuite, il appelle IoGetLowerDeviceObject à plusieurs reprises pour parcourir la pile des pilotes, en vérifiant chaque objet d’appareil pour voir si l’objet appartient au pilote de filtre.

IoGetLowerDeviceObject incrémente le nombre de références sur l’objet d’appareil de niveau inférieur suivant, le cas échéant. Ainsi, chaque appel à IoGetLowerDeviceObject qui ne retourne pas NULL doit être mis en correspondance par un appel suivant ObDereferenceObject.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Correctif cumulatif windows 2000 SP4 ; Windows XP
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

IoGetAttachedDevice

IoGetAttachedDeviceReference

ObDereferenceObject