EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART回呼函式 (wdfdevice.h)
[適用於 KMDF 和 UMDF]
驅動程式的 EvtDeviceSelfManagedIoRestart 事件回呼函式會重新啟動裝置的自我管理 I/O 作業。
語法
EVT_WDF_DEVICE_SELF_MANAGED_IO_RESTART EvtWdfDeviceSelfManagedIoRestart;
NTSTATUS EvtWdfDeviceSelfManagedIoRestart(
[in] WDFDEVICE Device
)
{...}
參數
[in] Device
架構裝置物件的句柄。
傳回值
如果 EvtDeviceSelfManagedIoRestart 回呼函式沒有發生任何錯誤,則必須傳回STATUS_SUCCESS,或傳回另一個狀態值,NT_SUCCESS (狀態) 等於 TRUE。 否則,它必須傳回狀態值,NT_SUCCESS (狀態) 等於 FALSE。 如果NT_SUCCESS (狀態) 等於 FALSE,架構會停止裝置並卸載裝置的驅動程式。
如果NT_SUCCESS (状态) 等於 FALSE,架構會呼叫驅動程式的 EvtDeviceSelfManagedIoFlush 和 EvtDeviceSelfManagedIoCleanup 回呼函式。
如需此回呼函式傳回值的詳細資訊,請參閱 報告裝置失敗。
備註
若要註冊 EvtDeviceSelfManagedIoRestart 回呼函式,驅動程式必須呼叫 WdfDeviceInitSetPnpPowerEventCallbacks。
如果驅動程式已註冊 EvtDeviceSelfManagedIoRestart 回呼函式,則每次裝置從低電源狀態傳回至其運作 (D0) 狀態時,架構都會呼叫它。 架構只有在呼叫驅動程式的 EvtDeviceSelfManagedIoSuspend 回呼函式之後,才會呼叫 EvtDeviceSelfManagedIoSuspend 回呼函式。
驅動程式的 EvtDeviceSelfManagedIoRestart 回呼函式必須執行任何動作,才能繼續裝置的自我管理 I/O 作業。
如需架構何時呼叫此回呼函式的詳細資訊,請參閱 PnP 和電源管理案例。
如需提供此回呼函式之驅動程式的詳細資訊,請參閱 使用 Self-Managed I/O。
EvtDeviceSelfManagedIoRestart 回呼函式會在 IRQL = PASSIVE_LEVEL呼叫。 您不應該讓這個回呼函 式可分頁。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfdevice.h (包含 Wdf.h) |
IRQL | PASSIVE_LEVEL (请参阅一节) |