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)。

文件系统筛选器驱动程序在以下方案中设置有效的数据长度非常有用:

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

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

要求

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

另请参阅

ZwSetInformationFile