Поделиться через


структура DISK_CACHE_INFORMATION (ntdddisk.h)

Структура DISK_CACHE_INFORMATION используется с запросом IOCTL_DISK_GET_CACHE_INFORMATION для получения сведений о кэше.

Синтаксис

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;

Члены

ParametersSavable

Указывает, если задано значение 1, устройство может сохранять любые параметры в энергонезависимом хранилище.

ReadCacheEnabled

Указывает , если задано значение 1, что кэш чтения включен.

WriteCacheEnabled

Указывает , если задано значение 1, что кэш записи включен.

ReadRetentionPriority

Определяет вероятность того, что различные типы данных останутся в кэше. С помощью этого значения, например, данные, кэшированные из операций ЧТЕНИЯ или ЗАПИСИ, могут иметь другой приоритет, чем данные, кэшированные при других обстоятельствах, таких как операции предварительной выборки. Таким образом, значение EqualPriority указывает, что данные не хранятся в кэше на предпочтительной основе. Если параметр ReadRetentionPriority имеет значение EqualPriority, все типы данных имеют равный доступ к кэш-памяти. С другой стороны, значение KeepPrefetchedData указывает, что предпочтение должно быть отдано предварительно полученным данным, а значение KeepReadData указывает, что предпочтение должно быть предоставлено данным, кэшируемым из операции READ. Дополнительные сведения о значениях, которые могут быть назначены этому члену, см. в перечислении DISK_CACHE_RETENTION_PRIORITY .

WriteRetentionPriority

См. обсуждение в разделе ReadRetentionPriority.

DisablePrefetchTransferLength

Отключает предварительную выборку. Предварительная выборка может быть отключена всякий раз, когда количество запрошенных блоков превышает значение в DisablePrefetchTransferLength. При нулевом значении предварительная выборка отключается независимо от размера запроса блока.

PrefetchScalar

При значении TRUE указывает, что scalarPrefetch.Maximum следует использовать вместе с длиной передачи, чтобы вычислить объем данных, которые можно предварительно получить. При значении FALSEзначение BlockPrefetch.Maximum будет являться максимальным числом блоков диска, которые можно предварительно получить.

DUMMYUNIONNAME

DUMMYUNIONNAME.ScalarPrefetch

DUMMYUNIONNAME.ScalarPrefetch.Minimum

Содержит скалярный множитель длины передачи запроса, если PrefetchScalar имеет значение TRUE. Если параметр PrefetchScalar имеет значение TRUE, значение в ScalarPrefetch.Minimum умножается на длину передачи, чтобы получить минимальный объем данных, которые можно предварительно получить в кэш на диске.

DUMMYUNIONNAME.ScalarPrefetch.Maximum

Содержит скалярный множитель длины передачи запроса, если PrefetchScalar имеет значение TRUE. Если параметр PrefetchScalar имеет значение TRUE, значение в ScalarPrefetch.Maximum умножается на длину передачи, чтобы получить максимальный объем данных, которые можно предварительно получить в кэш на диске.

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

Содержит максимальный размер (в блоках) длины передачи.

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

Содержит скалярный множитель длины передачи запроса, если PrefetchScalar имеет значение TRUE. Если параметр PrefetchScalar имеет значение TRUE, значение в ScalarPrefetch.Minimum умножается на длину передачи, чтобы получить минимальный объем данных, которые можно предварительно получить в кэш на диске.

DUMMYUNIONNAME.BlockPrefetch.Maximum

Содержит скалярный множитель длины передачи запроса, если PrefetchScalar имеет значение TRUE. Если параметр PrefetchScalar имеет значение TRUE, значение в ScalarPrefetch.Maximum умножается на длину передачи, чтобы получить максимальный объем данных, которые можно предварительно получить в кэш на диске.

Требования

Требование Значение
Заголовок ntdddisk.h (включая Ntdddisk.h)

См. также раздел

DISK_CACHE_INFORMATION

IOCTL_DISK_GET_CACHE_INFORMATION