DISK_CACHE_INFORMATION 構造体 (winioctl.h)

ディスク キャッシュに関する情報を提供します。この構造体は、 IOCTL_DISK_GET_CACHE_INFORMATION および IOCTL_DISK_SET_CACHE_INFORMATION 制御コードによって使用されます。

構文

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

メンバー

ParametersSavable

デバイスが不揮発性ストレージにパラメーターを保存できるかどうかを示します。

ReadCacheEnabled

読み取りキャッシュが有効かどうかを示します。

WriteCacheEnabled

書き込みキャッシュが有効かどうかを示します。

ReadRetentionPriority

読み取り操作からキャッシュされたデータがキャッシュに残っている可能性を判断します。 このデータには、プリフェッチ操作など、他の状況でキャッシュされたデータとは異なる優先順位が与えられる場合があります。

このメンバーには、 DISK_CACHE_RETENTION_PRIORITY 列挙型の次のいずれかの値を指定できます。

値 意味
EqualPriority
0
優先ベースでキャッシュに保持されるデータはありません。
KeepPrefetchedData
1
プリフェッチされたデータを優先する必要があります。
KeepReadData
2
優先設定は、読み取り操作からキャッシュされたデータに与えられます。

WriteRetentionPriority

書き込み操作からキャッシュされたデータがキャッシュに残っている可能性を判断します。 このデータには、プリフェッチ操作など、他の状況でキャッシュされたデータとは異なる優先順位が与えられる場合があります。

DisablePrefetchTransferLength

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

PrefetchScalar

このメンバーが TRUE の場合、共用体は ScalarPrefetch 構造体です。 それ以外の場合、共用体は BlockPrefetch 構造体です。

DUMMYUNIONNAME

DUMMYUNIONNAME.ScalarPrefetch

DUMMYUNIONNAME.ScalarPrefetch.Minimum

要求の転送長のスカラー乗数。 このメンバーは、 PrefetchScalar が TRUE の場合にのみ有効です。 PrefetchScalar が TRUE の場合、この値に転送長を乗算して、ディスク操作のキャッシュにプリフェッチできるデータの最小量を取得します。

DUMMYUNIONNAME.ScalarPrefetch.Maximum

要求の転送長のスカラー乗数。 このメンバーは、 PrefetchScalar が TRUE の場合にのみ有効です。 PrefetchScalar が TRUE の場合、この値に転送長を乗算して、ディスク操作のキャッシュにプリフェッチできる最大データ量を取得します。

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

プリフェッチできるブロックの最大数。

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

ディスク操作でキャッシュにプリフェッチできるデータの最小量を、ディスク ブロックの絶対数として指定します。 このメンバーは、 PrefetchScalar が FALSE の場合にのみ有効です。

DUMMYUNIONNAME.BlockPrefetch.Maximum

ディスク操作でキャッシュにプリフェッチできるデータの最大量を、ディスク ブロックの絶対数として指定します。 このメンバーは、 PrefetchScalar が FALSE の場合にのみ有効です。

要件

要件 値
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
Header winioctl.h (Windows.h を含む)

こちらもご覧ください

IOCTL_DISK_GET_CACHE_INFORMATION

IOCTL_DISK_SET_CACHE_INFORMATION