Condividi tramite


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)