Compartir a través de


estructura de STOR_POFX_COMPONENT_V2 (storport.h)

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

Sintaxis

typedef struct _STOR_POFX_COMPONENT_V2 {
  ULONG                          Version;
  ULONG                          Size;
  ULONG                          FStateCount;
  ULONG                          DeepestWakeableFState;
  GUID                           Id;
  ULONG                          DeepestAdapterPowerRequiredFState;
  ULONG                          DeepestCrashDumpReadyFState;
  STOR_POFX_COMPONENT_IDLE_STATE FStates[ANYSIZE_ARRAY];
} STOR_POFX_COMPONENT_V2, *PSTOR_POFX_COMPONENT_V2;

Miembros

Version

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

Size

Tamaño de esta estructura. Establezca este valor en STOR_POFX_COMPONENT_V2_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 energía funcional (estado F) 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).

DeepestAdapterPowerRequiredFState

El estado F más profundo en el que este componente puede estar en el lugar donde el adaptador todavía requiere alimentación. Esto solo es relevante para los componentes cuyo identificador es STOR_POFX_LUN_GUID.

DeepestCrashDumpReadyFState

El estado F más profundo en el que el componente puede estar en el que el miniporte puede encender el componente en caso de que se produzca un bloqueo y es necesario escribir un volcado de memoria.

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_V2 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 de 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 componente 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 miniporte debe especificar un único componente y hasta ocho estados F para el adaptador. El miniporte debe llamar a StorPortInitializePoFxPower solo dentro del contexto de la rutina de inicialización pasiva de la miniporte.
  • Para un componente de dispositivo de unidad, el minipuerto 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 10
Encabezado storport.h

Consulte también

HW_UNIT_CONTROL

STOR_POFX_COMPONENT

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent