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 Energiezustandssteuerung.

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;

Member

Version

Die Versionsnummer dieser Struktur. Legen Sie dieses Element auf STOR_POFX_DEVICE_VERSION_V1 fest.

Size

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

FStateCount

Die Anzahl der Elemente im Array, auf die vom FStates-Member verwiesen wird. Darüber hinaus gibt dieses Element die Anzahl der Funktionsleistungszustä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 aktiviert werden kann. Geben Sie 0 für F0, 1 für F1 usw. an. Dieser Index muss kleiner als FStateCount sein.

Id

Eine Komponenten-ID, die diese Komponente in Bezug auf die anderen Komponenten im Gerät eindeutig identifiziert. Der Treiber sollte einen nonzero-Wert 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 vom 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 der FStateCount wird auf 1 festgelegt, was dem Wert von ANYSIZE_ARRAY und der Anzahl der zusätzlichen Strukturen entspricht.

Hinweise

Wenn ein Miniporttreiber ein Gerät beim Storport-Energieverwaltungsframework 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-Element enthält eine Komponenten-ID, die eine Komponente eindeutig identifiziert. Die Komponenten-ID ist nicht mit dem Komponentenindex identisch, den eine Routine wie StorPortPoFxActivateComponent verwendet, um eine Komponente in einem registrierten Gerät zu identifizieren. Ein Komponentenindex ist ein Index in das Array Components in der STOR_POFX_DEVICE Struktur, die der Gerätetreiber zum Registrieren des Geräts verwendet hat. Wenn das Komponentenarray N-Elemente enthält, sind Komponentenindizes ganzzahlige Werte im Bereich von 0 bis N–1. Im Gegensatz dazu ist eine Komponenten-ID ein GUID-Wert.

Die ID für die Einzelne Adaptergerätekomponente ist in storport.h als STORPORT_POFX_ADAPTER_GUID definiert. Die ID für die Einzeleinheit-Gerätekomponente ist 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 vom Miniport nur im Kontext der passiven Initialisierungsroutine des Miniports aufgerufen werden.
  • Für eine Komponenteneinheit muss der Miniport eine einzelne Komponente für die Einheit angeben und kann bis zu zwei F-Zustände angeben. Für das Gerät muss der F0-Zustand angegeben sein und kann optional einen zusätzlichen F-Zustand aufweisen. StorPortInitializePoFxPower sollte vom Miniport nur im Kontext des ScsiUnitPoFxPowerInfo-Einheitensteuerelements des Miniports aufgerufen werden.

Wenn für eine Komponenteneinheit ein zusätzlicher F-Zustand im FStates-Array enthalten ist, bleibt der Größenmember 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
Unterstützte Mindestversion (Client) Windows 8
Kopfzeile storport.h

Weitere Informationen

HW_UNIT_CONTROL

STOR_POFX_COMPONENT_V2

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent