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;

Membri

Version

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

Size

Dimensione di questa 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 il FStateCount è impostato su 1, ovvero il valore di ANYSIZE_ARRAY, più il conteggio delle strutture aggiuntive.

Osservazioni

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.

L'ID membro 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 utilizzata dal driver di dispositivo per registrare il dispositivo. Se la matrice Components contiene N elementi, gli indici dei componenti sono valori interi nell'intervallo compreso tra 0 e 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 è STORPORT_POFX_LUN_GUID. Utilizzare questi identificatori quando si descrive un componente adattatore o un componente di unità nel membro ID.

I requisiti di 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 l'adattatore. StorPortInitializePoFxPower deve essere chiamato dal miniport solo all'interno del contesto della routine di inizializzazione passiva del miniport.
  • Per un componente dispositivo 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 unità, se un ulteriore stato F è incluso nella matrice FStates, il membro delle dimensioni rimane impostato su STOR_POFX_COMPONENT_SIZE e non include le dimensioni della struttura aggiuntiva STOR_POFX_COMPONENT_IDLE_STATE.

Fabbisogno

Requisito Valore
client minimo supportato Windows 8
intestazione storport.h

Vedere anche

HW_UNIT_CONTROL

STOR_POFX_COMPONENT_V2

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent