estructura STOR_POFX_COMPONENT (storport.h)

La estructura STOR_POFX_COMPONENT describe los atributos de estado de energía de un componente de dispositivo de almacenamiento. La estructura de STOR_POFX_COMPONENT_V2 proporciona control de estado de energía adicional.

Sintaxis

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;

Miembros

Version

Número de versión de esta estructura. Establezca este miembro en STOR_POFX_DEVICE_VERSION_V1.

Size

Tamaño de esta estructura. Establezca este valor en STOR_POFX_COMPONENT_SIZE.

FStateCount

Número de elementos de la matriz a los que apunta el miembro FStates . Además, este miembro especifica el número de estados de potencia funcional (F-state) que admite el componente. Un componente debe admitir al menos un estado F (F0).

DeepestWakeableFState

Índice del estado F más profundo desde el que se puede reactivar el componente. Especifique 0 para F0, 1 para F1, etc. Este índice debe ser menor que FStateCount.

Id

Identificador de componente que identifica de forma única este componente con respecto a los demás componentes del dispositivo. El controlador debe especificar un valor distinto de cero para este miembro si el marco de administración de energía (PoFx) requiere un identificador de componente para distinguir este componente de otros componentes similares en el mismo dispositivo. Los identificadores de componente admitidos por Storport son STORPORT_POFX_ADAPTER_GUID (identifica un adaptador) y STORPORT_POFX_LUN_GUID (identifica una unidad).

FStates[ANYSIZE_ARRAY]

Matriz de estructuras de STOR_POFX_COMPONENT_IDLE_STATE . El miembro FStateCount especifica la longitud de esta matriz. Cada elemento de matriz especifica los atributos de un estado F admitido por el componente. El elemento 0 describe F0, el elemento 1 describe F1, etc. Cuando se requiere más de una estructura de estado inactivo, las estructuras adicionales se asignan al final de la estructura de STOR_ POFX_COMPONENT y FStateCount se establece en 1, que es el valor de ANYSIZE_ARRAY, además del recuento de las estructuras adicionales.

Comentarios

Cuando un controlador de minipuerto registra un dispositivo con el marco de administración de energía de Storport, el controlador de minipuerto proporciona una estructura STOR_POFX_DEVICE que contiene la información de registro. Esta estructura contiene una matriz de estructuras de STOR_ POFX_COMPONENT . Los elementos de esta matriz describen los atributos de potencia de los componentes individuales del dispositivo. La configuración de energía de estos componentes se administra en función de la información de esta matriz.

El miembro Id contiene un identificador de componente que identifica de forma única un componente. El identificador de componente no es el mismo que el índice del componente, que una rutina como StorPortPoFxActivateComponent usa para identificar un componente en un dispositivo registrado. Un índice de componente es un índice en la matriz Components de la estructura STOR_POFX_DEVICE que el controlador de dispositivo usó para registrar el dispositivo. Si la matriz Components contiene N elementos, los índices de componentes son valores enteros en el intervalo de 0 a N-1. Por el contrario, un identificador de componente es un valor GUID.

El identificador del componente de dispositivo de adaptador único se define en storport.h como STORPORT_POFX_ADAPTER_GUID. El identificador del componente de dispositivo de unidad única es STORPORT_POFX_LUN_GUID. Use estos identificadores al describir un componente de adaptador o un componente de unidad en el miembro Id .

Los requisitos de estado F son los siguientes:

  • Para un componente de dispositivo de adaptador, el minipuerto debe especificar un único componente y hasta ocho estados F para el adaptador. El miniporte solo debe llamar a StorPortInitializePoFxPower dentro del contexto de la rutina de inicialización pasiva del miniporte.
  • Para un componente de dispositivo de unidad, el miniport debe especificar un único componente para la unidad y puede especificar hasta dos estados F. El dispositivo de unidad debe tener el estado F0 especificado y, opcionalmente, puede tener un estado F adicional. El miniporte debe llamar a StorPortInitializePoFxPower solo dentro del contexto del control de unidad ScsiUnitPoFxPowerInfo de la miniporte.

Para un componente de dispositivo de unidad, si se incluye un estado F adicional en la matriz FStates , el miembro de tamaño permanece establecido en STOR_POFX_COMPONENT_SIZE y no incluye el tamaño de la estructura de STOR_POFX_COMPONENT_IDLE_STATE adicional.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Encabezado storport.h

Consulte también

HW_UNIT_CONTROL

STOR_POFX_COMPONENT_V2

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent