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
ダイレクトドリップの移行。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved2
不透明なメンバー。 システム用に予約されています。
DUMMYUNIONNAME.ContextAsUlong
不透明なメンバー。 システム用に予約されています。
備考
Windows Vista 以降では、I/O スタックの場所、システム電源 IRP に SYSTEM_POWER_STATE_CONTEXT 構造が含まれています。 IO_STACK_LOCATION 構造体の Power メンバーには、SystemPowerStateContext メンバーが含まれています。これは SYSTEM_POWER_STATE_CONTEXT 構造体です。 詳細については、IO_STACK_LOCATIONを参照してください。
SYSTEM_POWER_STATE_CONTEXT 構造体のサイズは 4 バイトです。 この構造体はビット フィールドに分割され、そのほとんどはドライバーに対して不透明であり、オペレーティング システムで使用するために排他的に予約されています。 ただし、TargetSystemState と EffectiveSystemStateの 2 つのビット フィールドをカーネル モード ドライバーで読み取り、スリープ解除スタートアップと高速起動を区別できます。 詳細については、「Wake-from-Hibernationからの高速起動の区別」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降で使用できます。 |
ヘッダー | ntpoapi.h (Ntpoapi.h を含む) |