NTFS 的 Microsoft 文档描述了属性的结构。它显示如下:
typedef struct _ATTRIBUTE_RECORD_HEADER {
ATTRIBUTE_TYPE_CODE TypeCode;
ULONG RecordLength;
UCHAR FormCode;
UCHAR NameLength;
USHORT NameOffset;
USHORT Flags;
USHORT Instance;
union {
struct {
ULONG ValueLength;
USHORT ValueOffset;
UCHAR Reserved[2];
} Resident;
struct {
VCN LowestVcn;
VCN HighestVcn;
USHORT MappingPairsOffset;
UCHAR Reserved[6];
LONGLONG AllocatedLength;
LONGLONG FileSize;
LONGLONG ValidDataLength;
LONGLONG TotalAllocated;
} Nonresident;
} Form;
} ATTRIBUTE_RECORD_HEADER, *PATTRIBUTE_RECORD_HEADER;
非常驻属性的最后一个成员 ,TotalAllocated
似乎不存在。3rd 方文档没有提到它,实际的 NTFS 文件系统不包含这样的成员(ValidDataLength 紧随其后的是数据运行,如MappingPairsOffset
.
从文档本身来看,它应该记录集群的总数(而不是字节总数)。
总分配
为文件分配的总数(分配的簇的总和)。
有人认识这个吗?