共用方式為


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

PrefetchScalarTRUE 時,包含要求的傳輸長度純量乘數。 如果 PrefetchScalarTRUE,ScalarPrefetch.Minimum 中的值會乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的數據量下限。

DUMMYUNIONNAME.ScalarPrefetch.Maximum

PrefetchScalarTRUE 時,包含要求的傳輸長度純量乘數。 如果 PrefetchScalarTRUE,ScalarPrefetch.Maximum 中的值會乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的最大數據量。

DUMMYUNIONNAME.ScalarPrefetch.MaximumBlocks

包含傳輸長度的最大大小,以區塊為單位。

DUMMYUNIONNAME.BlockPrefetch

DUMMYUNIONNAME.BlockPrefetch.Minimum

PrefetchScalarTRUE 時,包含要求的傳輸長度純量乘數。 如果 PrefetchScalarTRUE,ScalarPrefetch.Minimum 中的值會乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的數據量下限。

DUMMYUNIONNAME.BlockPrefetch.Maximum

PrefetchScalarTRUE 時,包含要求的傳輸長度純量乘數。 如果 PrefetchScalarTRUE,ScalarPrefetch.Maximum 中的值會乘以傳輸長度,以取得可預先擷取到磁碟作業上快取的最大數據量。

規格需求

需求
標頭 ntdddisk.h (包含 Ntdddisk.h)

另請參閱

DISK_CACHE_INFORMATION

IOCTL_DISK_GET_CACHE_INFORMATION