EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND回呼函式 (wdfdevice.h)
[適用於 KMDF 和 UMDF]
驅動程式的 EvtDeviceSelfManagedIoSuspend 事件回呼函式會暫停裝置的自我管理 I/O 作業。
語法
EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;
NTSTATUS EvtWdfDeviceSelfManagedIoSuspend(
[in] WDFDEVICE Device
)
{...}
參數
[in] Device
架構裝置物件的句柄。
傳回值
如果作業成功,EvtDeviceSelfManagedIoSuspend 回呼函式必須傳回STATUS_SUCCESS,或 NT_SUCCESS狀態) 等於 TRUE的另一個狀態值。 否則,它必須傳回狀態值,NT_SUCCESS(狀態) 等於 FALSE。 如果NT_SUCCESS(狀態)等於 FALSE,架構會停止裝置並移除其裝置物件。
如果 NT_SUCCESS(status) 等於 false ,則架構會呼叫驅動程式的 EvtDeviceSelfManagedIoFlush 和 EvtDeviceSelfManagedIoCleanup 回呼函式。
如需此回呼函式傳回值的詳細資訊,請參閱 報告裝置失敗。
言論
若要註冊 EvtDeviceSelfManagedIoSuspend 回呼函式,驅動程式必須呼叫 WdfDeviceInitSetPnpPowerEventCallbacks。
如果驅動程式已註冊 EvtDeviceSelfManagedIoSuspend 回呼函式,架構會呼叫它,原因如下:
- 裝置即將進入低電源狀態。
- 正在移除或意外移除裝置。
- 即插即用管理員即將在系統連結的裝置之間轉散發系統的硬體資源。
如果裝置即將進入低功率狀態,架構會在呼叫驅動程式的 EvtDeviceD0Exit 回呼函式之前,先呼叫驅動程式的 EvtDeviceSelfManagedIoSuspend 回呼函式。
如果回呼函式傳回狀態值,NT_SUCCESS(狀態)等於 FALSE,而且如果架構嘗試降低裝置的電源,架構會停止裝置並移除其裝置物件。
EvtDeviceSelfManagedIoSuspend 回呼函式必須執行停止裝置自我管理 I/O 作業所需的任何動作。
如需架構呼叫此回呼函式時的詳細資訊,請參閱 PnP 和 Power Management Scenarios。
如需提供此回呼函式之驅動程式的詳細資訊,請參閱使用 Self-Managed I/O 。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
標頭 | wdfdevice.h (包括 Wdf.h) |
IRQL | PASSIVE_LEVEL |