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 中的值會乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的最大數據量。
規格需求
需求 | 值 |
---|---|
標頭 | ntdddisk.h (包含 Ntdddisk.h) |