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 枚举类型中的以下值之一。
值 | 含义 |
---|---|
|
缓存中不优先保留任何数据。 |
|
优先使用预提取的数据。 |
|
优先使用从读取操作缓存的数据。 |
WriteRetentionPriority
确定缓存中剩余的写入操作缓存数据的可能性。 此数据的优先级可能不同于在其他情况下(例如从预提取操作)缓存的数据。
DisablePrefetchTransferLength
禁用预提取。 每当请求的块数超过 DisablePrefetchTransferLength 中的值时,可能会禁用预提取。 如果为零,则无论块请求的大小如何,都禁用预提取。
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 [仅限桌面应用] |
标头 | winioctl.h (包括 Windows.h) |