Funzione WdfDeviceSetFailed (wdfdevice.h)
[Si applica a KMDF e UMDF]
Il metodo WdfDeviceSetFailed informa il framework che il driver ha rilevato un errore hardware o software associato a un dispositivo specificato.
Sintassi
void WdfDeviceSetFailed(
[in] WDFDEVICE Device,
[in] WDF_DEVICE_FAILED_ACTION FailedAction
);
Parametri
[in] Device
Handle per un oggetto dispositivo framework.
[in] FailedAction
Enumeratore tipizzato WDF_DEVICE_FAILED_ACTION che indica se il framework deve tentare di ricaricare i driver del dispositivo specificato.
Valore restituito
nessuno
Osservazioni
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Se un driver rileva un errore hardware o software irreversibile, deve chiamare WdfDeviceSetFailed in modo che il sistema possa scaricare i driver del dispositivo.
A partire dalla versione 2.15 di UMDF, un driver UMDF può richiedere che il driver del bus sottostante lo enumera nuovamente chiamando WdfDeviceSetFailed con FailedAction impostato su WdfDeviceFailedAttemptRestart. Il driver del bus deve supportare l'interfaccia GUID_REENUMERATE_SELF_INTERFACE_STANDARD .
In alternativa, un driver UMDF può impostare FailedAction su WdfDeviceFailedNoRestart.
Per altre informazioni su WdfDeviceSetFailed, vedere Segnalazione di errori dei dispositivi.
Esempio
Nell'esempio di codice seguente viene illustrato al framework che si è verificato un errore. Se i driver del dispositivo specificati non supportano altri dispositivi, il framework scaricherà i driver e tenterà di ricaricarli.
WdfDeviceSetFailed(
device,
WdfDeviceFailedAttemptRestart
);
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (include Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |