структура 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) |