Freigeben über


WdfObjectDereferenceActual-Funktion (wdfobject.h)

[Gilt für KMDF und UMDF]

Die WdfObjectDereferenceActual-Methode erhöht die Verweisanzahl für ein angegebenes Frameworkobjekt und weist dem Verweis einen Tagwert, eine Zeilennummer und einen Dateinamen zu.

Syntax

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

Parameter

[in] Handle

Ein Handle für ein Frameworkobjekt.

[in, optional] Tag

Ein vom Treiber definierter Wert, der einen Objektverweis identifiziert. Der Tagwert muss mit einem Tagwert übereinstimmen, den der Treiber zuvor für WdfObjectReferenceActual angegeben hat.

[in] Line

Ein numerischer Wert, der eine Zeilennummer in einer Treiberquelldatei darstellt.

[in, optional] File

Ein Zeiger auf eine null-beendete konstante Zeichenfolge, die den Namen einer Treiberquelldatei darstellt. Dieser Parameter ist optional und kann NULL sein.

Rückgabewert

Keine

Bemerkungen

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Wenn die Verweisanzahl des Objekts 0 ist, wird das Objekt möglicherweise gelöscht, bevor WdfObjectDereferenceActual zurückgibt.

Das Aufrufen von WdfObjectDereferenceActual oder WdfObjectDereferenceWithTag anstelle von WdfObjectDereference stellt zusätzliche Informationen (Tagzeichenfolge, Zeilennummer und Dateinamen) für Microsoft-Debugger bereit. WdfObjectDereferenceActual ermöglicht ihrem Treiber die Angabe der Zeilennummer und des Dateinamens, während WdfObjectDereferenceWithTag die aktuelle Zeilennummer und den Dateinamen des Treibers verwendet.

Sie können die Werte für Tag, Zeilennummer und Dateinamen anzeigen, indem Sie die Debuggererweiterung !wdftagtracker verwenden. Die Debuggererweiterung zeigt den Tagwert sowohl als Zeiger als auch als Eine Reihe von Zeichen an. Weitere Informationen zu Debuggererweiterungen finden Sie unter Debuggen eines KMDF-Treibers.

Weitere Informationen zur Anzahl von Objektverweisen und zu den Bereinigungsregeln für eine Frameworkobjekthierarchie finden Sie unter Framework Object Life Cycle.

Beispiele

Im folgenden Codebeispiel wird die Verweisanzahl eines Objekts verringert und dem Verweis ein Tagwert, eine Zeilennummer und ein Dateinamen zugewiesen.

WdfObjectDereferenceActual(
                           object,
                           pTag,
                           line,
                           FILE_NAME
                           );

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfobject.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI-Complianceregeln DriverCreate(kmdf)

Weitere Informationen

WdfObjectDereference

WdfObjectReferenceActual