STOR_POFX_DEVICE_V3 struttura (storport.h)

La struttura STOR_POFX_DEVICE_V3 descrive gli attributi di alimentazione di un dispositivo di archiviazione nel framework di gestione energia (PoFx). Questa struttura è simile a STOR_POFX_DEVICE , ma consente al chiamante di specificare un valore di timeout inattivo.

Sintassi

typedef struct _STOR_POFX_DEVICE_V3 {
  ULONG               Version;
  ULONG               Size;
  ULONG               ComponentCount;
  ULONG               Flags;
  union {
    ULONG UnitMinIdleTimeoutInMS;
    ULONG AdapterIdleTimeoutInMS;
  };
  ULONG               MinimumPowerCyclePeriodInMS;
  STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY];
} STOR_POFX_DEVICE_V3, *PSTOR_POFX_DEVICE_V3;

Members

Version

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

Size

Dimensione della struttura. Impostare questo valore su STOR_POFX_DEVICE_V3_SIZE.

ComponentCount

Numero di elementi nella matrice Components . Impostare questo membro su 1. Attualmente, solo un singolo componente è supportato per una scheda di archiviazione o un'unità logica.

Flags

Flag delle funzionalità dello stato dell'alimentazione del dispositivo. Il miniport imposta uno o più flag di dispositivo PoFx per abilitare o disabilitare le funzionalità dello stato di alimentazione. I flag sono una combinazione OR bit per bit del seguente.

Valore del flag Significato
STOR_POFX_DEVICE_FLAG_NO_D0 (0x01) Richiede che un'IRP di alimentazione non venga inviata all'oggetto dispositivo per l'adattatore o l'unità.
STOR_POFX_DEVICE_FLAG_NO_D3 (0x02) Richiede che un'IRP di alimentazione non venga inviata all'oggetto dispositivo per l'adattatore o l'unità.
STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD (0x04) Consente a Storport di impostare lo stato A freddo D3 per l'adattatore se lo supporta. Questo flag si applica solo agli adattatori.
STOR_POFX_DEVICE_FLAG_NO_DUMP_ACTIVE (0x08) Indica se un dispositivo è disponibile per il dump quando è inattiva. Il miniport non è in grado di portare il dispositivo di archiviazione attivo in modalità dump se il dispositivo ha immesso lo stato di inattività o la disattivazione quando lo stato inattiva.
STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT (0x10) Se il STOR_POFX_DEVICE_V3 rappresenta un'unità, questo flag indica che il campo UnitMinIdleTimeoutInMS deve essere rispettato. Se il STOR_POFX_DEVICE_V3 rappresenta un adattatore, questo indica che il campo AdapterIdleTimeoutInMS deve essere rispettato.
STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_IDLE_TIMEOUT (0x20) Indica che Storport deve regolare dinamicamente il timeout di inattività D3 in modo che il dispositivo possa immettere in modo aggressivo D3 quando necessario. Questa operazione è valida solo quando viene usato STOR_POFX_DEVICE_V3 .
STOR_POFX_DEVICE_FLAG_NO_UNIT_REGISTRATION (0x40) Specifica che nessuna delle unità esposte da questa scheda deve essere registrata per la gestione della potenza di runtime. Questa opzione è valida solo per le strutture STOR_POFX_DEVICE che rappresentano un adattatore.
STOR_POFX_DEVICE_FLAG_PERF_STATE_PEP_OPTIONAL (0x80) Indica che il miniport non richiede il supporto P-State dal plug-in dell'estensione della piattaforma (PEP). In caso di dubbio, impostare questo flag.
STOR_POFX_DEVICE_FLAG_NO_IDLE_DEBOUNCE (0x100) Controlla la modalità di alimentazione della versione dump del miniport quando il dispositivo è in stato di alimentazione inferiore.
STOR_POFX_DEVICE_FLAG_DUMP_ALWAYS_POWER_ON (0x200) Il miniport vuole che lo stack di dump tenti di attivare il dispositivo.
STOR_POFX_DEVICE_FLAG_DISABLE_INTERRUPTS_ON_D3 (0x400) Il miniport vuole disabilitare/abilitare gli interruzioni nelle transizioni Dx.
STOR_POFX_DEVICE_FLAG_ADAPTER_D3_WAKE (0x800) Supporto di riattivazione dell'adattatore D3 dell'adattatore isopt-in miniport.
STOR_POFX_DEVICE_FLAG_GET_PERF_STATE_FROM_PEP (0x1000) Il miniport richiede stati P dal PEP.

UnitMinIdleTimeoutInMS

Tempo di inattività minimo in millisecondi per un'unità. Questo valore è valido solo quando STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT è impostato in Flag.

AdapterIdleTimeoutInMS

Valore timeout inattiva dell'adapter in millisecondi. Questo valore è valido solo quando STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT è impostato in Flag.

MinimumPowerCyclePeriodInMS

Indica che il dispositivo non deve essere in ciclo di alimentazione (D0 - D3 ->> D0) più di una volta per ogni periodo specificato in millisecondi. Questo membro è valido solo quando è stato impostato il flag di STOR_POFX_DEVICE_FLAG_ADAPTIVE_D3_IDLE_TIMEOUT.

Components[ANYSIZE_ARRAY]

Questo membro è il primo elemento in una matrice di uno o più elementi STOR_POFX_COMPONENT . Se la matrice contiene più elementi, gli elementi aggiuntivi seguono immediatamente la struttura STOR_POFX_DEVICE . La matrice contiene un elemento per ogni componente del dispositivo. Attualmente, i dispositivi di archiviazione hanno solo un componente in modo che le strutture aggiuntive dei componenti non siano necessarie.

Commenti

Per registrare un adattatore di archiviazione per il supporto di Storport PoFx, il driver miniport chiama StorPortEnablePassiveInitialization nella routine HwStorInitialize e implementa una routine HwStorPassiveInitializeRoutine. Il miniport chiama StorPortInitializePoFxPower all'interno di HwStorPassiveInitializeRoutine per fornire informazioni sul componente dell'adattatore.

Per registrare un'unità di archiviazione per il supporto di Storport PoFx, il driver miniport implementa la routine di callback HwStorUnitControl e fornisce la gestione del codice di controllo unità SCSIUnitPoFxPowerInfo . Quando si gestisce il codice di controllo SCSIUnitPoFxPowerInfo , il miniport chiama StorPortInitializePoFxPower se è abilitato il risparmio energia inattiva per il componente unità.

Componente per il dispositivo di archiviazione identificato dall'indice matrice Components . I dispositivi di archiviazione hanno solo un componente in modo che venga usato l'indice 0. Routine come StorPortPoFxActivateComponent e StorPortPoFxIdleComponent usano l'indice di matrice di un componente per identificare il componente.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Intestazione Storport.h

Vedi anche

STOR_POFX_COMPONENT

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent

StorPortPoFxIdleComponent