Freigeben über


SYSTEM_POWER_STATE_CONTEXT Struktur (wdm.h)

Die SYSTEM_POWER_STATE_CONTEXT Struktur ist eine teilweise undurchsichtige Systemstruktur, die Informationen über die vorherigen Systemleistungszustände eines Computers enthält.

Syntax

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;

Angehörige

DUMMYUNIONNAME

Unbenannte Vereinigung.

DUMMYUNIONNAME.DUMMYSTRUCTNAME

Unbenannte Struktur.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved1

Undurchsichtiges Element. Reserviert für die Systemverwendung.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.TargetSystemState

Der Leistungsstatus des Zielsystems des vorherigen Systemleistungs-IRP, das der Treiber empfangen hat. Dieses Element wird auf einen SYSTEM_POWER_STATE Enumerationswert festgelegt. Treiber sollten dieses Mitglied als schreibgeschützt behandeln.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.EffectiveSystemState

Der effektive vorherige Systemleistungszustand, wie er vom Benutzer wahrgenommen wird. Dieses Element wird auf einen SYSTEM_POWER_STATE Enumerationswert festgelegt. Treiber sollten dieses Mitglied als schreibgeschützt behandeln. Dieser Memberwert stimmt möglicherweise nicht mit dem TargetSystemState Member überein, wenn beispielsweise der vorherige Systembetriebs-IRP angibt, dass der Computer in den Ruhezustand wechselt, aber stattdessen ein hybrides Herunterfahren aufgetreten ist, um den Computer für einen schnellen Start vorzubereiten. Weitere Informationen finden Sie in den Hinweisen.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.CurrentSystemState

Undurchsichtiges Element. Reserviert für die Systemverwendung.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.IgnoreHibernationPath

Undurchsichtiges Element. Reserviert für die Systemverwendung.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.PseudoTransition

Undurchsichtiges Element. Reserviert für die Systemverwendung.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.KernelSoftReboot

Undurchsichtiges Element. Reserviert für die Systemverwendung.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.DirectedDripsTransition

Undurchsichtiges Element. Reserviert für die Systemverwendung.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.Reserved2

Undurchsichtiges Element. Reserviert für die Systemverwendung.

DUMMYUNIONNAME.ContextAsUlong

Undurchsichtiges Element. Reserviert für die Systemverwendung.

Bemerkungen

Ab Windows Vista enthält die -I/O-Position in einem System-IRP- eine SYSTEM_POWER_STATE_CONTEXT Struktur. Das Power-Element der IO_STACK_LOCATION-Struktur enthält ein SystemPowerStateContext--Element, das eine SYSTEM_POWER_STATE_CONTEXT Struktur ist. Weitere Informationen finden Sie unter IO_STACK_LOCATION.

Die Größe der SYSTEM_POWER_STATE_CONTEXT Struktur beträgt vier Byte. Diese Struktur ist in Bitfelder unterteilt, von denen die meisten für Treiber undurchsichtig sind und ausschließlich für die Verwendung durch das Betriebssystem reserviert sind. Zwei dieser Bitfelder, TargetSystemState und EffectiveSystemState, können jedoch von Kernelmodustreibern gelesen werden, um einen schnellen Start von einem Start aus dem Ruhezustand zu unterscheiden. Weitere Informationen finden Sie unter Distinguishing Fast Startup from Wake-from-Hibernation.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows Vista.
Header- wdm.h (include Ntpoapi.h)

Siehe auch

IO_STACK_LOCATION

SYSTEM_POWER_STATE