Поделиться через


структура SYSTEM_POWER_STATE_CONTEXT (wdm.h)

Структура SYSTEM_POWER_STATE_CONTEXT — это частично непрозрачная системная структура, содержащая сведения о предыдущих состояниях системы компьютера.

Синтаксис

typedef struct _SYSTEM_POWER_STATE_CONTEXT {
  union {
    struct {
      ULONG Reserved1 : 8;
      ULONG TargetSystemState : 4;
      ULONG EffectiveSystemState : 4;
      ULONG CurrentSystemState : 4;
      ULONG IgnoreHibernationPath : 1;
      ULONG PseudoTransition : 1;
      ULONG KernelSoftReboot : 1;
      ULONG DirectedDripsTransition : 1;
      ULONG Reserved2 : 8;
    } DUMMYSTRUCTNAME;
    ULONG ContextAsUlong;
  } DUMMYUNIONNAME;
} SYSTEM_POWER_STATE_CONTEXT, *PSYSTEM_POWER_STATE_CONTEXT;

Члены

DUMMYUNIONNAME

Неназванный союз.

DUMMYUNIONNAME.DUMMYSTRUCTNAME

Неименованная структура.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved1

Непрозрачный член. Зарезервировано для использования системы.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.TargetSystemState

Целевое состояние питания системы предыдущего системного IRP, полученное драйвером. Этот элемент имеет значение SYSTEM_POWER_STATE перечисления. Драйверы должны рассматривать этот элемент как доступный только для чтения.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.EffectiveSystemState

Эффективное предыдущее состояние питания системы, которое воспринимается пользователем. Этот элемент имеет значение SYSTEM_POWER_STATE перечисления. Драйверы должны рассматривать этот элемент как доступный только для чтения. Это значение-член может не соответствовать элементу TargetSystemState, если, например, предыдущий системный IRP указал, что компьютер собирался ввести гибернацию, но гибридное завершение работы вместо этого произошло для подготовки компьютера к быстрому запуску. Дополнительные сведения см. в разделе "Примечания".

DUMMYUNIONNAME.DUMMYSTRUCTNAME.CurrentSystemState

Непрозрачный член. Зарезервировано для использования системы.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.IgnoreHibernationPath

Непрозрачный член. Зарезервировано для использования системы.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.PseudoTransition

Непрозрачный член. Зарезервировано для использования системы.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.KernelSoftReboot

Непрозрачный член. Зарезервировано для использования системы.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.DirectedDripsTransition

Непрозрачный член. Зарезервировано для использования системы.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved2

Непрозрачный член. Зарезервировано для использования системы.

DUMMYUNIONNAME.ContextAsUlong

Непрозрачный член. Зарезервировано для использования системы.

Замечания

Начиная с Windows Vista, расположение стека ввода-вывода в системном power IRP содержит структуру SYSTEM_POWER_STATE_CONTEXT. Элемент Power структуры IO_STACK_LOCATION содержит элемент SystemPowerStateContext, являющийся структурой SYSTEM_POWER_STATE_CONTEXT. Дополнительные сведения см. в разделе IO_STACK_LOCATION.

Размер структуры SYSTEM_POWER_STATE_CONTEXT составляет четыре байта. Эта структура делится на битовые поля, большинство из которых являются непрозрачными для драйверов и зарезервированы исключительно для использования операционной системой. Однако два из этих битовых полей, TargetSystemState и EffectiveSystemState, можно считывать драйверами режима ядра, чтобы отличить быстрый запуск от запуска пробуждения от гибернации. Дополнительные сведения см. в разделе Отличие быстрого запуска от пробуждения от Гибернации.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows Vista.
заголовка wdm.h (include Ntpoapi.h)

См. также

IO_STACK_LOCATION

SYSTEM_POWER_STATE