Partager via


Macro ObReferenceObject (wdm.h)

La routine ObReferenceObject incrémente le nombre de références à l’objet donné.

Syntaxe

void ObReferenceObject(
  [in]  Object
);

Paramètres

[in] Object

Pointeur vers l’objet. L’appelant a obtenu ce paramètre lors de la création de l’objet ou à partir d’un appel précédent à ObReferenceObjectByHandle après l’ouverture de l’objet.

Valeur de retour

None

Remarques

ObReferenceObject retourne une valeur qui est réservée à l’utilisation du système. Les pilotes doivent traiter cette valeur comme VOID.

ObReferenceObject incrémente simplement le nombre de références de pointeur pour un objet, sans effectuer de vérifications d’accès sur l’objet donné, comme le font ObReferenceObjectByHandle et ObReferenceObjectByPointer .

ObReferenceObject empêche la suppression de l’objet au moins jusqu’à ce que le pilote appelle par la suite son objet réciproque, ObDereferenceObject, ou ferme l’objet donné. L’appelant doit décrémenter le nombre de références avec ObDereferenceObject dès qu’il a terminé avec l’objet.

Lorsque le nombre de références pour un objet atteint zéro, un composant en mode noyau peut supprimer l’objet du système. Toutefois, un pilote peut supprimer uniquement les objets qu’il a créés et un pilote ne doit jamais tenter de supprimer un objet qu’il n’a pas créé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 2000.
Plateforme cible Desktop (Expérience utilisateur)
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose