IoGetLowerDeviceObject, fonction (ntifs.h)

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

Syntaxe

PDEVICE_OBJECT IoGetLowerDeviceObject(
  [in] PDEVICE_OBJECT DeviceObject
);

Paramètres

[in] DeviceObject

Pointeur vers l’objet d’appareil dans la pile pour lequel 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 des pilotes.

Notes

Étant donné un pointeur vers un objet d’appareil dans une pile de pilotes de système de fichiers ou d’appareil, IoGetLowerDeviceObject retourne un pointeur vers l’objet d’appareil de niveau 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é par DeviceObject est l’objet d’appareil le plus bas dans la pile des 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 des pilotes de filtre qui est chaînée au-dessus d’un objet d’appareil 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 déterminer 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. Ainsi, chaque appel réussi à IoGetLowerDeviceObject doit être mis en correspondance par un appel suivant ObDereferenceObject.

Spécifications

   
Client minimal pris en charge Cette routine est disponible sur le correctif cumulatif pour Windows 2000 Service Pack 4 (SP4) et sur Windows XP et versions ultérieures.
Plateforme cible Universal
En-tête ntifs.h (include Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

IoGetAttachedDevice

IoGetAttachedDeviceReference

ObDereferenceObject