структура FILE_ALLOCATION_INFORMATION (ntifs.h)

Структура FILE_ALLOCATION_INFORMATION используется для задания размера выделения для файла.

Синтаксис

typedef struct _FILE_ALLOCATION_INFORMATION {
  LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;

Члены

AllocationSize

Размер выделения файла в байтах. Обычно это значение кратно размеру сектора или кластера базового физического устройства.

Комментарии

Эту операцию можно выполнить следующими способами:

  • Вызовите FltSetInformationFile или ZwSetInformationFile, передав FileAllocationInformation в качестве значения FileInformationClass и передавая выделенный вызывающим FILE_ALLOCATION_INFORMATION структурированный буфер в качестве значения FileInformation. Параметр FileHandle указывает файл, размер выделения которого необходимо задать.

  • Создайте IRP с основным кодом функции IRP_MJ_SET_INFORMATION.

Эта операция действительна только для файлов. Он не определен для каталогов.

Минифильтры файловой системы должны использовать FltSetInformationFile, а не ZwSetInformationFile, чтобы задать размер выделения для файла.

FILE_WRITE_DATA для задания этих сведений требуется доступ.

Размер выделения файла и положение в конце файла не зависят друг от друга, за исключением следующего: позиция в конце файла всегда должна быть меньше или равна размеру выделения. Если для размера выделения задано значение, меньшее, чем позиция конца файла, позиция в конце файла автоматически корректируется в соответствии с размером выделения.

Размер буфера FileInformation, передаваемого в FltSetInformationFile или ZwSetInformationFile , должен быть >= sizeof(FILE_ALLOCATION_INFORMATION).

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

Требования

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

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

FILE_END_OF_FILE_INFORMATION

FltSetInformationFile

IRP_MJ_SET_INFORMATION

ZwSetInformationFile