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


структура 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 (include Ntifs.h, Fltkernel.h)

См. также

FILE_END_OF_FILE_INFORMATION

FltSetInformationFile

IRP_MJ_SET_INFORMATION

ZwSetInformationFile