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 中的值时,可能会禁用预提取。 如果为零,则无论块请求的大小如何,都禁用预提取。
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) |