GetSystemPowerState Выход не определен в pm.h - PullRequest
1 голос
/ 08 июня 2010

Я пытаюсь вывести состояние ожидания пользователя из моего устройства Windows Mobile.

Когда я запускаю функцию GetSystemPowerState (через 15 минут не касаясь устройства), я получаю следующее значение:

Dec: 302055424
Шестнадцатеричный: 0x12010000
Контейнер: 10010000000010000000000000000

Я надеялся, что PowerState & POWER_STATE_USERIDLE == POWER_STATE_USERIDLE будет правдой. Но POWER_STATE_USERIDLE - 0x01000000, а у меня 0x02000000.

Я пошел посмотреть 0x02000000 и обнаружил, что его нет в pm.h.

Что означает 0x02000000? Куда мне обратиться, чтобы узнать?

1 Ответ

3 голосов
/ 09 июня 2010

Согласно pm.h (находится в %WINCEROOT%\PUBLIC\COMMON\SDK\INC)

#define POWER_STATE(f)           ((f) &  0xFFFF0000) // power state mask
#define POWER_STATE_ON           (DWORD)(0x00010000) // on state
#define POWER_STATE_OFF          (DWORD)(0x00020000) // no power, full off
#define POWER_STATE_CRITICAL     (DWORD)(0x00040000) // critical off
#define POWER_STATE_BOOT         (DWORD)(0x00080000) // boot state
#define POWER_STATE_IDLE         (DWORD)(0x00100000) // idle state
#define POWER_STATE_SUSPEND      (DWORD)(0x00200000) // suspend state
#define POWER_STATE_UNATTENDED   (DWORD)(0x00400000) // Unattended state.
#define POWER_STATE_RESET        (DWORD)(0x00800000) // reset state
#define POWER_STATE_USERIDLE     (DWORD)(0x01000000) // user idle state
#define POWER_STATE_BACKLIGHTON  (DWORD)(0x02000000) // device scree backlight on
#define POWER_STATE_PASSWORD     (DWORD)(0x10000000) // This state is password protected.

Поэтому мне кажется, что у вас есть следующее:

POWER_STATE_ON | POWER_STATE_BACKLIGHTON | POWER_STATE_PASSWORD

...