get_next_cluster_from_offset
2017-03-21 15:59:22 0 举报
`get_next_cluster_from_offset` 是一个函数,其功能是根据给定的文件偏移量(offset),获取下一个文件簇(cluster)的编号。在计算机科学中,文件簇是文件系统用于组织和管理数据的基本单位,它通常与磁盘上的物理块相对应。这个函数通常用于处理大型文件系统,如NTFS、FAT32等,以便在读取或写入文件时,能够有效地定位到文件的实际存储位置。通过使用 `get_next_cluster_from_offset` 函数,用户可以更方便地管理和维护他们的文件系统。
作者其他创作
大纲/内容
fat_header-fats==0&&!getNewOffset
计算下一簇的偏移
ls=(const struct fat_dir_struct*)dir_data-private_dir_data;fat_header=ls-boot_sector;
是
sectors_per_cluster=fat_header-sectors_per_cluster;
next_cluster*cluster&&next_clusterupart_type==UP_FAT32?0x0fffffff:0xffff
获取每簇扇区数
计算簇数
获取引导扇区
fat_header-fats==0&&getNewOffset
判断簇是否合法
获取下一簇
start
block_size= fat_sector_size(fat_header)*sectors_per_cluster;
不存在fat表
;
计算fat1的偏移
getNewOffset
否
end
*offset=start_offset + (uint64_t)(next_cluster - 2) * block_size;
获取簇大小
获取数据区起始偏移start_offset=partition-part_offset+(start_fat1+fat_header-fats*fat_length)*fat_sector_size(fat_header)+get_dir_entries(fat_header)*32;
计算当前目录项的簇号
no_of_cluster /*=no_of_cluster*/=(part_size-start_data)/sectors_per_cluster;
*cluster = (*offset-start_offset)/block_size+2;
fat_length == 0
收藏
收藏
0 条评论
下一页