FILE_ALLOCATION_INFORMATION 结构 (ntifs.h)

FILE_ALLOCATION_INFORMATION 结构用于设置文件的分配大小。

语法

typedef struct _FILE_ALLOCATION_INFORMATION {
  LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION;

成员

AllocationSize

文件分配大小(以字节为单位)。 通常,此值是基础物理设备的扇区或群集大小的倍数。

注解

可以通过以下任一方式执行此操作:

  • 调用 FltSetInformationFileZwSetInformationFile,将 FileAllocationInformation 作为 FileInformationClass 的值传递,并将调用方分配的FILE_ALLOCATION_INFORMATION结构化缓冲区作为 FileInformation 的值传递。 FileHandle 参数指定要设置其分配大小的文件。

  • 使用主函数代码IRP_MJ_SET_INFORMATION创建 IRP。

此操作仅对文件有效。 对于目录,它未定义。

文件系统微筛选器必须使用 FltSetInformationFile,而不是 ZwSetInformationFile 来设置文件的分配大小。

设置此信息需要FILE_WRITE_DATA访问权限。

文件的分配大小和文件结束位置彼此独立,但以下例外:文件结束位置必须始终小于或等于分配大小。 如果分配大小设置为小于文件结束位置的值,则会自动调整文件结束位置以匹配分配大小。

传递给 FltSetInformationFile 或 ZwSetInformationFileFileInformation 缓冲区的大小必须为 >= sizeof(FILE_ALLOCATION_INFORMATION)

此结构必须在 LONGLONG (8 字节) 边界上对齐。

要求

要求
Header ntifs.h (包括 Ntifs.h、Fltkernel.h)

另请参阅

FILE_END_OF_FILE_INFORMATION

FltSetInformationFile

IRP_MJ_SET_INFORMATION

ZwSetInformationFile