[仅适用于 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。 其他返回值包括:
返回代码 | 描述 |
---|---|
|
检测到无效参数。 |
|
内存不足,无法完成作。 |
言论
如果驱动程序调用 WdfDeviceInitRegisterPowerStateChangeCallback,则必须在调用 WdfDeviceCreate之前执行此作。
有关调用 WdfDeviceCreate的详细信息,请参阅框架 中的状态机。
例子
下面的代码示例注册了框架在设备电源状态机更改状态时将调用的事件回调函数。
status = WdfDeviceInitRegisterPowerStateChangeCallback(
DeviceInit,
WdfDevStatePowerD0StartingConnectInterrupt,
PciDrvPowerStateChangeCallback,
StateNotificationAllStates
);
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
最低 KMDF 版本 | 1.0 |
标头 | wdfdevice.h (包括 Wdf.h) |
库 | Wdf01000.sys(请参阅框架库版本控制。 |
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) |