Метод IWDFDevice2::GetSystemPowerAction (wudfddi.h)

[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. В UMDF 1 новые функции не добавляются, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с UMDF.]

Метод GetSystemPowerAction возвращает действие питания системы , если таковое имеется, которое выполняется в данный момент для компьютера.

Синтаксис

POWER_ACTION GetSystemPowerAction();

Возвращаемое значение

GetSystemPowerAction возвращает POWER_ACTION типизированное значение перечислителя. Значение указывает на действие питания системы , которое в настоящее время выполняется для компьютера. Дополнительные сведения см. в разделе "Примечания".

Комментарии

Метод GetSystemPowerAction позволяет драйверу определить, происходит ли переход питания устройства из-за простоя (или пробуждения) или из-за того, что весь компьютер переходит (или покидает) состояние с низким энергопотреблением.

Драйвер должен вызывать GetSystemPowerAction только из функций обратного вызова событий, вызываемых платформой, когда устройство входит в состояние с низким энергопотреблением или возвращается в рабочее состояние.

Значение, возвращаемое Командой GetSystemPowerAction, зависит от следующих ситуаций:

  • Если компьютер находится в состоянии низкого энергопотребления, когда драйвер вызывает GetSystemPowerAction, метод возвращает причину, по которой компьютер входит в состояние с низким энергопотреблением. Например, метод возвращает PowerActionSleep , если компьютер входит в состояние с низким энергопотреблением S1, S2 или S3.
  • Если компьютер возвращается в рабочее состояние (S0) из состояния с низким энергопотреблением, когда драйвер вызывает GetSystemPowerAction, метод возвращает причину, по которой компьютер перешел в состояние с низким энергопотреблением. Например, метод возвращает PowerActionSleep , если компьютер покидает состояние S1, S2 или S3 с низким энергопотреблением.
  • Если компьютер включается (после выключения), когда драйвер вызывает GetSystemPowerAction, метод возвращает PowerActionNone.
  • Если устройство входит в состояние простоя с низким энергопотреблением или возвращается в рабочее (D0) состояние, когда драйвер вызывает GetSystemPowerAction, в то время как остальная часть системы остается в рабочем состоянии (S0), метод возвращает PowerActionNone.
  • Если компьютер и устройство находятся в рабочем состоянии, когда драйвер вызывает GetSystemPowerAction, метод возвращает PowerActionNone.
Дополнительные сведения о состояниях с низким энергопотреблением см. в разделе Устройство переходит в состояние Low-Power.

Примеры

В следующем примере кода получается интерфейс 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

См. также раздел

IWDFDevice2