WdfDeviceSetFailed method
[Applies to KMDF and UMDF]
The WdfDeviceSetFailed method informs the framework that the driver encountered a hardware or software error that is associated with a specified device.
Syntax
VOID WdfDeviceSetFailed( [in] WDFDEVICE Device, [in] WDF_DEVICE_FAILED_ACTION FailedAction );
Parameters
- Device [in]
-
A handle to a framework device object.
- FailedAction [in]
-
A WDF_DEVICE_FAILED_ACTION-typed enumerator that indicates whether the framework should attempt to reload the specified device's drivers.
Return value
None.
A bug check occurs if the driver supplies an invalid object handle.
Remarks
If a driver encounters an unrecoverable hardware or software error, it must call WdfDeviceSetFailed so that the system can unload the device's drivers.
UMDF A UMDF driver must set FailedAction to WdfDeviceFailedNoRestart.
For more information about WdfDeviceSetFailed, see Reporting Device Failures.
Examples
The following code example informs the framework that a failure has occurred. If the specified device's drivers are not supporting other devices, the framework will unload the drivers and then attempt to reload them.
WdfDeviceSetFailed( device, WdfDeviceFailedAttemptRestart );
Requirements
Minimum KMDF version | 1.0 |
---|---|
Minimum UMDF version | 2.0 |
Header |
|
Library |
|
IRQL | <=DISPATCH_LEVEL |
DDI compliance rules | DriverCreate, KmdfIrql, KmdfIrql2 |