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

キャッシュにさまざまな種類のデータが残っている可能性を判断します。 たとえば、この値によって、READ または WRITE 操作からキャッシュされたデータには、プリフェッチ操作などの他の状況でキャッシュされたデータとは異なる優先順位が与えられる場合があります。 したがって、 EqualPriority の値は、優先的にキャッシュにデータが保持されていないことを示します。 ReadRetentionPriorityEqualPriority に設定すると、すべての種類のデータがキャッシュ メモリに等しいアクセス権を持つ。 一方、 KeepPrefetchedData の値は、プリフェッチされたデータに対してユーザー設定を指定することを示し 、KeepReadData の値は READ 操作からキャッシュされたデータに対してユーザー設定を指定することを示します。 このメンバーに割り当てることができる値の詳細については、 DISK_CACHE_RETENTION_PRIORITY 列挙体を参照してください。

WriteRetentionPriority

ReadRetentionPriority の下のディスカッションを参照してください。

DisablePrefetchTransferLength

プリフェッチを無効にします。 要求されたブロックの数が DisablePrefetchTransferLength の値を超えると、プリフェッチが無効になる場合があります。 0 の場合、ブロック要求のサイズに関係なくプリフェッチは無効になります。

PrefetchScalar

TRUE の場合、ScalarPrefetch.Maximum を転送長と共に使用して、プリフェッチできるデータの量を計算することを示します。 FALSE の場合、BlockPrefetch.Maximum はプリフェッチできるディスク ブロックの最大数になります。

DUMMYUNIONNAME

DUMMYUNIONNAME.ScalarPrefetch

DUMMYUNIONNAME.ScalarPrefetch.Minimum

PrefetchScalar が TRUE の場合の要求の転送長のスカラー乗数を格納しますPrefetchScalarTRUE の場合、ScalarPrefetch.Minimum の値に転送長を乗算して、ディスク操作のキャッシュにプリフェッチできる最小量のデータを取得します。

DUMMYUNIONNAME.ScalarPrefetch.Maximum

PrefetchScalar が TRUE の場合の要求の転送長のスカラー乗数を格納しますPrefetchScalarTRUE の場合、ScalarPrefetch.Maximum の値に転送長が乗算され、ディスク操作でキャッシュにプリフェッチできるデータの最大量が取得されます。

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

転送長の最大サイズをブロック単位で格納します。

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

PrefetchScalar が TRUE の場合の要求の転送長のスカラー乗数を格納しますPrefetchScalarTRUE の場合、ScalarPrefetch.Minimum の値に転送長を乗算して、ディスク操作のキャッシュにプリフェッチできる最小量のデータを取得します。

DUMMYUNIONNAME.BlockPrefetch.Maximum

PrefetchScalar が TRUE の場合の要求の転送長のスカラー乗数を格納しますPrefetchScalarTRUE の場合、ScalarPrefetch.Maximum の値に転送長が乗算され、ディスク操作でキャッシュにプリフェッチできるデータの最大量が取得されます。

要件

要件
Header ntdddisk.h (Ntdddisk.h を含む)

こちらもご覧ください

DISK_CACHE_INFORMATION

IOCTL_DISK_GET_CACHE_INFORMATION