Partager via


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 vers un objet d’appareil framework.

[in] FailedAction

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

Valeur de retour

Aucun

Remarques

Une vérification de bogue 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 de UMDF, un pilote UMDF peut demander que le pilote de bus sous-jacent l’énumére en appelant WdfDeviceSetFailed avec FailedAction défini sur WdfDeviceFailedAttemptRestart. Le pilote de bus doit prendre en charge l’interface GUID_REENUMERATE_SELF_INTERFACE_STANDARD.

Vous pouvez également définir un pilote UMDF FailedAction sur WdfDeviceFailedNoRestart.

Pour plus d’informations sur WdfDeviceSetFailed, consultez Reporting DeviceFailed.

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
                   );

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
version minimale de UMDF 2.0
d’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)