Compartilhar via


estrutura STOR_POFX_COMPONENT_V2 (storport.h)

A estrutura STOR_POFX_COMPONENT_V2 descreve os atributos de estado de energia de um componente de dispositivo de armazenamento.

Sintaxe

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;

Membros

Version

O número de versão dessa estrutura. Defina esse membro como STOR_POFX_DEVICE_VERSION_V2.

Size

O tamanho desta estrutura. Defina esse valor como STOR_POFX_COMPONENT_V2_SIZE.

FStateCount

O número de elementos na matriz que é apontado pelo membro FStates . Além disso, esse membro especifica o número de estados de energia funcionais (estado F) aos quais o componente dá suporte. Um componente deve dar suporte a pelo menos um F-state (F0).

DeepestWakeableFState

O índice do estado F mais profundo do qual o componente pode ser ativado. Especifique 0 para F0, 1 para F1 e assim por diante. Esse índice deve ser menor que FStateCount.

Id

Uma ID de componente que identifica exclusivamente esse componente em relação aos outros componentes no dispositivo. O driver deve especificar um valor diferente de zero para esse membro se a PoFx (estrutura de gerenciamento de energia) exigir uma ID de componente para distinguir esse componente de outros componentes semelhantes no mesmo dispositivo. As IDs de componente compatíveis com o Storport são STORPORT_POFX_ADAPTER_GUID (identifica um adaptador) e STORPORT_POFX_LUN_GUID (identifica uma unidade).

DeepestAdapterPowerRequiredFState

O estado F mais profundo em que esse componente pode estar onde o adaptador ainda requer energia. Isso só é relevante para componentes cuja ID é STOR_POFX_LUN_GUID.

DeepestCrashDumpReadyFState

O estado F mais profundo em que o componente pode estar onde o miniporto pode ligar o componente caso ocorra uma falha e um despejo de memória precise ser gravado.

FStates[ANYSIZE_ARRAY]

Uma matriz de estruturas STOR_POFX_COMPONENT_IDLE_STATE . O comprimento dessa matriz é especificado pelo membro FStateCount . Cada elemento de matriz especifica os atributos de um estado F com suporte do componente. O elemento 0 descreve F0, o elemento 1 descreve F1 e assim por diante. Quando mais de uma estrutura de estado ocioso é necessária, as estruturas adicionais são alocadas no final da estrutura STOR_ POFX_COMPONENT_V2 e FStateCount é definida como 1, que é o valor de ANYSIZE_ARRAY, além da contagem das estruturas adicionais.

Comentários

Quando um driver de miniporta registra um dispositivo com a estrutura de gerenciamento de energia do Storport, o driver de miniporta fornece uma estrutura STOR_POFX_DEVICE que contém as informações de registro. Essa estrutura contém uma matriz de estruturas STOR_ POFX_COMPONENT . Os elementos nessa matriz descrevem os atributos de energia dos componentes individuais no dispositivo. As configurações de energia desses componentes são gerenciadas com base nas informações nessa matriz.

O membro ID contém uma ID de componente que identifica exclusivamente um componente. A ID do componente não é igual ao índice do componente, que uma rotina como StorPortPoFxActivateComponent usa para identificar um componente em um dispositivo registrado. Um índice de componente é um índice na matriz Components na estrutura STOR_POFX_DEVICE que o driver de dispositivo usou para registrar o dispositivo. Se a matriz Components contiver N elementos, os índices de componentes serão valores inteiros no intervalo de 0 a N a 1. Por outro lado, uma ID de componente é um valor GUID.

A ID do componente de dispositivo de adaptador único é definida em storport.h como STORPORT_POFX_ADAPTER_GUID. A ID do componente de dispositivo de unidade única é STORPORT_POFX_LUN_GUID. Use esses identificadores ao descrever um componente de adaptador ou um componente de unidade no membro Id .

Os requisitos de estado F são os seguintes:

  • Para um componente de dispositivo de adaptador, o miniporto deve especificar um único componente e até oito estados F para o adaptador. StorPortInitializePoFxPower deve ser chamado pelo miniport somente dentro do contexto da rotina de inicialização passiva do miniport.
  • Para um componente de dispositivo de unidade, o miniporto deve especificar um único componente para a unidade e pode especificar até dois estados F. O dispositivo de unidade deve ter o estado F0 especificado e, opcionalmente, pode ter um estado F adicional. StorPortInitializePoFxPower deve ser chamado pelo miniport somente dentro do contexto do controle de unidade ScsiUnitPoFxPowerInfo do miniport.

Para um componente de dispositivo de unidade, se um estado F adicional for incluído na matriz FStates , o membro de tamanho permanecerá definido como STOR_POFX_COMPONENT_SIZE e não incluirá o tamanho da estrutura de STOR_POFX_COMPONENT_IDLE_STATE adicional.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10
Cabeçalho storport.h

Confira também

HW_UNIT_CONTROL

STOR_POFX_COMPONENT

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent