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 メンバーには、SYSTEM_POWER_STATE_CONTEXT構造体である SystemPowerStateContext メンバーが含まれています。 詳細については、「 IO_STACK_LOCATION」を参照してください。
SYSTEM_POWER_STATE_CONTEXT構造体のサイズは 4 バイトです。 この構造体はビット フィールドに分割され、そのほとんどはドライバーに対して不透明であり、オペレーティング システムでのみ使用するために予約されています。 ただし、これらのビット フィールド TargetSystemState と EffectiveSystemState の 2 つをカーネル モード ドライバーで読み取り、スリープ解除から休止状態のスタートアップと高速スタートアップを区別できます。 詳細については、「 高速スタートアップと Wake-from-Hibernation の区別」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降で使用できます。 |
Header | wdm.h (Ntpoapi.h を含む) |