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