get_dir_buffer_from_fat
2017-03-22 10:03:05 0 举报
`get_dir_buffer_from_fat`是一个函数,用于从FAT文件系统中获取目录缓冲区。FAT(File Allocation Table)是一种文件系统,广泛用于各种存储设备,如USB闪存驱动器、SD卡等。这个函数的作用是读取FAT文件系统的目录信息,并将其存储在一个缓冲区中,以便于后续处理和分析。通过使用这个函数,我们可以方便地获取FAT文件系统中的文件和文件夹列表,从而实现对存储设备的管理和操作。
作者其他创作
大纲/内容
是
用FAT1的偏移fat_offset=start_fat1;
计算簇总数no_of_cluster=(part_size-start_data)/sectors_per_cluster;
i = 0;
计算每簇扇区数sectors_per_cluster=fat_header-sectors_per_cluster;
计算该簇偏移offset = (newcluster-2)*cluster_size+start_data;
start
否
用FAT2的偏移fat_offset=start_fat1+fat_length;
计算fat长度fat_length=le16(fat_header-fat_length)0?le16(fat_header-fat_length):le32(fat_header-fat32_length);
oldcluster=newcluster;
计算数据区起始偏移start_data=start_fat1+fat_header-fats*fat_length+(get_dir_entries(fat_header)*32+disk-sector_size-1)/disk-sector_size;
合法簇
oldcluster = cluster;newcluster = oldcluster;
fat_header-fats1
获取引导扇区信息ls=(const struct fat_dir_struct*)dir_data-private_dir_data;fat_header=ls-boot_sector;
fat_offset==0
newcluster=no_of_cluster
(i+2)*cluster_sizeread_size
i 9;
end
获取连续簇存入数组*(cluster_array+i)=offset;
计算分区扇区总数part_size=(fat_sectors(fat_header)0?fat_sectors(fat_header):le32(fat_header-total_sect));
计算FAT起始偏移start_fat1=le16(fat_header-reserved);
收藏
收藏
0 条评论
下一页