EVT_WDF_DEVICE_D0_ENTRY回呼函式 (wdfdevice.h)
[適用於 KMDF 和 UMDF]
驅動程式的 EvtDeviceD0Entry 事件回呼函式會執行驅動程式裝置進入 D0 電源狀態時所需的作業。
語法
EVT_WDF_DEVICE_D0_ENTRY EvtWdfDeviceD0Entry;
NTSTATUS EvtWdfDeviceD0Entry(
[in] WDFDEVICE Device,
[in] WDF_POWER_DEVICE_STATE PreviousState
)
{...}
參數
[in] Device
架構裝置物件的句柄。
[in] PreviousState
識別先前裝置電源狀態 的WDF_POWER_DEVICE_STATE型別列舉值。
傳回值
如果 EvtDeviceD0Entry 回呼函式沒有發生錯誤,它必須傳回STATUS_SUCCESS或另一個狀態值,NT_SUCCESS (狀態) 等於 TRUE。 否則,它必須傳回狀態值,NT_SUCCESS (狀態) 等於 FALSE。
如需此回呼函式傳回值的詳細資訊,請參閱 報告裝置失敗。
此架構不會在 EvtDeviceD0Entry 回呼函式傳回狀態 NT_SUCCESS (值之后呼叫驱动程序的 EvtDeviceD0Exit 回呼函式,傳回狀態值) 等於 FALSE。
備註
若要註冊裝置的 EvtDeviceD0Entry 回呼函式,驅動程式必須呼叫 WdfDeviceInitSetPnpPowerEventCallbacks。
如果驅動程式已註冊裝置的 EvtDeviceD0Entry 回呼函式,則架構會在每次裝置進入其運作 (D0) 狀態時呼叫函式。 當發生下列其中一項時,裝置會進入 D0 狀態:
- 裝置會列舉 (,因為裝置已插入或系統重新啟動) 。
- 系統及其所有裝置都會從低電源狀態返回其工作狀態。
- 如果裝置支援低電源閑置) ,裝置在進入低電源狀態之後會回到其工作狀態,因為其閑置 (。
- 隨插即用 管理員已將系統的硬體資源轉散發給系統的裝置。
回呼函式必須執行讓裝置完全運作所需的任何作業,例如載入韌體,或啟用裝置處於低電源狀態時停用的裝置功能。
如果 EvtDeviceD0Entry 回呼函式傳回 狀態 值,NT_SUCCESS (状态) 等於 FALSE,架構會執行下列動作:
架構不會在這些情況下呼叫驅動程式的 EvtDeviceD0Exit 回呼函式。如需架構何時呼叫 EvtDeviceD0Entry 回呼函式的詳細資訊,請參閱 PnP 和電源管理案例。
如需提供此回呼函式的驅動程式詳細資訊,請參閱 支援函式驅動程式中的 PnP 和電源管理。
EvtDeviceD0Entry 回呼函式會在 IRQL = PASSIVE_LEVEL呼叫。 您不應該讓這個回呼函 式可分頁。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfdevice.h (包含 Wdf.h) |
IRQL | PASSIVE_LEVEL (请参阅一节) |