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 の値は、優先的にキャッシュにデータが保持されていないことを示します。 ReadRetentionPriority を EqualPriority に設定すると、すべての種類のデータがキャッシュ メモリに等しいアクセス権を持つ。 一方、 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 の場合の要求の転送長のスカラー乗数を格納します。 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 の値に転送長が乗算され、ディスク操作でキャッシュにプリフェッチできるデータの最大量が取得されます。
要件
要件 | 値 |
---|---|
Header | ntdddisk.h (Ntdddisk.h を含む) |