SYSTEM_POWER_STATE_CONTEXT 结构 (ntpoapi.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
定向 DRIPS 转换。
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 个字节。 此结构划分为多个位字段,其中大多数字段对驱动程序不透明,专用于操作系统使用。 但是,内核模式驱动程序可以读取其中两个位字段 TargetSystemState 和 EffectiveSystemState,以区分快速启动和从休眠唤醒启动。 有关详细信息,请参阅 区分快速启动与从休眠唤醒。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows Vista 开始可用。 |
标头 | ntpoapi.h (包括 Ntpoapi.h) |