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