структура 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) для тома, на котором находится файл.

Драйверы фильтров файловой системы могут оказаться полезными для задания допустимой длины данных в следующих сценариях:

  • При записи необработанных кластеров непосредственно на диск через аппаратный канал. Это позволяет драйверу фильтра сообщить файловой системе, что этот диапазон содержит допустимые данные, которые могут быть возвращены пользователю.
  • При создании больших файлов, где производительность является проблемой. Это позволяет избежать времени, необходимого для заполнения файла нулями при создании или расширении файла.
  • При удаленном расширении файла и записи на диск в файловой системе кластера обслуживаемых метаданных.
Размер буфера FileInformation , передаваемого в ZwSetInformationFile , должен быть не ниже sizeof(FILE_VALID_DATA_LENGTH_INFORMATION).

Эта структура должна быть выровнена по границе LONGLONG (8 байт).

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows XP и более поздних версиях операционной системы Windows.
Верхняя часть ntddk.h (включая Ntddk.h)

См. также раздел

ZwSetInformationFile