WdfDeviceSetFailed 函式 (wdfdevice.h)
[適用於 KMDF 和 UMDF]
WdfDeviceSetFailed 方法會通知架構驅動程式遇到與指定裝置相關聯的硬體或軟體錯誤。
語法
void WdfDeviceSetFailed(
[in] WDFDEVICE Device,
[in] WDF_DEVICE_FAILED_ACTION FailedAction
);
參數
[in] Device
架構裝置物件的句柄。
[in] FailedAction
WDF_DEVICE_FAILED_ACTION型別列舉值,指出架構是否應該嘗試重載指定的裝置驅動程式。
傳回值
無
備註
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
如果驅動程式遇到無法復原的硬體或軟體錯誤,它必須呼叫 WdfDeviceSetFailed ,讓系統可以卸除裝置的驅動程式。
從 UMDF 2.15 版開始,UMDF 驅動程式可以呼叫 WdfDeviceSetFailed 並將 FailedAction 設定為 WdfDeviceFailedAttemptRestart 來要求基礎總線驅動程式重新列舉它。 總線驅動程式必須支援 GUID_REENUMERATE_SELF_INTERFACE_STANDARD 介面。
或者,UMDF 驅動程式可以將 FailedAction 設定為 WdfDeviceFailedNoRestart。
如需 WdfDeviceSetFailed 的詳細資訊,請參閱 報告裝置失敗。
範例
下列程式代碼範例會通知架構發生失敗。 如果指定的裝置驅動程式不支援其他裝置,架構將會卸除驅動程式,然後嘗試重載驅動程式。
WdfDeviceSetFailed(
device,
WdfDeviceFailedAttemptRestart
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfdevice.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI 合規性規則 | DriverCreate (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) |