九、 目录结构
目录所在的扇区,都是以32 Bytes 划分为一个单位,每个单位称为一个目录项(Directory Entry),即每个目录项的长度都是 32 Bytes。
FAT32短文件目录项32个字节的表示定义
名称
|
字节偏移
|
字节数
|
|
|
|
定义
|
|
DIR_Name
|
0x0~0xA
|
11
|
|
|
|
文件名
|
|
|
|
|
|
|
|
|
|
00000000(读写)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00000001(只读)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00000010(隐藏)
|
|
|
|
|
|
|
|
|
|
|
|
|
DIR_Attr
|
0xB
|
1
|
|
|
属性
|
|
00000100(系统)
|
|
|
|
字节
|
|
00001000(卷标)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00010000(子目录)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00100000(归档)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00001111(长文件名)
|
|
|
|
|
|
|
|
|
|
|
|
|
DIR_NTRes
|
0xC
|
1
|
|
|
|
|
系统保留
|
|
DIR_CrtTimeTenth
|
0xD
|
1
|
|
|
创建时间的10毫秒位
|
|
DIR_CrtTime
|
0xE~0xF
|
2
|
|
|
|
|
文件创建时间
|
|
DIR_CrtDate
|
0x10~0x11
|
2
|
|
|
|
|
文件创建日期
|
|
DIR_LstAccDate
|
0x12~0x13
|
2
|
|
|
|
文件最后访问日期
|
|
DIR_FstClusHI
|
0x14~0x15
|
2
|
|
|
文件起始簇号的高16位
|
|
DIR_WrtTime
|
0x16~0x17
|
2
|
|
|
文件的最近修改时间
|
|
DIR_WrtDate
|
0x18~0x19
|
2
|
|
|
文件的最近修改日期
|
|
DIR_FstClusLO
|
0x1A~0x1B
|
2
|
|
|
文件起始簇号的低16位
|
|
DIR_FileSize
|
0x1C~0x1F
|
4
|
|
|
|
|
表示文件的长度
|
|
|
|
|
|
|
|
|
|
FAT16目录项32个字节的表示定义
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
字节偏移
|
字节数
|
|
|
|
定义
|
|
|
|
|
(16进制)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0x0~0x7
|
8
|
|
|
文件名
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0x8~0xA
|
3
|
|
|
扩展名
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00000000(读写)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00000001(只读)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
属性
|
|
00000010(隐藏)
|
|
|
|
0xB
|
1
|
|
|
|
|
|
|
|
|
|
00000100(系统)
|
|
|
|
字节
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00001000(卷标)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00010000(子目录)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
00100000(归档)
|
|
|
|
|
|
|
|
|
|
|
|
0xC~0x15
|
10
|
|
|
系统保留
|
|
|
|
|
|
|
|
|
|
0x16~0x17
|
2
|
文件的最近修改时间
|
|
|
|
|
|
|
|
|
|
0x18~0x19
|
2
|
文件的最近修改日期
|
|
|
|
|
|
|
|
|
|
0x1A~0x1B
|
2
|
表示文件的首簇号
|
|
|
|
|
|
|
|
|
|
|
0x1C~0x1F
|
4
|
|
表示文件的长度
|
|
|
|
|
|
|
|
|
|
|
|
|
|
日期格式:
• Bits 0–4:日期,有效值为 1-31。
• Bits 5–8:月份,有效值为 1–12。
|