WdfDeviceInitRegisterPowerPolicyStateChangeCallback 函数 (wdfdevice.h)
[仅适用于 KMDF]
注意
此方法仅供 Microsoft 内部使用。
WdfDeviceInitRegisterPowerPolicyStateChangeCallback 方法注册驱动程序提供的事件回调函数,当设备的电源策略状态机更改状态时,框架将调用该函数。
语法
NTSTATUS WdfDeviceInitRegisterPowerPolicyStateChangeCallback(
[in] PWDFDEVICE_INIT DeviceInit,
[in] WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState,
[in] PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange,
[in] ULONG CallbackTypes
);
参数
[in] DeviceInit
调用方提供的指向 WDFDEVICE_INIT 结构的指针。
[in] PowerPolicyState
一个WDF_DEVICE_POWER_POLICY_STATE枚举器,用于标识驱动程序请求通知的电源策略计算机状态。
[in] EvtDevicePowerPolicyStateChange
调用方提供的指向驱动程序的 EvtDevicePowerPolicyStateChange 事件回调函数的指针。
[in] CallbackTypes
WDF_STATE_NOTIFICATION_TYPE类型枚举器的 ORed 组合。
返回值
如果 WdfDeviceInitRegisterPowerPolicyStateChangeCallback 未遇到任何错误,则返回STATUS_SUCCESS。 其他返回值包括:
返回代码 | 说明 |
---|---|
|
检测到参数无效。 |
|
内存不足,无法完成操作。 |
注解
如果驱动程序调用 WdfDeviceInitRegisterPowerPolicyStateChangeCallback,则必须在调用 WdfDeviceCreate 之前调用 WdfDeviceCreate。
有关 WdfDeviceInitRegisterPowerPolicyStateChangeCallback 的详细信息,请参阅 框架中的状态机。
示例
下面的代码示例注册了一个事件回调函数,当设备的电源策略状态机更改状态时,框架将调用该函数。
status = WdfDeviceInitRegisterPowerPolicyStateChangeCallback(
DeviceInit,
WdfDevStatePwrPolCheckPowerPageable,
PciDrvPowerPolicyStateChangeCallback,
StateNotificationAllStates
);
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
标头 | wdfdevice.h (包括 Wdf.h) |
Library | Wdf01000.sys (请参阅框架库 Versioning.) |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | ChildDeviceInitAPI (kmdf) 、 DeviceInitAPI (kmdf) 、 DriverCreate (kmdf) 、 InitFreeDeviceCallback (kmdf) 、 InitFreeDeviceCreate (df) 、 InitFreeNull (kmdf) 、 KmdfIrql (kmdf) 、 KmdfIrql2 (kmdf) 、KmdfQlExplicit (kmdf) , PdoDeviceInitAPI (kmdf) 、 PdoInitFreeDeviceCallback (kmdf) 、 PdoInitFreeDeviceCreate (kmdf) |