Freigeben über


STOR_POFX_COMPONENT Struktur (storport.h)

Die STOR_POFX_COMPONENT-Struktur beschreibt die Energiezustandsattribute einer Speichergerätekomponente. Die STOR_POFX_COMPONENT_V2-Struktur bietet zusätzliche Leistungszustandssteuerung.

Syntax

typedef struct _STOR_POFX_COMPONENT {
  ULONG                          Version;
  ULONG                          Size;
  ULONG                          FStateCount;
  ULONG                          DeepestWakeableFState;
  GUID                           Id;
  STOR_POFX_COMPONENT_IDLE_STATE FStates[ANYSIZE_ARRAY];
} STOR_POFX_COMPONENT, *PSTOR_POFX_COMPONENT;

Angehörige

Version

Die Versionsnummer dieser Struktur. Legen Sie dieses Element auf STOR_POFX_DEVICE_VERSION_V1fest.

Size

Die Größe dieser Struktur. Legen Sie diesen Wert auf STOR_POFX_COMPONENT_SIZEfest.

FStateCount

Die Anzahl der Elemente im Array, auf die durch das element FStates verwiesen wird. Darüber hinaus gibt dieses Mitglied die Anzahl der Funktionskraftzustände (F-Zustand) an, die die Komponente unterstützt. Eine Komponente muss mindestens einen F-Zustand (F0) unterstützen.

DeepestWakeableFState

Der Index des tiefsten F-Zustands, aus dem die Komponente reaktiv werden kann. Geben Sie 0 für F0, 1 für F1 usw. an. Dieser Index muss kleiner als FStateCountsein.

Id

Eine Komponenten-ID, die diese Komponente eindeutig in Bezug auf die anderen Komponenten des Geräts identifiziert. Der Treiber sollte einen Wert ungleich Null für dieses Element angeben, wenn das Power Management Framework (PoFx) eine Komponenten-ID erfordert, um diese Komponente von anderen, ähnlichen Komponenten auf demselben Gerät zu unterscheiden. Die von Storport unterstützten Komponenten-IDs sind STORPORT_POFX_ADAPTER_GUID (identifiziert einen Adapter) und STORPORT_POFX_LUN_GUID (identifiziert eine Einheit).

FStates[ANYSIZE_ARRAY]

Ein Array von STOR_POFX_COMPONENT_IDLE_STATE Strukturen. Die Länge dieses Arrays wird durch das FStateCount Member angegeben. Jedes Arrayelement gibt die Attribute eines F-Zustands an, der von der Komponente unterstützt wird. Element 0 beschreibt F0, Element 1 beschreibt F1 usw. Wenn mehr als eine Leerlaufzustandsstruktur erforderlich ist, werden die zusätzlichen Strukturen am Ende der STOR_ POFX_COMPONENT Struktur zugeordnet, und die FStateCount- wird auf 1 festgelegt, was der Wert von ANYSIZE_ARRAY und die Anzahl der zusätzlichen Strukturen ist.

Bemerkungen

Wenn ein Miniporttreiber ein Gerät mit dem Storport Power Management Framework registriert, stellt der Miniporttreiber eine STOR_POFX_DEVICE Struktur bereit, die die Registrierungsinformationen enthält. Diese Struktur enthält ein Array von STOR_ POFX_COMPONENT Strukturen. Die Elemente in diesem Array beschreiben die Leistungsattribute der einzelnen Komponenten im Gerät. Die Energieeinstellungen dieser Komponenten werden basierend auf den Informationen in diesem Array verwaltet.

Das Id Member enthält eine Komponenten-ID, die eine Komponente eindeutig identifiziert. Die Komponenten-ID ist nicht identisch mit dem Komponentenindex, der von einer Routine wie StorPortPoFxActivateComponent verwendet wird, um eine Komponente in einem registrierten Gerät zu identifizieren. Ein Komponentenindex ist ein Index im Components Array in der STOR_POFX_DEVICE Struktur, die der Gerätetreiber zum Registrieren des Geräts verwendet hat. Wenn das Components Array N-Elemente enthält, sind Komponentenindizes ganzzahlige Werte im Bereich 0 bis N-1. Im Gegensatz dazu ist eine Komponenten-ID ein GUID-Wert.

Die ID für die Einzeladaptergerätekomponente wird in storport.h als STORPORT_POFX_ADAPTER_GUID definiert. Die ID für die Einzeleinheitsgerätekomponente wird STORPORT_POFX_LUN_GUID. Verwenden Sie diese Bezeichner, wenn Sie entweder eine Adapterkomponente oder eine Komponentenkomponente im ID Member beschreiben.

Die F-Zustandsanforderungen sind wie folgt:

  • Für eine Adaptergerätekomponente muss der Miniport eine einzelne Komponente und bis zu acht F-Zustände für den Adapter angeben. StorPortInitializePoFxPower sollte nur im Kontext der passiven Initialisierungsroutine von Miniport aufgerufen werden.
  • Bei einer Komponentenkomponente muss der Miniport eine einzelne Komponente für die Einheit angeben und kann bis zu zwei F-Zustände angeben. Das Gerät muss den F0-Zustand angeben und optional einen zusätzlichen F-Zustand aufweisen. StorPortInitializePoFxPower sollte nur im Kontext des ScsiUnitPoFxPowerInfo Unit Controlvom Miniport aufgerufen werden.

Wenn für eine Komponentenkomponente ein zusätzlicher F-Zustand im FStates- Array enthalten ist, bleibt das Größenelement auf STOR_POFX_COMPONENT_SIZE festgelegt und enthält nicht die Größe der zusätzlichen STOR_POFX_COMPONENT_IDLE_STATE Struktur.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 8
Header- storport.h

Siehe auch

HW_UNIT_CONTROL

STOR_POFX_COMPONENT_V2

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent