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访问权限才能设置此信息。

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

传递给 FltSetInformationFileZwSetInformationFile 的 fileInformation 缓冲区的大小必须 >= sizeof(FILE_ALLOCATION_INFORMATION)

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

要求

要求 价值
标头 ntifs.h(包括 Ntifs.h、Fltkernel.h)

另请参阅

FILE_END_OF_FILE_INFORMATION

FltSetInformationFile

IRP_MJ_SET_INFORMATION

ZwSetInformationFile