STOR_POFX_COMPONENT structure (storport.h)
La structure STOR_POFX_COMPONENT décrit les attributs d’état d’alimentation d’un composant de périphérique de stockage. La structure STOR_POFX_COMPONENT_V2 fournit un contrôle d’état d’alimentation supplémentaire.
Syntaxe
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;
Membres
Version
Numéro de version de cette structure. Définissez ce membre sur STOR_POFX_DEVICE_VERSION_V1.
Size
La taille de cette structure. Définissez cette valeur sur STOR_POFX_COMPONENT_SIZE.
FStateCount
Nombre d’éléments dans le tableau pointant vers le membre FStates . En outre, ce membre spécifie le nombre d’états d’alimentation fonctionnels (état F) pris en charge par le composant. Un composant doit prendre en charge au moins un état F (F0).
DeepestWakeableFState
Index de l’état F le plus profond à partir duquel le composant peut sortir de veille. Spécifiez 0 pour F0, 1 pour F1, etc. Cet index doit être inférieur à FStateCount.
Id
ID de composant qui identifie de manière unique ce composant par rapport aux autres composants de l’appareil. Le pilote doit spécifier une valeur différente de zéro pour ce membre si l’infrastructure de gestion de l’alimentation (PoFx) nécessite un ID de composant pour distinguer ce composant d’autres composants similaires dans le même appareil. Les ID de composant pris en charge par Storport sont STORPORT_POFX_ADAPTER_GUID (identifie un adaptateur) et STORPORT_POFX_LUN_GUID (identifie une unité).
FStates[ANYSIZE_ARRAY]
Tableau de structures STOR_POFX_COMPONENT_IDLE_STATE . La longueur de ce tableau est spécifiée par le membre FStateCount . Chaque élément de tableau spécifie les attributs d’un état F pris en charge par le composant. L’élément 0 décrit F0, l’élément 1 décrit F1, et ainsi de suite. Lorsque plusieurs structures d’état inactives sont requises, les structures supplémentaires sont allouées à la fin de la structure STOR_ POFX_COMPONENT et FStateCount est définie sur 1, qui est la valeur de ANYSIZE_ARRAY, plus le nombre de structures supplémentaires.
Remarques
Lorsqu’un pilote miniport inscrit un appareil auprès de l’infrastructure de gestion de l’alimentation Storport, le pilote miniport fournit une structure de STOR_POFX_DEVICE qui contient les informations d’inscription. Cette structure contient un tableau de structures STOR_ POFX_COMPONENT . Les éléments de ce tableau décrivent les attributs de puissance des composants individuels de l’appareil. Les paramètres d’alimentation de ces composants sont gérés en fonction des informations contenues dans ce tableau.
Le membre Id contient un ID de composant qui identifie un composant de manière unique. L’ID de composant n’est pas le même que l’index du composant, qu’une routine telle que StorPortPoFxActivateComponent utilise pour identifier un composant dans un appareil inscrit. Un index de composant est un index dans le tableau Components de la structure STOR_POFX_DEVICE utilisée par le pilote de périphérique pour inscrire l’appareil. Si le tableau Components contient N éléments, les index de composant sont des valeurs entières comprises entre 0 et N-1. En revanche, un ID de composant est une valeur GUID.
L’ID du composant de périphérique à adaptateur unique est défini dans storport.h comme STORPORT_POFX_ADAPTER_GUID. L’ID du composant d’appareil à unité unique est STORPORT_POFX_LUN_GUID. Utilisez ces identificateurs lors de la description d’un composant d’adaptateur ou d’un composant d’unité dans le membre Id .
Les exigences relatives à l’état F sont les suivantes :
- Pour un composant de périphérique d’adaptateur, le miniport doit spécifier un seul composant et jusqu’à huit états F pour l’adaptateur. StorPortInitializePoFxPower doit être appelé par le miniport uniquement dans le contexte de la routine d’initialisation passive du miniport.
- Pour un composant d’appareil unitaire, le miniport doit spécifier un seul composant pour l’unité et peut spécifier jusqu’à deux états F. L’appareil d’unité doit avoir l’état F0 spécifié et peut éventuellement avoir un état F supplémentaire. StorPortInitializePoFxPower doit être appelé par le miniport uniquement dans le contexte du contrôle d’unité ScsiUnitPoFxPowerInfo du miniport.
Pour un composant d’appareil unitaire, si un état F supplémentaire est inclus dans le tableau FStates , le membre size reste défini sur STOR_POFX_COMPONENT_SIZE et n’inclut pas la taille de la structure de STOR_POFX_COMPONENT_IDLE_STATE supplémentaire.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8 |
En-tête | storport.h |