主页 | 文件 | 属性 | 概念 | 词汇

# 属性 - $ATTRIBUTE_LIST (0x20)

前一页 后一页

## 概述

如果有大量的属性而且MFT记录里的空间不足时，可把所有属性都设为非常驻并移出MFT. 如果仍然没有足够的空间，此时就需要一个$ATTRIBUTE_LIST属性。这些保留的属性被放 在一个新的MFT记录里，而$ATTRIBUTE_LIST则描述从哪找到它们。一般很难看到这个属性。

## 属性结构

在标准标题之后，此属性包含一个不同长度记录的列表，来描述文件中所有其它属性的类型和位 置（在MFT中），每个记录以8字节排列。

列表分类：

1. 属性类型
2. 属性名（如果存在）
3. 序号

N.B. 它不列出自己。

偏移量 | 大小 | 描述
--- | --- | ---
~ | ~ | 标准属性标题
0x00 | 4 | 类型
0x04 | 2 | 记录长度
0x06 | 1 | 名称长度 (N)
0x07 | 1 | 到名称的偏移量 (a)
0x08 | 8 | 开始 VCN (b)
0x10 | 8 | 属性的低级文件参考
0x18 | 2 | 属性标识符 (c)
0x1A | 2N | 标准字符编码的名称 (if N > 0)

(a) 如果名称不存在，它指向属性还是为零？
(b) 如果属性是常驻的是开始VCN还是为零？
(c) 每个属性都有一个独一无二的验证符。

    (a) 它总是指向名称所在位置(0x1A)

    0x04记录分配（8字节排列）

    (b) 总是为零，检查

    (c) 它第一次只显示一个特定属性类型

    不确定由序号分类，VCN明确

## 注意

### $AttrDef

它既可以是常驻的又可以是非常驻的，此属性没有上下限。

### 其他信息

在0x07处的偏移量只有一个字节长，对一个属性来说是很特殊的。

如果此属性是非常驻的，那么数据趋向必须适合一个MFT记录。

如果文件存在下列情况则需要$ATTRIBUTE_LIST：

- 有很大数量的硬链接（存在很多文件名属性）
- 有很多碎片，致使数据溢出MFT记录
- 有一个复杂的安全验证符（不适用于NTFSv3.0＋）
- 有许多指定的流，如数据流。

### 需要做的

        8 VCN lowest_vcn;
        最小的这部分属性值的有效簇数，一般为0。如果有一个属性不适合MFT记录，要分配几个属性以支持这个
        属性，在这种情况下它不为零，每个MFT记录支持一个属性范围，这里有一个属性列表登录到每个范围。
        注意：这是一个有正负之分的值。WINDOWS驱动器使用CMP,当和它比较时后面跟的是JG，这样它就要有正
        负之分。

        24 __u16 instance;
        如果lowest_vcn = 0, 被引用的属性实例；否则为0。

        当充分说明一个文件需要扩展MFT中的文件记录时就要使用属性列表，来找到文件的任一文件属性。
        因为它的流很可能要增长所以此文件属性可能是非常驻的。

        一个非常驻属性的范围（如果存在的话）紧跟在初始范围之后，它们由lowest_vcn控制,它们的实
        例(instance)设为零。

Online 中文在线 Validate HTML Validate CSS $Id: attribute_list.html,v 1.9 2001/07/11 11:04:05 flatcap Exp $