WdfDeviceSetFailed, fonction (wdfdevice.h)

[S’applique à KMDF et UMDF]

La méthode WdfDeviceSetFailed informe l’infrastructure que le pilote a rencontré une erreur matérielle ou logicielle associée à un appareil spécifié.

Syntaxe

void WdfDeviceSetFailed(
  [in] WDFDEVICE                Device,
  [in] WDF_DEVICE_FAILED_ACTION FailedAction
);

Paramètres

[in] Device

Handle d’un objet d’appareil framework.

[in] FailedAction

Énumérateur WDF_DEVICE_FAILED_ACTION qui indique si l’infrastructure doit tenter de recharger les pilotes de l’appareil spécifié.

Valeur de retour

None

Remarques

Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.

Si un pilote rencontre une erreur matérielle ou logicielle irrécupérable, il doit appeler WdfDeviceSetFailed afin que le système puisse décharger les pilotes de l’appareil.

À compter de la version 2.15 d’UMDF, un pilote UMDF peut demander au pilote de bus sous-jacent de le réinscrire en appelant WdfDeviceSetFailedFailed avec FailedAction défini sur WdfDeviceFailedAttemptRestart. Le pilote de bus doit prendre en charge l’interface GUID_REENUMERATE_SELF_INTERFACE_STANDARD .

Un pilote UMDF peut également définir FailedAction sur WdfDeviceFailedNoRestart.

Pour plus d’informations sur WdfDeviceSetFailed, consultez Signalement des défaillances d’appareil.

Exemples

L’exemple de code suivant informe l’infrastructure qu’une défaillance s’est produite. Si les pilotes de l’appareil spécifié ne prennent pas en charge d’autres appareils, l’infrastructure décharge les pilotes, puis tente de les recharger.

WdfDeviceSetFailed(
                   device,
                   WdfDeviceFailedAttemptRestart
                   );

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (include Wdf.h)
Bibliothèque Wdf01000.sys (KMDF) ; WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Règles de conformité DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)