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)