Condividi tramite


struttura HYBRID_INFORMATION (ntddscsi.h)

La struttura HYBRID_INFORMATION contiene informazioni sulle funzionalità del disco ibrido. La struttura viene restituita quando la funzione HYBRID_FUNCTION_GET_INFO viene selezionata in una richiesta di IOCTL_SCSI_MINIPORT_HYBRID inviata a un driver miniport HBA.

Sintassi

typedef struct _HYBRID_INFORMATION {
  ULONG          Version;
  ULONG          Size;
  BOOLEAN        HybridSupported;
  NVCACHE_STATUS Status;
  NVCACHE_TYPE   CacheTypeEffective;
  NVCACHE_TYPE   CacheTypeDefault;
  ULONG          FractionBase;
  ULONGLONG      CacheSize;
  struct {
    ULONG WriteCacheChangeable : 1;
    ULONG WriteThroughIoSupported : 1;
    ULONG FlushCacheSupported : 1;
    ULONG Removable : 1;
    ULONG ReservedBits : 28;
  } Attributes;
  struct {
    UCHAR                             PriorityLevelCount;
    BOOLEAN                           MaxPriorityBehavior;
    UCHAR                             OptimalWriteGranularity;
    UCHAR                             Reserved;
    ULONG                             DirtyThresholdLow;
    ULONG                             DirtyThresholdHigh;
    struct {
      ULONG CacheDisable : 1;
      ULONG SetDirtyThreshold : 1;
      ULONG PriorityDemoteBySize : 1;
      ULONG PriorityChangeByLbaRange : 1;
      ULONG Evict : 1;
      ULONG ReservedBits : 27;
      ULONG MaxEvictCommands;
      ULONG MaxLbaRangeCountForEvict;
      ULONG MaxLbaRangeCountForChangeLba;
    } SupportedCommands;
    NVCACHE_PRIORITY_LEVEL_DESCRIPTOR Priority[0];
  } Priorities;
} HYBRID_INFORMATION, *PHYBRID_INFORMATION;

Members

Version

Versione di questa struttura. Impostare su HYBRID_REQUEST_INFO_STRUCTURE_VERSION.

Size

Dimensione della struttura. Impostare su sizeof(HYBRID_INFORMATION).

HybridSupported

Miniport supporta per i dischi ibridi. Impostare su TRUE se sono supportati dischi ibridi. In caso contrario, FALSE.

Status

Stato della cache del disco ibrido. Contiene uno dei valori seguenti.

Valore Significato
NvCacheStatusUnknown
Il driver miniport non è in grado di segnalare lo stato della cache.
NvCacheStatusDisabling
La cache sta attualmente passando allo stato NvCacheStatusDisabled .
NvCacheStatusDisabled
La cache nel disco ibrido è disabilitata.
NvCacheStatusEnabled
La cache nel disco ibrido è abilitata.

CacheTypeEffective

Tipo di memorizzazione nella cache non volatile attualmente impostato per il disco ibrido. Il tipo di cache effettivo è uno dei valori seguenti.

Valore Significato
NvCacheTypeUnknown
Il driver miniport non è in grado di segnalare il tipo di cache
NvCacheNone
Il disco non supporta una cache non volatile.
NvCacheTypeWriteBack
La memorizzazione nella cache writeback è supportata dal disco ibrido.
NvCacheTypeWriteThrough
La memorizzazione nella cache write-through è supportata dal disco ibrido.

CacheTypeDefault

Tipo di memorizzazione nella cache predefinito usato dal disco ibrido. I valori possibili sono gli stessi di CacheTypeEffective.

FractionBase

Valore di base per i campi frazionari in questa struttura. Questo valore è impostato su 255.

CacheSize

Dimensioni, in LBA, del disco ibrido non volatile.

Attributes

Attributi del disco ibrido.

Attributes.WriteCacheChangeable

Supporto per le modifiche apportate ai criteri di memorizzazione nella cache di scrittura. Il valore è 1 sono consentite le modifiche ai criteri. In caso contrario, le modifiche vengono ignorate.

Attributes.WriteThroughIoSupported

Supporto per singole operazioni di scrittura quando viene usata la memorizzazione nella cache write-through. Il valore è 1 se sono supportate singole scritture. In caso contrario, i valori sono 0.

Attributes.FlushCacheSupported

Supporto per lo scaricamento della cache non volatile. Il valore è 1 se sono supportati gli scaricamenti. In caso contrario, il valore è 0.

Attributes.Removable

Supporto della rimozione della cache non volatile dal disco. Il valore è 1 se la cache è rimovibile. In caso contrario, il valore è 0.

Attributes.ReservedBits

Riservato.

Priorities

Impostazioni di priorità per il disco ibrido.

Priorities.PriorityLevelCount

Numero di livelli di priorità supportati dalla cache. Attualmente, un valore diverso da zero indica il supporto per tutte le priorità.

Priorities.MaxPriorityBehavior

Se TRUE, l'I/O del disco può avere esito negativo con priorità massima se la cache è piena. In caso contrario, se FALSE, l'operazione verrà completata su disco.

Priorities.OptimalWriteGranularity

Priorities.Reserved

Priorities.DirtyThresholdLow

Soglia bassa per lo scaricamento della cache. Questo valore è un rapporto nell'intervallo di FractionBase.

Priorities.DirtyThresholdHigh

Soglia bassa per lo scaricamento della cache. Questo valore è un rapporto nell'intervallo di FractionBase.

Priorities.SupportedCommands

Supporto per comandi specifici della cache non volatile per il disco ibrido.

Priorities.SupportedCommands.CacheDisable

Supporto per le modifiche apportate ai criteri di memorizzazione nella cache di scrittura. Il valore è 1 sono consentite le modifiche ai criteri. In caso contrario, le modifiche vengono ignorate.

Priorities.SupportedCommands.SetDirtyThreshold

Supporto per singole operazioni di scrittura quando viene usata la memorizzazione nella cache write-through. Il valore è 1 se sono supportate singole scritture. In caso contrario, i valori sono 0.

Priorities.SupportedCommands.PriorityDemoteBySize

Supporto per lo scaricamento della cache non volatile. Il valore è 1 se sono supportati gli scaricamenti. In caso contrario, il valore è 0.

Priorities.SupportedCommands.PriorityChangeByLbaRange

Supporto per le modifiche della priorità dell'intervallo LBA. Il valore è 1 se sono supportate le modifiche di priorità. In caso contrario, il valore è 0.

Priorities.SupportedCommands.Evict

Supporto della rimozione della cache non volatile dal disco. Il valore è 1 se la cache è rimovibile. In caso contrario, il valore è 0.

Priorities.SupportedCommands.ReservedBits

Riservato.

Priorities.SupportedCommands.MaxEvictCommands

I comandi Evict simultanei massimi consentiti in sospeso. Questo valore è valido quando Evict è impostato su 1.

Priorities.SupportedCommands.MaxLbaRangeCountForEvict

Numero massimo di intervalli LBA che è possibile associare a un comando Evict. Questo valore è valido quando Evict è impostato su 1.

Priorities.SupportedCommands.MaxLbaRangeCountForChangeLba

Numero massimo di intervalli LBA che è possibile associare a un comando Di modifica priorità. Questo valore è valido quando PriorityChangeByVoltaRange è impostato su 1.

Priorities.Priority[0]

Matrice di descrittori a livello di priorità. Il numero di descrittori presenti nella matrice è impostato in PriorityLevelCount.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.1.
Intestazione ntddscsi.h (include Ntddscsi.h)

Vedi anche

IOCTL_SCSI_MINIPORT_HYBRID