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