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) |