estrutura STOR_POFX_DEVICE (storport.h)

A estrutura STOR_POFX_DEVICE descreve os atributos de energia de um dispositivo de armazenamento para a PoFx (estrutura de gerenciamento de energia).

Sintaxe

typedef struct _STOR_POFX_DEVICE {
  ULONG               Version;
  ULONG               Size;
  ULONG               ComponentCount;
  ULONG               Flags;
  STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY];
} STOR_POFX_DEVICE, *PSTOR_POFX_DEVICE;

Membros

Version

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

Size

O tamanho desta estrutura. Defina esse valor como STOR_POFX_DEVICE_SIZE.

ComponentCount

O número de elementos na matriz Components . Defina esse membro como 1. Atualmente, há suporte para apenas um único componente para um adaptador de armazenamento ou uma unidade lógica.

Flags

Os sinalizadores de recursos de estado de energia do dispositivo. O miniporto define um ou mais dos sinalizadores de dispositivo PoFx para habilitar ou desabilitar os recursos de estado de energia.

Flags é uma combinação OR bit a bit do seguinte.

Valor Significado
STOR_POFX_DEVICE_FLAG_DISABLE_INTERRUPTS_ON_D3
Especifica que, quando definido, o Storport desabilitará as interrupções ao colocar o Adaptador em D3 e reativará as interrupções ao retomar para D0.
STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD
Permite que o Storport defina o estado frio D3 para o adaptador se ele der suporte a ele. Esse sinalizador se aplica somente aos adaptadores.
STOR_POFX_DEVICE_FLAG_NO_D0
Solicita que um IRP de energia não seja enviado ao objeto do dispositivo para o adaptador ou unidade.
STOR_POFX_DEVICE_FLAG_NO_D3
Solicita que um IRP de desligar não seja enviado para o objeto do dispositivo para o adaptador ou unidade.
STOR_POFX_DEVICE_FLAG_NO_DUMP_ACTIVE
O miniporto não poderá colocar o dispositivo de armazenamento ativo no modo de despejo se o dispositivo tiver inserido o estado ocioso ou desligado quando estiver ocioso. Esse sinalizador indica se um dispositivo está disponível para despejo quando está ocioso.

Components[ANYSIZE_ARRAY]

Esse membro é o primeiro elemento em uma matriz de um ou mais elementos STOR_POFX_COMPONENT . Se a matriz contiver mais de um elemento, os elementos adicionais seguirão imediatamente a estrutura STOR_POFX_DEVICE . A matriz contém um elemento para cada componente no dispositivo. Atualmente, os dispositivos de armazenamento têm apenas um componente, portanto, estruturas de componentes adicionais são desnecessárias.

Comentários

Para registrar um adaptador de armazenamento para suporte ao Storport PoFx, o driver de miniport chama StorPortEnablePassiveInitialization em sua rotina HwStorInitialize e implementa um HwStorPassiveInitializeRoutine. O miniporto chama StorPortInitializePoFxPower dentro de HwStorPassiveInitializeRoutine para fornecer informações sobre o componente do adaptador.

Para registrar uma unidade de armazenamento para suporte ao Storport PoFx, o driver de miniporto implementa a rotina de retorno de chamada HwStorUnitControl e fornece a manipulação do código de controle de unidade ScsiUnitPoFxPowerInfo . Ao manipular o código de controle ScsiUnitPoFxPowerInfo , o miniporto chamará StorPortInitializePoFxPower se o gerenciamento de energia ocioso para o componente de unidade estiver habilitado.

O componente para o dispositivo de armazenamento identificado pelo índice de matriz Componentes . Os dispositivos de armazenamento têm apenas um componente, portanto, o índice de 0 é usado. Rotinas como StorPortPoFxActivateComponent e StorPortPoFxIdleComponent usam o índice de matriz de um componente para identificar o componente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte começando com Windows 8.
Cabeçalho storport.h

Confira também

STOR_POFX_COMPONENT

StorPortInitializePoFxPower

StorPortPoFxActivateComponent

StorPortPoFxIdleComponent