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访问文件。 此外,非管理员和远程用户必须为文件所在的卷 (SE_MANAGE_VOLUME_PRIVILEGE) SeManageVolumePrivilege

文件系统筛选器驱动程序发现在以下情况下设置有效数据长度很有用:

  • 通过硬件通道将原始群集直接写入磁盘时。 这允许筛选器驱动程序通知文件系统此范围包含可返回给用户的有效数据。
  • 创建性能有问题的大型文件时。 这可以避免在创建或扩展文件时用零填充文件所需的时间。
  • 远程扩展文件和写入服务元数据群集文件系统上的磁盘时。
传递给 ZwSetInformationFileFileInformation 缓冲区的大小必须至少为 (FILE_VALID_DATA_LENGTH_INFORMATION) 。

此结构必须在 LONGLONG (8 字节) 边界上对齐。

要求

要求
最低受支持的客户端 在 Microsoft Windows XP 和更高版本的 Windows 操作系统上可用。
标头 ntddk.h (包括 Ntddk.h)

另请参阅

ZwSetInformationFile