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時,包含要求傳輸長度的純量乘數。 如果 PrefetchScalarTRUE,則 scalarPrefetch.Minimum 中的值會乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的數據量下限。
DUMMYUNIONNAME.ScalarPrefetch.Maximum
當 prefetchScalar 為 TRUE時,包含要求傳輸長度的純量乘數。 如果 PrefetchScalar為 TRUE,則 ScalarPrefetch.Maximum 中的值乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的數據量上限。
DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks
包含傳輸長度的最大大小,以區塊為單位。
DUMMYUNIONNAME.BlockPrefetch
DUMMYUNIONNAME.BlockPrefetch.Minimum
當 prefetchScalar 為 TRUE時,包含要求傳輸長度的純量乘數。 如果 PrefetchScalarTRUE,則 scalarPrefetch.Minimum 中的值會乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的數據量下限。
DUMMYUNIONNAME.BlockPrefetch.Maximum
當 prefetchScalar 為 TRUE時,包含要求傳輸長度的純量乘數。 如果 PrefetchScalar為 TRUE,則 ScalarPrefetch.Maximum 中的值乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的數據量上限。
要求
要求 | 價值 |
---|---|
標頭 | ntdddisk.h (包括 Ntdddisk.h) |