Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile configurare WdfFiTester in modo da non riuscire tutte le chiamate di funzione DDI (Device Driver Interface) kmDF che restituiscono un codice NTSTATUS. Esistono 190 funzioni fornite dal sistema in KMDF versione 1.11 che restituiscono un codice NTSTATUS. Per un elenco di queste funzioni, vedere Funzioni KMDF che restituiscono codici NSTATUS.
Il codice che gestisce una chiamata di funzione KMDF ha in genere il modello illustrato nell'esempio di codice seguente:
//
// Create the device object.
//
status = WdfDeviceCreate(
&DeviceInit,
&attributes,
&device
);
if (!NT_SUCCESS(status)) {
return status;
}
La funzione KMDF restituisce un codice NTSTATUS e il driver verifica la presenza del codice restituito prima di procedere. Tuttavia, molti problemi del driver si verificano a causa di un controllo mancante o errato per il codice restituito. Questi errori potrebbero causare comportamenti imprevisti nel driver oppure potrebbero causare una verifica di errore.
Ad esempio, un controllo dei bug può verificarsi se una funzione ha un parametro di puntatore (__out) che dovrebbe essere valido all'uscita della funzione, ma è NULL. Il controllo del bug può verificarsi se il driver utilizza il parametro e non controlla correttamente lo stato restituito dalla chiamata di funzione.
Per ogni DDI configurato per l'esecuzione di fault injection, lo strumento WdfFiTester restituisce il codice NTSTATUS "STATUS_UNSUCCESSFUL". Si prevede che il driver gestisca l'errore.
Poiché lo strumento usa l'interfaccia WMI, è possibile eseguirlo da uno script (vbscript o jscript) o da qualsiasi altra applicazione in modalità utente (C, C++o C# ) che può effettuare chiamate a WMI.
Oltre ad altre operazioni, con l'interfaccia WMI dello strumento è possibile ottenere un elenco di DDI chiamate da un driver KMDF specifico e che sono in attesa di un evento WMI che viene generato ogni volta che un'inserimento di errore DDI viene completato correttamente.