Поделиться через


Код элемента управления FSCTL_SET_ZERO_DATA

Код элемента управления FSCTL_SET_ZERO_DATA заполняет указанный диапазон файла нулями (0). Если файл разрежен или сжатый, файловая система NTFS может освободить место на диске в файле. При этом диапазон байтов задается равным нулю (0), не расширяя размер файла.

Чтобы выполнить эту операцию из драйвера, вызовите FltFsControlFile со следующими параметрами.

Параметры

  • Экземпляр: указатель непрозрачного экземпляра для вызывающего объекта. Этот параметр является обязательным и не может иметь значение NULL.

  • FileObject [in]: указатель на файл, в который записываются нули. Этот параметр является обязательным и не может иметь значение NULL.

  • FsControlCode [in]: код элемента управления для операции.

Используйте FSCTL_SET_ZERO_DATA для этой операции.

Элемент FileOffset — это смещение в байтах первого байта, задается равным нулю (0), а член BeyondFinalZero — это смещение первого байта после последнего нуля (0) байта.

Элемент Flags в FILE_ZERO_DATA_INFORMATION_EX задает модификаторы для операции. Например, если для флагов задано значение FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA, содержимое кэша, соответствующее этому диапазону файла, не очищается.

  • InputBufferLength [in]: размер входного буфера в байтах.

  • OutputBuffer [out]: не используется с этой операцией; для параметра задано значение NULL.

  • OutputBufferLength [out]: не используется с этой операцией; Значение равно нулю.

Блок состояния

FltFsControlFile возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS.

Код возврата Значение
_INSUFFICIENT_RESOURCES СОСТОЯНИЯ Недостаточно памяти для выполнения запроса.
STATUS_INVALID_PARAMETER InputBufferLength меньше размера структур FILE_ZERO_DATA_INFORMATION или указанный файл является файлом системных метаданных или каталогом.
STATUS_ACCESS_DENIED FILE_ZERO_DATA_INFORMATION_FLAG_PRESERVE_CACHED_DATA настраивается из пользовательского режима.
STATUS_MEDIA_WRITE_PROTECTED В настоящее время том защищен для записи.

Требования

Тип требования Требование
Заголовок Ntifs.h (включая Ntifs.h)

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

FltFsControlFile

FILE_ZERO_DATA_INFORMATION

FILE_ZERO_DATA_INFORMATION_EX