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