次の方法で共有


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 スタックの場所システム電源 IRPSYSTEM_POWER_STATE_CONTEXT 構造が含まれています。 IO_STACK_LOCATION 構造体の Power メンバーには、SystemPowerStateContext メンバーが含まれています。これは SYSTEM_POWER_STATE_CONTEXT 構造体です。 詳細については、IO_STACK_LOCATIONを参照してください。

SYSTEM_POWER_STATE_CONTEXT 構造体のサイズは 4 バイトです。 この構造体はビット フィールドに分割され、そのほとんどはドライバーに対して不透明であり、オペレーティング システムで使用するために排他的に予約されています。 ただし、TargetSystemStateEffectiveSystemStateの 2 つのビット フィールドをカーネル モード ドライバーで読み取り、スリープ解除スタートアップと高速起動を区別できます。 詳細については、「Wake-from-Hibernationからの高速起動の区別」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降で使用できます。
ヘッダー ntpoapi.h (Ntpoapi.h を含む)

関連項目

IO_STACK_LOCATION

SYSTEM_POWER_STATE