WdfDeviceInitRegisterPowerStateChangeCallback 函式 (wdfdevice.h)
[僅適用於 KMDF]
注意
此方法僅供 Microsoft 內部使用。
WdfDeviceInitRegisterPowerStateChangeCallback 方法會註冊驅動程式提供的事件回呼函式,當裝置的電源狀態機器變更狀態時,架構會呼叫該函式。
語法
NTSTATUS WdfDeviceInitRegisterPowerStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_POWER_STATE PowerState,
[in] PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange,
[in] ULONG CallbackTypes
);
參數
[in] DeviceInit
呼叫端提供的 WDFDEVICE_INIT 結構的指標。
[in] PowerState
WDF_DEVICE_POWER_STATE列舉值,識別驅動程式要求通知的電源計算機狀態。
[in] EvtDevicePowerStateChange
驅動程式 EvtDevicePowerStateChange 事件回呼函式的呼叫端提供指標。
[in] CallbackTypes
WDF_STATE_NOTIFICATION_TYPE型別列舉值的 ORed 組合。
傳回值
如果作業成功, WdfDeviceInitRegisterPowerStateChangeCallback 會傳回STATUS_SUCCESS。 其他傳回值包括:
傳回碼 | Description |
---|---|
|
偵測到無效的參數。 |
|
記憶體不足,無法完成作業。 |
備註
如果您的驅動程式呼叫 WdfDeviceInitRegisterPowerStateChangeCallback,它必須先執行此動作,才能呼叫 WdfDeviceCreate。
如需呼叫 WdfDeviceCreate 的詳細資訊,請參閱 架構中的狀態機器。
範例
下列程式代碼範例會註冊當裝置的電源狀態機器變更狀態時,架構會呼叫的事件回呼函式。
status = WdfDeviceInitRegisterPowerStateChangeCallback(
DeviceInit,
WdfDevStatePowerD0StartingConnectInterrupt,
PciDrvPowerStateChangeCallback,
StateNotificationAllStates
);
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
標頭 | wdfdevice.h (包含 Wdf.h) |
程式庫 | Wdf01000.sys (請參閱 Framework Library Versioning.) |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | ChildDeviceInitAPI (kmdf) 、 DeviceInitAPI (kmdf) 、 DriverCreate (kmdf) 、 InitFreeDeviceCallback (kmdf) 、 InitFreeDeviceCreate (kmdf) 、 InitFreeNull (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf ) 、KmdfIrqlExplicit (kmdf) 、 PdoDeviceInitAPI (kmdf) 、 PdoInitFreeDeviceCallback (kmdf) 、 PdoInitFreeDeviceCreate (kmdf) |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應