WdfDeviceInitSetPowerPolicyEventCallbacks 函数 (wdfdevice.h)

[适用于 KMDF 和 UMDF]

WdfDeviceInitSetPowerPolicyEventCallbacks 方法注册驱动程序的电源策略事件回调函数。

语法

void WdfDeviceInitSetPowerPolicyEventCallbacks(
  [in] PWDFDEVICE_INIT                   DeviceInit,
  [in] PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks
);

参数

[in] DeviceInit

调用方提供的指向 WDFDEVICE_INIT 结构的指针。

[in] PowerPolicyEventCallbacks

指向调用方初始化 WDF_POWER_POLICY_EVENT_CALLBACKS 结构的指针。

返回值

备注

如果驱动程序调用 WdfDeviceInitSetPowerPolicyEventCallbacks,则必须在调用 WdfDeviceCreate 之前调用 WdfDeviceCreate。 有关详细信息,请参阅 创建框架设备对象

有关 WdfDeviceInitSetPowerPolicyEventCallbacks 的详细信息,请参阅 Power Policy 所有权

示例

下面的代码示例初始化 WDF_POWER_POLICY_EVENT_CALLBACKS 结构,然后调用 WdfDeviceInitSetPowerPolicyEventCallbacks

WDF_POWER_POLICY_EVENT_CALLBACKS powerPolicyCallbacks;

WDF_POWER_POLICY_EVENT_CALLBACKS_INIT(&powerPolicyCallbacks);
powerPolicyCallbacks.EvtDeviceArmWakeFromS0 = PciDrvEvtDeviceWakeArmS0;
powerPolicyCallbacks.EvtDeviceDisarmWakeFromS0 = PciDrvEvtDeviceWakeDisarmS0;
powerPolicyCallbacks.EvtDeviceWakeFromS0Triggered = PciDrvEvtDeviceWakeTriggeredS0;
powerPolicyCallbacks.EvtDeviceArmWakeFromSx = PciDrvEvtDeviceWakeArmSx;
powerPolicyCallbacks.EvtDeviceDisarmWakeFromSx = PciDrvEvtDeviceWakeDisarmSx;
powerPolicyCallbacks.EvtDeviceWakeFromSxTriggered = PciDrvEvtDeviceWakeTriggeredSx;
WdfDeviceInitSetPowerPolicyEventCallbacks(
                                          DeviceInit,
                                          &powerPolicyCallbacks
                                          );

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfdevice.h (包括 Wdf.h)
Library Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 ChildDeviceInitAPI (kmdf) DeviceInitAPI (kmdf) DriverCreate (kmdf) FDOPowerPolicyOwnerAPI (kmdf) KmdfIrql (kmdf) KmdfIrql2 (kmdf) 、KmdfIrqlExplicit (kmdf) , NonFDONotPowerPolicyOwnerAPI (kmdf) PdoDeviceInitAPI (kmdf)

另请参阅

WDF_POWER_POLICY_EVENT_CALLBACKS_INIT

WdfDeviceInitSetPnpPowerEventCallbacks