Share via


DISK_CACHE_INFORMATION-Struktur (ntdddisk.h)

Die DISK_CACHE_INFORMATION-Struktur wird mit der IOCTL_DISK_GET_CACHE_INFORMATION Anforderung zum Abrufen von Cacheinformationen verwendet.

Syntax

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;

Member

ParametersSavable

Gibt an, wenn auf 1 festgelegt, dass das Gerät in der Lage ist, alle Parameter im nichtflüchtigen Speicher zu speichern.

ReadCacheEnabled

Gibt an, wenn auf 1 festgelegt, dass der Lesecache aktiviert ist.

WriteCacheEnabled

Gibt an, wenn auf 1 festgelegt, dass der Schreibcache aktiviert ist.

ReadRetentionPriority

Bestimmt die Wahrscheinlichkeit, dass verschiedene Arten von Daten im Cache verbleiben. Mithilfe dieses Werts können daten, die aus einem READ- oder WRITE-Vorgang zwischengespeichert werden, für instance unter anderen Umständen eine andere Priorität erhalten als daten, die unter anderen Umständen zwischengespeichert werden, z. B. Prefetch-Vorgänge. Daher gibt ein Wert von EqualPriority an, dass keine Daten bevorzugt im Cache gespeichert werden. Wenn ReadRetentionPriority auf EqualPriority festgelegt ist, haben alle Datentypen den gleichen Zugriff auf Cachespeicher. Auf der anderen Seite gibt ein Wert von KeepPrefetchedData an, dass eine Einstellung für vorab eingestellte Daten festgelegt werden soll, während ein Wert von KeepReadData angibt, dass Daten, die aus einem READ-Vorgang zwischengespeichert werden, eine Einstellung zugewiesen werden soll. Weitere Informationen zu den Werten, die diesem Member zugewiesen werden können, finden Sie in der DISK_CACHE_RETENTION_PRIORITY-Enumeration .

WriteRetentionPriority

Siehe Diskussion unter ReadRetentionPriority.

DisablePrefetchTransferLength

Deaktiviert prefetching. Prefetching kann deaktiviert werden, wenn die Anzahl der angeforderten Blöcke den Wert in DisablePrefetchTransferLength überschreitet. Bei null ist das Prefetching deaktiviert, unabhängig von der Größe der Blockanforderung.

PrefetchScalar

Wenn TRUE, Gibt an, dass ScalarPrefetch.Maximum zusammen mit der Übertragungslänge verwendet werden soll, um die Datenmenge zu berechnen, die vorab abgerufen werden kann. Bei FALSE ist BlockPrefetch.Maximum die maximale Anzahl von Datenträgerblöcken, die vorab eingestellt werden können.

DUMMYUNIONNAME

DUMMYUNIONNAME.ScalarPrefetch

DUMMYUNIONNAME.ScalarPrefetch.Minimum

Enthält den skalaren Multiplizierer der Übertragungslänge der Anforderung, wenn PrefetchScalarTRUE ist. Wenn PrefetchScalarTRUE ist, wird der Wert in ScalarPrefetch.Minimum mit der Übertragungslänge multipliziert, um die minimale Datenmenge abzurufen, die vorab in den Cache auf einem Datenträgervorgang abgelegt werden kann.

DUMMYUNIONNAME.ScalarPrefetch.Maximum

Enthält den skalaren Multiplizierer der Übertragungslänge der Anforderung, wenn PrefetchScalarTRUE ist. Wenn PrefetchScalarTRUE ist, wird der Wert in ScalarPrefetch.Maximum mit der Übertragungslänge multipliziert, um die maximale Datenmenge abzurufen, die vorab in den Cache auf einem Datenträgervorgang abgelegt werden kann.

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

Enthält die maximale Größe der Übertragungslänge in Blöcken.

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

Enthält den skalaren Multiplizierer der Übertragungslänge der Anforderung, wenn PrefetchScalarTRUE ist. Wenn PrefetchScalarTRUE ist, wird der Wert in ScalarPrefetch.Minimum mit der Übertragungslänge multipliziert, um die minimale Datenmenge abzurufen, die vorab in den Cache auf einem Datenträgervorgang abgelegt werden kann.

DUMMYUNIONNAME.BlockPrefetch.Maximum

Enthält den skalaren Multiplizierer der Übertragungslänge der Anforderung, wenn PrefetchScalarTRUE ist. Wenn PrefetchScalarTRUE ist, wird der Wert in ScalarPrefetch.Maximum mit der Übertragungslänge multipliziert, um die maximale Datenmenge abzurufen, die vorab in den Cache auf einem Datenträgervorgang abgelegt werden kann.

Anforderungen

Anforderung Wert
Header ntdddisk.h (include Ntdddisk.h)

Weitere Informationen

DISK_CACHE_INFORMATION

IOCTL_DISK_GET_CACHE_INFORMATION