Condividi tramite


Macro WdfObjectDereferenceWithTag

[Si applica a KMDF e UMDF]

La macro WdfObjectDereferenceWithTag decrementa il conteggio dei riferimenti per un oggetto framework specificato e assegna il nome e il numero di riga correnti del driver al riferimento. Questa macro assegna anche un valore di tag al riferimento.

Sintassi

VOID WdfObjectDereferenceWithTag(
  [in] WDFOBJECT Handle,
  [in] PVOID     Tag
);

Parametri

Handle [in]
Handle per un oggetto framework.

Tag [in]
Valore definito dal driver che identifica un riferimento a un oggetto. Il valore del tag deve corrispondere a un valore di tag fornito in precedenza dal driver a WdfObjectReferenceWithTag.

Valore restituito

Nessuno.

Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.

Commenti

Se il conteggio dei riferimenti dell'oggetto diventa zero, l'oggetto potrebbe essere eliminato prima che WdfObjectDereferenceWithTag restituisca.

La chiamata a WdfObjectDereferenceActual o WdfObjectDereferenceWithTag anziché WdfObjectDereference fornisce informazioni aggiuntive (stringa di tag, numero di riga e nome file) ai debugger Microsoft. WdfObjectDereferenceActual consente al driver di specificare il numero di riga e il nome del file, mentre WdfObjectDereferenceWithTag usa il numero di riga e il nome file correnti del driver.

È possibile visualizzare i valori di tag, numero di riga e nome file usando l'estensione del debugger !wdftagtracker . L'estensione del debugger visualizza il valore del tag sia come puntatore che come serie di caratteri. Per altre informazioni sulle estensioni del debugger, vedere Debug di un driver KMDF.

Per altre informazioni sui conteggi dei riferimenti agli oggetti, vedere Ciclo di vita degli oggetti framework.

Esempio

L'esempio di codice seguente decrementa il conteggio dei riferimenti di un oggetto e assegna un valore di tag al riferimento.

WdfObjectDereferenceWithTag(
                            object,
                            pTag
                            );

Requisiti

Piattaforma di destinazione

Universale

Versione KMDF minima

1.0

Versione UMDF minima

2,0

Intestazione

Wdfobject.h (include Wdf.h)

Libreria

Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)

IRQL

<= DISPATCH_LEVEL

Vedi anche

WdfObjectDereference

WdfObjectReferenceWithTag