FILE_COMPRESSION_INFORMATION 结构 (ntifs.h)

FILE_COMPRESSION_INFORMATION 结构描述压缩数据缓冲区的状态。

语法

typedef struct _FILE_COMPRESSION_INFORMATION {
  LARGE_INTEGER CompressedFileSize;
  USHORT        CompressionFormat;
  UCHAR         CompressionUnitShift;
  UCHAR         ChunkShift;
  UCHAR         ClusterShift;
  UCHAR         Reserved[3];
} FILE_COMPRESSION_INFORMATION, *PFILE_COMPRESSION_INFORMATION;

成员

CompressedFileSize

压缩文件的大小(以字节为单位)。

CompressionFormat

压缩格式。 此成员必须具有以下值之一:

含义
COMPRESSION_FORMAT_NONE 无压缩格式。
COMPRESSION_FORMAT_DEFAULT 默认压缩格式。
COMPRESSION_FORMAT_LZNT1 LZNT1 压缩格式。

CompressionUnitShift

每个压缩的群集数的对数(基数 2)

单位。 在 NTFS 文件系统中,此值NTFS_CLUSTERS_PER_COMPRESSION。

ChunkShift

区块中字节数的日志(以 2 为底)。 换句话说,区块的大小(以字节为单位)为 2 ** ChunkShift,或 (1 <<个 ChunkShift) 。

ClusterShift

压缩必须减小压缩单元大小的最小群集数的基数 2。 如果压缩不能将压缩单元的大小至少减少 2 个 ** ClusterShift 群集 (或 1 << 个 ClusterShift 群集) ,则不会进行压缩。 每个压缩单元占用的群集必须至少比未压缩数据占用的群集少一个。

Reserved[3]

预留

要求

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

另请参阅

IRP_MJ_QUERY_INFORMATION 的 FLT_PARAMETERS

FltQueryInformationFile

IRP_MJ_QUERY_INFORMATION