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_MJ_SET_INFORMATION创建 IRP。
此操作仅对文件有效。 对于目录,它未定义。
文件系统微筛选器必须使用 FltSetInformationFile,而不是 ZwSetInformationFile 来设置文件的分配大小。
设置此信息需要FILE_WRITE_DATA访问权限。
文件的分配大小和文件结束位置彼此独立,但以下例外:文件结束位置必须始终小于或等于分配大小。 如果分配大小设置为小于文件结束位置的值,则会自动调整文件结束位置以匹配分配大小。
传递给 FltSetInformationFile 或 ZwSetInformationFile 的 FileInformation 缓冲区的大小必须为 >= sizeof(FILE_ALLOCATION_INFORMATION)
。
此结构必须在 LONGLONG (8 字节) 边界上对齐。
要求
要求 | 值 |
---|---|
Header | ntifs.h (包括 Ntifs.h、Fltkernel.h) |