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 枚举值。 驱动程序应将此成员视为只读。 例如,如果以前的系统电源 IRP 表示计算机即将进入休眠状态,但发生混合关闭来准备计算机以便快速启动,则此成员值可能与 TargetSystemState 成员不匹配。 有关详细信息,请参阅“备注”。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.CurrentSystemState

不透明成员。 保留供系统使用。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.IgnoreHibernationPath

不透明成员。 保留供系统使用。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.PseudoTransition

不透明成员。 保留供系统使用。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.KernelSoftReboot

不透明成员。 保留供系统使用。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.DirectedDripsTransition

不透明成员。 保留供系统使用。

DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved2

不透明成员。 保留供系统使用。

DUMMYUNIONNAME.ContextAsUlong

不透明成员。 保留供系统使用。

言论

从 Windows Vista 开始,系统电源 IRP 中的 I/O 堆栈位置 包含 SYSTEM_POWER_STATE_CONTEXT 结构。 IO_STACK_LOCATION 结构的 Power 成员包含 SystemPowerStateContext 成员,这是一个 SYSTEM_POWER_STATE_CONTEXT 结构。 有关详细信息,请参阅 IO_STACK_LOCATION

SYSTEM_POWER_STATE_CONTEXT 结构的大小为四个字节。 此结构分为位字段,其中大多数是驱动程序不透明的,并专门保留供作系统使用。 但是,这两个位字段(TargetSystemStateEffectiveSystemState)可由内核模式驱动程序读取,以便将快速启动与唤醒与休眠启动区区分开来。 有关详细信息,请参阅 区分快速启动与休眠唤醒。

要求

要求 价值
最低支持的客户端 从 Windows Vista 开始可用。
标头 wdm.h (包括 Ntpoapi.h)

另请参阅

IO_STACK_LOCATION

SYSTEM_POWER_STATE