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

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

DUMMYUNIONNAME.ScalarPrefetch.Maximum

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

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

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

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

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

DUMMYUNIONNAME.BlockPrefetch.Maximum

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

要件

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

こちらもご覧ください

IOCTL_DISK_GET_CACHE_INFORMATION

IOCTL_DISK_SET_CACHE_INFORMATION