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) |