Condividi tramite


Funzione WdfObjectDereferenceActual (wdfobject.h)

[Si applica a KMDF e UMDF]

Il metodo WdfObjectDereferenceActual decrementa il conteggio dei riferimenti per un oggetto framework specificato e assegna un valore di tag, un numero di riga e un nome file al riferimento.

Sintassi

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

Parametri

[in] Handle

Handle per un oggetto framework.

[in, optional] Tag

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 al driver WdfObjectReferenceActual.

[in] Line

Valore numerico che rappresenta un numero di riga in un file di origine del driver.

[in, optional] File

Puntatore a una stringa di caratteri costante con terminazione null che rappresenta il nome di un file di origine del driver. Questo parametro è facoltativo e può essere NULL.

Valore restituito

nessuno

Osservazioni

Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.

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

La chiamata a WdfObjectDereferenceActual o WdfObjectDereferenceWithTag anziché WdfObjectDereference fornisce informazioni aggiuntive (stringa di tag, numero di riga e nome file) nei 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 del file correnti del driver.

È possibile visualizzare i valori 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 a oggetti e sulle regole di pulizia per una gerarchia di oggetti framework, vedere Ciclo di vita dell'oggetto Framework.

Esempio

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

WdfObjectDereferenceActual(
                           object,
                           pTag,
                           line,
                           FILE_NAME
                           );

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 2,0
Intestazione wdfobject.h (includere Wdf.h)
Libreria Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Regole di conformità DDI DriverCreate(kmdf)

Vedi anche

WdfObjectDereference

WdfObjectReferenceActual