IWDFDevice2::GetSystemPowerAction 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,并取代 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]
GetSystemPowerAction 方法返回计算机当前发生的系统电源操作(如果有)。
语法
POWER_ACTION GetSystemPowerAction();
返回值
GetSystemPowerAction 返回 POWER_ACTION类型的枚举器值。 值指示计算机当前发生的 系统电源操作 。 有关更多信息,请参见下面的“备注”部分。
注解
GetSystemPowerAction 方法使驱动程序能够确定设备电源转换是由于设备处于空闲 (或) 唤醒,还是因为整个计算机进入 (或) 处于低功耗状态而发生。
驱动程序必须仅在设备进入低功耗状态或返回到其工作状态时从框架调用的事件回调函数调用 GetSystemPowerAction。
GetSystemPowerAction 返回的值取决于以下情况:
- 如果在驱动程序调用 GetSystemPowerAction 时计算机进入低功耗状态,该方法将返回计算机进入低功耗状态的原因。 例如,如果计算机进入其 S1、S2 或 S3 低功耗状态,方法将返回 PowerActionSleep 。
- 如果计算机在驱动程序调用 GetSystemPowerAction 时从低功耗状态返回到其工作 (S0) 状态,该方法将返回计算机进入低功耗状态的原因。 例如,如果计算机离开其 S1、S2 或 S3 低功耗状态,方法将返回 PowerActionSleep 。
- 如果计算机在驱动程序调用 GetSystemPowerAction 时关闭) 后 (启动,则该方法返回 PowerActionNone。
- 如果设备在驱动程序调用 GetSystemPowerAction 时进入低功耗空闲状态或返回到其工作 (D0) 状态,而系统的其余部分保持其工作 (S0) 状态,则该方法返回 PowerActionNone。
- 如果驱动程序调用 GetSystemPowerAction 时计算机和设备都处于工作状态,则该方法返回 PowerActionNone。
示例
下面的代码示例获取 IWDFDevice2 接口,然后调用 GetSystemPowerAction。
IWDFDevice2 *pDevice2 = NULL;
HRESULT hrQI = pDevice->QueryInterface(IID_PPV_ARGS(&pDevice2));
if (SUCCEEDED(hrQI))
{
POWER_ACTION powerAction = pDevice2->GetSystemPowerAction();
}
...
SAFE_RELEASE(pDevice2);
要求
要求 | 值 |
---|---|
结束支持 | 在 UMDF 2.0 及更高版本中不可用。 |
目标平台 | 桌面 |
最低 UMDF 版本 | 1.9 |
标头 | wudfddi.h (包括 Wudfddi.h) |
DLL | WUDFx.dll |