énumération WDF_DEVICE_FAILED_ACTION (wdfdevice.h)

[S’applique à KMDF et UMDF]

L’énumération WDF_DEVICE_FAILED_ACTION identifie l’action que le framework effectuera lorsqu’un pilote signale une défaillance matérielle ou logicielle irrécupérable.

Syntax

typedef enum _WDF_DEVICE_FAILED_ACTION {
  WdfDeviceFailedUndefined = 0,
  WdfDeviceFailedAttemptRestart,
  WdfDeviceFailedNoRestart
} WDF_DEVICE_FAILED_ACTION;

Constantes

 
WdfDeviceFailedUndefined
Valeur : 0
À usage interne uniquement.
WdfDeviceFailedAttemptRestart
Pris en charge dans KMDF et à partir de la version 2.15 d’UMDF. Si les pilotes de l’appareil ne prennent pas en charge d’autres périphériques branchés à l’ordinateur, le gestionnaire d’E/S décharge les pilotes. Ensuite, le gestionnaire de Plug-and-Play tente de redémarrer l’appareil en demandant au pilote de bus de ré-énumérer ses appareils. Si le pilote de bus prend en charge la rééumation, votre pilote sera rechargé, s’il a été déchargé. Si plusieurs tentatives de redémarrage consécutives échouent (car le pilote redémarré signale à nouveau une erreur), l’infrastructure cesse de tenter de redémarrer l’appareil.
WdfDeviceFailedNoRestart
Si les pilotes du périphérique ne prennent pas en charge d’autres périphériques sur le système, le gestionnaire d’E/S décharge les pilotes.

Remarques

L’énumération WDF_DEVICE_FAILED_ACTION est utilisée comme argument d’entrée pour WdfDeviceSetFailed.

Les pilotes spécifient généralement WdfDeviceFailedAttemptRestart s’ils rencontrent une erreur logicielle irrécupérable, car la spécification de cet énumérateur recharge les pilotes. Un pilote peut spécifier WdfDeviceFailedNoRestart s’il rencontre une erreur matérielle irrécupérable qui affecte tous les périphériques du pilote.

Pour plus d’informations sur la spécification de WdfDeviceFailedAttemptRestart dans un pilote UMDF, consultez les remarques de WdfDeviceSetFailed.

Configuration requise

Condition requise Valeur
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfdevice.h (inclure Wdf.h)

Voir aussi

WdfDeviceSetFailed