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