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]

保留

要求

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

另请参阅

IRP_MJ_QUERY_INFORMATION FLT_PARAMETERS

FltQueryInformationFile

IRP_MJ_QUERY_INFORMATION