Condividi tramite


struttura STOR_POFX_COMPONENT (storport.h)

La struttura STOR_POFX_COMPONENT descrive gli attributi dello stato di alimentazione di un componente del dispositivo di archiviazione. La struttura STOR_POFX_COMPONENT_V2 fornisce un controllo dello stato di alimentazione aggiuntivo.

Sintassi

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;

Members

Version

Numero di versione di questa struttura. Impostare questo membro su STOR_POFX_DEVICE_VERSION_V1.

Size

Dimensione della struttura. Impostare questo valore su STOR_POFX_COMPONENT_SIZE.

FStateCount

Numero di elementi nella matrice a cui punta il membro FStates . Inoltre, questo membro specifica il numero di stati di alimentazione funzionale (stato F) supportati dal componente. Un componente deve supportare almeno uno stato F (F0).

DeepestWakeableFState

Indice dello stato F più profondo da cui il componente può riattivarsi. Specificare 0 per F0, 1 per F1 e così via. Questo indice deve essere minore di FStateCount.

Id

ID componente che identifica in modo univoco questo componente rispetto agli altri componenti del dispositivo. Il driver deve specificare un valore diverso da zero per questo membro se il framework di risparmio energia (PoFx) richiede un ID componente per distinguere questo componente da altri componenti simili nello stesso dispositivo. Gli ID componente supportati da Storport sono STORPORT_POFX_ADAPTER_GUID (identifica un adattatore) e STORPORT_POFX_LUN_GUID (identifica un'unità).

FStates[ANYSIZE_ARRAY]

Matrice di strutture STOR_POFX_COMPONENT_IDLE_STATE . La lunghezza di questa matrice viene specificata dal membro FStateCount . Ogni elemento della matrice specifica gli attributi di uno stato F supportato dal componente. L'elemento 0 descrive F0, l'elemento 1 descrive F1 e così via. Quando sono necessarie più strutture di stato inattive, le strutture aggiuntive vengono allocate alla fine della struttura STOR_ POFX_COMPONENT e FStateCount è impostato su 1, ovvero il valore di ANYSIZE_ARRAY, oltre al conteggio delle strutture aggiuntive.

Commenti

Quando un driver miniport registra un dispositivo con il framework di risparmio energia Storport, il driver miniport fornisce una struttura STOR_POFX_DEVICE che contiene le informazioni di registrazione. Questa struttura contiene una matrice di strutture STOR_ POFX_COMPONENT . Gli elementi in questa matrice descrivono gli attributi di alimentazione dei singoli componenti nel dispositivo. Le impostazioni di risparmio energia di questi componenti vengono gestite in base alle informazioni contenute in questa matrice.

Il membro ID contiene un ID componente che identifica in modo univoco un componente. L'ID componente non corrisponde all'indice del componente, usato da una routine come StorPortPoFxActivateComponent per identificare un componente in un dispositivo registrato. Un indice del componente è un indice nella matrice Components nella struttura STOR_POFX_DEVICE usata dal driver di dispositivo per registrare il dispositivo. Se la matrice Components contiene N elementi, gli indici dei componenti sono valori interi compresi nell'intervallo da 0 a N-1. Al contrario, un ID componente è un valore GUID.

L'ID per il componente del dispositivo a scheda singola viene definito in storport.h come STORPORT_POFX_ADAPTER_GUID. L'ID per il singolo componente del dispositivo unità è STORPORT_POFX_LUN_GUID. Utilizzare questi identificatori quando si descrive un componente adattatore o un componente di unità nel membro ID .

I requisiti relativi allo stato F sono i seguenti:

  • Per un componente del dispositivo adattatore, il miniport deve specificare un singolo componente e fino a otto stati F per la scheda. StorPortInitializePoFxPower deve essere chiamato dal miniport solo all'interno del contesto della routine di inizializzazione passiva del miniport.
  • Per un componente del dispositivo di unità, il miniport deve specificare un singolo componente per l'unità e può specificare fino a due stati F. Il dispositivo unità deve avere lo stato F0 specificato e può facoltativamente avere uno stato F aggiuntivo. StorPortInitializePoFxPower deve essere chiamato dal miniport solo all'interno del contesto del controllo unità ScsiUnitPoFxPowerInfo del miniport.

Per un componente del dispositivo di unità, se nella matrice FStates è incluso un ulteriore stato F, il membro delle dimensioni rimane impostato su STOR_POFX_COMPONENT_SIZE e non include le dimensioni della struttura STOR_POFX_COMPONENT_IDLE_STATE aggiuntiva.

Requisiti

Requisito Valore
Client minimo supportato Windows 8
Intestazione storport.h

Vedi anche

HW_UNIT_CONTROL

STOR_POFX_COMPONENT_V2

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent