40H类型属性即$OBJECT_ID属性,也就是对象ID,它是从Windows 2000开始引入的属性。每一个MFT记录都被指定一个唯一的GUID(全局ID,Windows为所有对象分配的一个全局唯一的数字标识,16字节长)。此外,记录还可能包含有一个所属卷ID、原始对象ID和域ID,这些都属于GUID,在NTFS文件系统中所提供的API就是通过这些ID对文件进行访问的,该属性最大不超过256字节。其结构见表4-43。
表4-43 40H属性描述表
字节偏移 | 字段长度(字节) | 名称 | 含义 |
~ | ~ | 标准属性头 | (已经分析过) |
0x00 | 16 | 全局对象ID(GUID Object ID) | 指派给文件的一个唯一的ID号 |
0x10 | 16 | 全局原始卷ID(GUID Birth Volume ID) | 创建文件的卷的ID(永不变化) |
0x20 | 16 | 全局原始对象ID(GUID Birth Object ID) | 原始对象ID(它是曾经指派给本文件记录的第一个对象ID,如果由于某种原因导致对象ID发生变化,此值就可以反映出对象ID的原始值) |
0x30 | 16 | 全局域ID(GUID Domain ID) | 创建对象的域ID |
40H类型的属性绝大多数只有16字节,也就是只有一个全局ID,即对象ID,如果原始卷ID、原始对象ID和域ID没有被使用,它也有可能在属性中占用了空间,但是其值可能是零。
40H属性的例子如图4-419所示。
图4-419 40H属性的例子
该例子中的40H属性的属性体只有16字节,也就是只有一个全局ID,即对象ID。