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

# 概念 - Attribute Header

前一页 后一页

## 概述

每一个MFT记录的每个属性都有一个标准标题。这个标题存储了有关属性类型，大小，名称（可选）和是否常驻的信息。

此属性的大小取决于两方面：是否有名称，是否常驻。为了简化表格，所有四个可能性都全部显示（有些值已经填好了）。

## 标准属性标题

### 常驻,无名称

偏移量 | 大小 | 值 | 描述
--- | --- | --- | ---
0x00 | 4 |  | 属性类型 (如 0x10, 0x60)
0x04 | 4 |  | 长度 (包括此标题)
0x08 | 1 | 0x00 | 非常驻标记
0x09 | 1 | 0x00 | 名称长度
0x0A | 2 | 0x18 | 到名称的偏移量
0x0C | 2 | 0x00 | 标记
0x0E | 2 |  | 属性标识符 (a)
0x10 | 4 | L | 属性长度
0x14 | 2 | 0x18 | 到属性的偏移量
0x16 | 1 |  | 编入索引的标记
0x17 | 1 | 0x00 | 填料
0x18 | L |  | 属性

(a) 每个属性都有一个唯一的标识符。

### 常驻, 命名的

偏移量 | 大小 | 值 | 描述
--- | --- | --- | ---
0x00 | 4 |  | 属性类型 (如 0x90, 0xB0)
0x04 | 4 |  | 长度 (包括此标题)
0x08 | 1 | 0x00 | 非常驻标记
0x09 | 1 | N | 名称的长度
0x0A | 2 | 0x18 | 到名称的偏移量
0x0C | 2 | 0x00 | 标记
0x0E | 2 |  | 属性标识符 (a)
0x10 | 4 | L | 属性长度
0x14 | 2 | 2N+0x18 | 到属性的偏移量（b）
0x16 | 1 |  | 编入索引的标记
0x17 | 1 | 0x00 | 填料
0x18 | 2N | Unicode | 属性名称
2N+0x18 | L |  | 属性 (c)

(a) 常驻属性不能压缩
(b) 每个属性有唯一的标识符
(c) 上舍入成4字节的倍数

### 非常驻, 无名称

偏移量 | 大小 | 值 | 描述
--- | --- | --- | ---
0x00 | 4 |  | 属性类型 (如 0x20, 0x80)
0x04 | 4 |  | 长度 (包括此标题)
0x08 | 1 | 0x01 | 非常驻标记
0x09 | 1 | 0x00 | 名称长度
0x0A | 2 | 0x00 | 到名称的偏移量
0x0C | 2 |  | 标记
0x0E | 2 |  | 属性标识符 (a)
0x10 | 8 |  | 起始VCN
0x18 | 8 |  | 最后的VCN
0x20 | 2 | 0x40 | 到数据运转的偏移量
0x22 | 2 |  | 压缩单位大小（b）
0x24 | 4 | 0x00 | 填料
0x28 | 8 |  | 属性的分配大小 (c)
0x30 | 8 |  | 属性的实际大小
0x38 | 8 |  | 流的初始数据大小 (d)
0x40 | ... |  | 数据运转

(a) 每个属性有唯一的标识符
(b) 压缩单位大小 = 2x 簇。0表示未压缩
(c) 属性大小上舍入到簇的大小
(d) 什么时候它不等于分配大小？

### 非常驻,命名的

偏移量 | 大小 | 值 | 描述
--- | --- | --- | ---
0x00 | 4 |  | 属性类型 (如 0x80, 0xA0)
0x04 | 4 |  | 长度 (包括此标题)
0x08 | 1 | 0x01 | 非常驻标记
0x09 | 1 | N | 名称长度
0x0A | 2 | 0x40 | 到名称的偏移量
0x0C | 2 |  | 标记
0x0E | 2 |  | 属性标识符 (a)
0x10 | 8 |  | 起始VCN
0x18 | 8 |  | 最后的VCN
0x20 | 2 | 2N+0x40 | 到数据运转的偏移量（b）
0x22 | 2 |  | 压缩单位大小（c）
0x24 | 4 | 0x00 | 填料
0x28 | 8 |  | 属性的分配大小 (d)
0x30 | 8 |  | 属性的实际大小
0x38 | 8 |  | 流的初始数据大小 (e)
0x40 | 2N | Unicode | 属性名称
2N+0x40 | ... |  | 数据运转 (b)

(a) 每个属性有唯一的标识符
(b) 上舍入到4字节的倍数
(c) 压缩单位大小 = 2x 簇。0表示未压缩
(d) 属性大小上舍入到簇的大小
(e) 什么时候它不等于分配大小？

## 标记

标记 | 描述
--- | ---
0x0001 | 压缩
0x4000 | 加密
0x8000 | 稀少

## 注意

### 其他信息

只有数据属性是非常驻时才能被压缩或者稀少。

尽管压缩标记存储在标题里，但不影响标题的大小。

        名称不能以零终止

        FIXME
        0x40 __s64 compressed_size;
        压缩后的属性值的字节数。
        只有被压缩后才存在，总是簇的倍数大小。
        表示磁盘上在用的实际磁盘空间数量。

FIXME: 编入索引的标记只在常驻属性里出现，这是不是意味着你只能索引常驻属性？

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