Condividi tramite


struttura DISK_CACHE_INFORMATION (ntdddisk.h)

La struttura DISK_CACHE_INFORMATION viene utilizzata con la richiesta di IOCTL_DISK_GET_CACHE_INFORMATION per recuperare le informazioni della cache.

Sintassi

typedef struct _DISK_CACHE_INFORMATION {
  BOOLEAN                       ParametersSavable;
  BOOLEAN                       ReadCacheEnabled;
  BOOLEAN                       WriteCacheEnabled;
  DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
  DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
  USHORT                        DisablePrefetchTransferLength;
  BOOLEAN                       PrefetchScalar;
  union {
    struct {
      USHORT Minimum;
      USHORT Maximum;
      USHORT MaximumBlocks;
    } ScalarPrefetch;
    struct {
      USHORT Minimum;
      USHORT Maximum;
    } BlockPrefetch;
  } DUMMYUNIONNAME;
} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;

Membri

ParametersSavable

Indica, se impostato su 1, che il dispositivo è in grado di salvare tutti i parametri nell'archiviazione non volatile.

ReadCacheEnabled

Indica, se impostato su 1, che la cache di lettura è abilitata.

WriteCacheEnabled

Indica, se impostato su 1, che la cache di scrittura è abilitata.

ReadRetentionPriority

Determina la probabilità di vari tipi di dati rimanenti nella cache. Per mezzo di questo valore, ad esempio, ai dati memorizzati nella cache da un'operazione READ o WRITE potrebbe essere assegnata una priorità diversa rispetto ai dati memorizzati nella cache in altre circostanze, ad esempio le operazioni di prelettura. Pertanto, un valore di EqualPriority indica che nessun dato viene mantenuto nella cache su base preferenziale. Quando ReadRetentionPriority è impostato su EqualPriority, tutti i tipi di dati hanno accesso uguale alla memoria della cache. D'altra parte, un valore di KeepPrefetchedData indica che una preferenza deve essere assegnata ai dati prelettura mentre un valore di KeepReadData indica che una preferenza deve essere assegnata ai dati memorizzati nella cache da un'operazione READ. Per altre informazioni sui valori che è possibile assegnare a questo membro, vedere l'enumerazione DISK_CACHE_RETENTION_PRIORITY.

WriteRetentionPriority

Vedere la discussione in ReadRetentionPriority.

DisablePrefetchTransferLength

Disabilita il prelettura. La prelettura potrebbe essere disabilitata ogni volta che il numero di blocchi richiesti supera il valore in DisablePrefetchTransferLength. Quando zero, la prelettura viene disabilitata indipendentemente dalle dimensioni della richiesta di blocco.

PrefetchScalar

Quando TRUE, indica che ScalarPrefetch.Maximum deve essere usato insieme alla lunghezza del trasferimento per calcolare la quantità di dati che è possibile recuperare. Quando FALSE, BlockPrefetch.Maximum sarà il numero massimo di blocchi di disco che è possibile preletturare.

DUMMYUNIONNAME

DUMMYUNIONNAME.ScalarPrefetch

DUMMYUNIONNAME.ScalarPrefetch.Minimum

Contiene il moltiplicatore scalare della lunghezza di trasferimento della richiesta quando PrefetchScalar è TRUE. Se PrefetchScalar è TRUE, il valore in ScalarPrefetch.Minimum viene moltiplicato per la lunghezza del trasferimento per ottenere la quantità minima di dati che è possibile recuperare nella cache in un'operazione su disco.

DUMMYUNIONNAME.ScalarPrefetch.Maximum

Contiene il moltiplicatore scalare della lunghezza di trasferimento della richiesta quando PrefetchScalar è TRUE. Se PrefetchScalar è TRUE, il valore in ScalarPrefetch.Maximum viene moltiplicato per la lunghezza del trasferimento per ottenere la quantità massima di dati che è possibile recuperare nella cache in un'operazione su disco.

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

Contiene le dimensioni massime, in blocchi, della lunghezza del trasferimento.

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

Contiene il moltiplicatore scalare della lunghezza di trasferimento della richiesta quando PrefetchScalar è TRUE. Se PrefetchScalar è TRUE, il valore in ScalarPrefetch.Minimum viene moltiplicato per la lunghezza del trasferimento per ottenere la quantità minima di dati che è possibile recuperare nella cache in un'operazione su disco.

DUMMYUNIONNAME.BlockPrefetch.Maximum

Contiene il moltiplicatore scalare della lunghezza di trasferimento della richiesta quando PrefetchScalar è TRUE. Se PrefetchScalar è TRUE, il valore in ScalarPrefetch.Maximum viene moltiplicato per la lunghezza del trasferimento per ottenere la quantità massima di dati che è possibile recuperare nella cache in un'operazione su disco.

Fabbisogno

Requisito Valore
intestazione ntdddisk.h (include Ntdddisk.h)

Vedere anche

DISK_CACHE_INFORMATION

IOCTL_DISK_GET_CACHE_INFORMATION