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 字节)边界上对齐。
要求
要求 | 价值 |
---|---|
标头 | ntifs.h(包括 Ntifs.h、Fltkernel.h) |