Partager via


Fonction ObfReferenceObject (wdm.h)

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

Syntaxe

LONG_PTR ObfReferenceObject(
  [in] PVOID 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 retournée

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

Remarques

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

ObfReferenceObject 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 (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs(storport), TargetRelationNeedsRef(wdm)

Voir aussi

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose