Fonction WdfObjectDereferenceActual (wdfobject.h)

[S’applique à KMDF et UMDF]

La méthode WdfObjectDereferenceActual décrémente le nombre de références pour un objet framework spécifié et affecte une valeur d’étiquette, un numéro de ligne et un nom de fichier à la référence.

Syntaxe

void WdfObjectDereferenceActual(
  [in]           WDFOBJECT Handle,
  [in, optional] PVOID     Tag,
  [in]           LONG      Line,
  [in, optional] PCCH      File
);

Paramètres

[in] Handle

Handle d’un objet framework.

[in, optional] Tag

Valeur définie par le pilote qui identifie une référence d’objet. La valeur de balise doit correspondre à une valeur de balise que le pilote a précédemment fournie à WdfObjectReferenceActual.

[in] Line

Valeur numérique qui représente un numéro de ligne dans un fichier source de pilote.

[in, optional] File

Pointeur vers une chaîne de caractères constants terminée par null qui représente le nom d’un fichier source de pilote. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

None

Remarques

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Si le nombre de références de l’objet devient égal à zéro, l’objet peut être supprimé avant le retour de WdfObjectDereferenceActual .

L’appel de WdfObjectDereferenceActual ou WdfObjectDereferenceWithTag au lieu de WdfObjectDereference fournit des informations supplémentaires (chaîne de balise, numéro de ligne et nom de fichier) aux débogueurs Microsoft. WdfObjectDereferenceActual permet à votre pilote de spécifier le numéro de ligne et le nom de fichier, tandis que WdfObjectDereferenceWithTag utilise le numéro de ligne et le nom de fichier actuels du pilote.

Vous pouvez afficher les valeurs de balise, de numéro de ligne et de nom de fichier à l’aide de l’extension de débogueur !wdftagtracker . L’extension de débogueur affiche la valeur de balise sous la forme d’un pointeur et d’une série de caractères. Pour plus d’informations sur les extensions de débogueur, consultez Débogage d’un pilote KMDF.

Pour plus d’informations sur le nombre de références d’objets et les règles de nettoyage d’une hiérarchie d’objets framework, consultez Framework Object Life Cycle.

Exemples

L’exemple de code suivant décrémente le nombre de références d’un objet et affecte une valeur d’étiquette, un numéro de ligne et un nom de fichier à la référence.

WdfObjectDereferenceActual(
                           object,
                           pTag,
                           line,
                           FILE_NAME
                           );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfobject.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf)

Voir aussi

WdfObjectDereference

WdfObjectReferenceActual