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 结构的大小为 4 个字节。 此结构划分为多个位字段,其中大多数字段对驱动程序不透明,专用于操作系统使用。 但是,内核模式驱动程序可以读取其中两个位字段 TargetSystemStateEffectiveSystemState,以区分快速启动和从休眠唤醒启动。 有关详细信息,请参阅 区分快速启动与从休眠唤醒

要求

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

另请参阅

IO_STACK_LOCATION

SYSTEM_POWER_STATE