FILE_VALID_DATA_LENGTH_INFORMATION 結構 (ntddk.h)

FILE_VALID_DATA_LENGTH_INFORMATION 結構會當做 ZwSetInformationFile 的自變數使用。

語法

typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION {
  LARGE_INTEGER ValidDataLength;
} FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION;

成員

ValidDataLength

指定檔案的新有效數據長度。 此參數必須是大於目前有效數據長度,但小於或等於目前檔案大小的正值。

備註

FILE_VALID_DATA_LENGTH_INFORMATION 結構可用來為NTFS磁碟區上的檔案設定新的有效數據長度。 檔案 的有效數據長度 是已寫入檔案的數據長度,以位元組為單位。 這個 有效數據 會從檔案開頭延伸至檔案中尚未零或未初始化的最後一個字節。

設定此資訊需要FILE_WRITE_DATA檔案的存取權。 此外,非系統管理員和遠端用戶必須擁有檔案所在磁碟區的 SeManageVolumePrivilege (SE_MANAGE_VOLUME_PRIVILEGE) 。

檔案系統篩選驅動程式可在下列案例中找到設定有效數據長度很有用:

  • 透過硬體通道直接將原始叢集寫入磁碟時。 這可讓篩選驅動程式通知檔系統此範圍包含可傳回給使用者的有效數據。
  • 建立效能為問題的大型檔案時。 這可避免在建立或擴充檔案時,以零填滿檔案所需的時間。
  • 從遠端擴充檔案並寫入服務元數據叢集檔系統上的磁碟時。
傳遞至 ZwSetInformationFileFileInformation 緩衝區大小必須至少 (FILE_VALID_DATA_LENGTH_INFORMATION) 。

此結構必須對齊 LONGLONG (8 位元組) 界限。

規格需求

需求
最低支援的用戶端 可在 Microsoft Windows XP 和更新版本的 Windows 作業系統上使用。
標頭 ntddk.h (包含 Ntddk.h)

另請參閱

ZwSetInformationFile