⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ntfs文件系统启动扇区代码(简化版).shtm.htm

📁 支持FAT32和NTFS的引导扇区源码
💻 HTM
📖 第 1 页 / 共 5 页
字号:
         EQU  
&nbsp;0xFFFFFFFF&nbsp;&nbsp; &nbsp;; 表明属性结束<br><br>; 属性名称最大长度<br>NTFS_ATTRIBUTE_NAME_LENGTH&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;64&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; UNICODE字符长度<br><br>; 属性标志<br>NTFS_ATTRIBUTE_FLAG_COMPRESSED&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;EQU&nbsp;&nbsp; &nbsp;0x0001&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;; 压缩标志<br>NTFS_ATTRIBUTE_FLAG_ENCRYPTED&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;EQU&nbsp;&nbsp; &nbsp;0x4000&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;; 加密标志<br>NTFS_ATTRIBUTE_FLAG_SPARSE&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;0x8000&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 稀疏文件<br>NTFS_ATTRIBUTE_RESIDENT_FLAG_INDEXED&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;0x0001&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 驻留属性被索引<br><br>;============================================================<br>; 文件属性<br>;=============================================================<br>NTFS_FILE_FLAG_READONLY&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00000001&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 只读标志<br>NTFS_FILE_FLAG_HIDDEN&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00000002&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 隐藏标志<br>NTFS_FILE_FLAG_SYSTEM&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00000004&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 系统标志<br>NTFS_FILE_FLAG_VOLUME&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00000008&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 卷标标准(NTFS不使用)<br>NTFS_FILE_FLAG_DIRECTORY&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;0x00000010&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 目录属性(NTFS不使用)<br>NTFS_FILE_FLAG_ARCHIVE&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00000020&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 归档标志<br>NTFS_FILE_FLAG_DEVICE&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00000040&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 设备<br>NTFS_FILE_FLAG_NORMAL&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00000080&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 普通属性<br>NTFS_FILE_FLAG_TEMPORARY&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;0x00000100&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 临时文件<br>NTFS_FILE_FLAG_SPARSE_FILE&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;0x00000200&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 稀疏文件<br>NTFS_FILE_FLAG_REPARSE_POINT&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;EQU&nbsp;&nbsp; &nbsp;0x00000400&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;; 重解析点<br>NTFS_FILE_FLAG_COMPRESSED&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;0x00000800&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 压缩标志<br>NTFS_FILE_FLAG_OFFLINE&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00001000&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 离线<br>NTFS_FILE_FLAG_NOT_CONTENT_INDEXED&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x00002000&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 内容没有索引<br>NTFS_FILE_FLAG_ENCRYPTED&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;0x00004000&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 加密文件<br>NTFS_FILE_FLAG_INDEX_ROOT_PRESENT&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x10000000&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
拷贝自MFT记录,是否目录(存在IndexRoot)<br>NTFS_FILE_FLAG_VIEW_INDEX_PRESENT&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;0x20000000&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
拷贝自MFT记录,是否存在视图索引(ObjId索引、配额索引等)<br><br>;==============================================================================<br>; 文件名相关常量<br>;==============================================================================<br>; 最大允许的文件名长度<br>NTFS_FILE_NAME_MAXLENGTH&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;255<br><br>; 可能的名字空间<br><br>; 最大的命名空间,大小写敏感,除了'\0'和'/'之外的所有Unicode字符都可以作为文件名;<br>NTFS_FILE_NAME_POSIX&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;0 <br><br>; 大小写不敏感,'\0', '"', '*', '/', ':', '&lt;',&gt;', '?', '\' ,'|'都不能用于文件名;<br>; 并且名字不能以句点(.)和空格结尾;<br>NTFS_FILE_NAME_WIN32&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1 <br>&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>; 传统的8.3名字,大写字母<br>NTFS_FILE_NAME_DOS&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2<br><br>; 兼顾Win32和DOS名字<br>NTFS_FILE_NAME_WIN32_AND_DOS&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3<br><br>;==============================================================================<br>; 卷标志<br>;==============================================================================<br>NTFS_VOLUME_FLAG_DIRTY&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;0x0001&nbsp;&nbsp; &nbsp;; 脏标志<br>NTFS_VOLUME_FLAG_RESIZE_LOG_FILE&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;0x0002&nbsp;&nbsp; &nbsp;; 重设日志文件<br>NTFS_VOLUME_FLAG_UPGRADE_ON_MOUNT&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;0x0004&nbsp;&nbsp; &nbsp;; 装配时升级<br>NTFS_VOLUME_FLAG_MOUNTED_ON_NT4&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;0x0008&nbsp;&nbsp; &nbsp;; 装配标志<br>NTFS_VOLUME_FLAG_DELETE_USN_UNDERWAY&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;0x0010&nbsp;&nbsp; &nbsp;; 删除USN<br>NTFS_VOLUME_FLAG_REPAIR_OBJECT_ID&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;0x0020&nbsp;&nbsp; &nbsp;; 修复对象ID<br>NTFS_VOLUME_FLAG_MODIFIED_BY_CHKDSK&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;0x8000&nbsp;&nbsp; &nbsp;; CHKDSK修改标志<br><br>;==============================================================================<br>; 索引标志<br>;==============================================================================<br><br>; 用于IndexRoot的属性标志<br>NTFS_INDEX_FLAG_LARGE_INDEX&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;1&nbsp;&nbsp; &nbsp;; 索引存在IndexAllocation属性<br><br>; 用于IndexAllocation的属性标志<br>; 用于IndexEntry的属性标志<br>NTFS_INDEX_FLAG_INDEX_NODE&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;1&nbsp;&nbsp; &nbsp;; 索引节点(存在子节点)<br><br>; 用于IndexEntry的属性标志<br>NTFS_INDEX_FLAG_INDEX_END&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;EQU&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;2&nbsp;&nbsp; &nbsp;; 指明是最后一个项(结束标志)<br><br>;==============================================================================<br>; <br>; MFT文件记录引用<br>;<br>;&nbsp;&nbsp; &nbsp;当需要指向MFT中的一个记录时,就需要使用MFT文件记录引用,这是一个64位的数值, <br>;&nbsp;&nbsp; &nbsp;由48位的MFT索引号和16位的序列号(用于一致性检查)组成。为了便于报告错误,我<br>;&nbsp;&nbsp; &nbsp;们将48位的索引号看成是有符号数;而16位的序列号是一个循环计时器(跳过0),指<br>;&nbsp;&nbsp; &nbsp;明被引用的MFT记录被使用的次数;如果该序列号数值位0,则指明不进行序列号一致性<br>;&nbsp;&nbsp; &nbsp;检查。<br>; <br>;==============================================================================<br>; NTFS_MFT_REF_MASK&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;0x0000FFFFFFFFFFFFULL<br>; NTFS_MAKE_MFT_REF( I,S )&nbsp;&nbsp; &nbsp;( (((ULONGLONG)(S)) &lt;&lt; 48 ) | (((ULONGLONG)(I)) &amp; NTFS_MFT_REF_MASK) ) <br>; NTFS_MFT_REF_INDEX( R )&nbsp;&nbsp; &nbsp;((ULONGLONG)((R) &amp; NTFS_MFT_REF_MASK ))<br>; NTFS_MFT_REF_SEQUENCE(R)&nbsp;&nbsp; &nbsp;((USHORT)(((R) &gt;&gt; 48) &amp; 0xFFFF))<br>; NTFS_IS_MFT_REF_ERR( R )&nbsp;&nbsp; &nbsp;(((R) &amp; 0x000080000000ULL ) ? 1:0)<br><br><br><br>;====================================================================<br>; 结构定义<br>;====================================================================<br><br>;====================================================================<br>; 带Fixup(TornBits)的记录头,包括FileRecord,IndexAllocation,重启日志等<br>;====================================================================<br>STRUC NTFS_RECORD_HEADER<br>&nbsp;&nbsp;
&nbsp;.RecordType&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESD &nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;; 记录类型<br>&nbsp;&nbsp; &nbsp;.UsaOffset&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RESW&nbsp;&nbsp;
&nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 更新序列号数组的偏移(相对于记录开始)<br>&nbsp;&nbsp;
&nbsp;.UsaCount&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESW&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
更新序列号数组的大小<br>&nbsp;&nbsp; &nbsp;.RecordLsn&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;RESQ&nbsp;&nbsp;
&nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;; 该记录的日志序列号,每次修改时更新<br>&nbsp;&nbsp; &nbsp;; <br>&nbsp;&nbsp; &nbsp;; 更新序列号数组( USA: Update Sequence Array )是一个USHORT值数组,该<br>&nbsp;&nbsp; &nbsp;; 值属于每个由该数组保护的更新序列记录所保护的扇区的末尾信息。<br>&nbsp;&nbsp; &nbsp;; 注意:该数组的第一个元素是USN( Update Sequence Number ),一个表示<br>&nbsp;&nbsp; &nbsp;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 记录被写入磁盘的次数的循环计数器。注意值0和-1( 0xFFFF )没有<br>&nbsp;&nbsp; &nbsp;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; 被使用。余下的每个扇区对应的值必须与USN相等(在读取时检查),<br>&nbsp;&nbsp; &nbsp;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; 在写入时设置。<br>&nbsp;&nbsp; &nbsp;; &nbsp;&nbsp; &nbsp;<br>ENDSTRUC<br><br>;====================================================================<br>; MFT文件记录<br>;====================================================================<br>STRUC NTFS_FILE_RECORD<br><br>&nbsp;&nbsp; &nbsp;; 公共记录头<br>&nbsp;&nbsp;
&nbsp;.RecordType&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;RESD &nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 记录类型<br>&nbsp;&nbsp;
&nbsp;.UsaOffset&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;RESW&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 更新序列号数组的偏移(相对于记录开始)<br>&nbsp;&nbsp;
&nbsp;.UsaCount&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;RESW&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 更新序列号数组的大小<br>&nbsp;&nbsp;
&nbsp;.RecordLsn&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;RESQ&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 该记录的日志序列号,每次修改时更新<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp; &nbsp;; 文件记录特有属性<br>&nbsp;&nbsp;
&nbsp;.SequenceNumber&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESW&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
该记录被使用的序列号(循环计数器,跳过0)<br>&nbsp;&nbsp; &nbsp;.LinkCount&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESW&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
硬连接数,及目录中引用该记录的次数,只在MFT基文件记录中使用;<br>&nbsp;&nbsp;
&nbsp;.AttributesOffset&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESW&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;;第一个属性的偏移,相对于记录开始,必须8字节对齐<br>&nbsp;&nbsp;
&nbsp;.RecordFlags&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESW&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
记录属性 NTFS_FILE_RECORD_FLAG_xxx<br>&nbsp;&nbsp;
&nbsp;.BytesInUse&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;RESD&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 记录头和属性的总长度(文件记录的实际长度),8字节对齐<br>&nbsp;&nbsp;
&nbsp;.BytesAllocated&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESD&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
总共分配给文件记录的长度(应该与BytesPerFileRecord一致)<br>&nbsp;&nbsp;
&nbsp;.BaseFileRecord&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESQ&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
基本文件记录中的文件索引号(对于基本文件记录,其值为0)<br>&nbsp;&nbsp;
&nbsp;.NextAttributeNumber&nbsp;&nbsp; &nbsp;RESW&nbsp;&nbsp;
&nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
下一个属性ID,注意第一个属性ID为0;每次增1并在重用是复位为0;<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp; &nbsp;; 以下两项出现在NTFS 3.1+ ( Windows XP及以上版本 _<br>&nbsp;&nbsp;
&nbsp;.Reserved&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;RESW&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;; 保留字节用于对齐<br>&nbsp;&nbsp;
&nbsp;.FileRecordNumber&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
&nbsp;RESD&nbsp;&nbsp; &nbsp;01H&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;;
本记录的索引号<br>&nbsp;&nbsp; &nbsp;<br>&nbsp;&nbsp; &nbsp;;<br>&nbsp;&nbsp; &nbsp;; 当使用MFT记录时,将USA(更新序列号数组)放在这个位置,即在第一个

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -