首页
社区
课程
招聘
[求助]硬盘格式化内核驱动操作是哪个API
发表于: 2013-5-10 18:53 6437

[求助]硬盘格式化内核驱动操作是哪个API

2013-5-10 18:53
6437
内核操作格式化api,不要SHFormatDrive()这个函数。也就是SHFormatDrive()这个函数,具体是怎样实现的,它又调用哪些内核api来格式化。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
难道要自己把磁盘的引导记录和fat或者ntfs的相关结构写入到磁盘扇区,这样来格式化吗?应该有某个内核api提供这种操作把,格式化不需要自己写文件系统的结构到磁盘扇区吧?
2013-5-10 19:12
0
雪    币: 81
活跃值: (110)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
你自己跟进去看不就是了
2013-5-10 20:59
0
雪    币: 601
活跃值: (256)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
4
顺着IOCTL_DISK_FORMAT_TRACKS_EX找找
2013-5-10 22:10
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
IOCTL_DISK_FORMAT_TRACKS_EX
这个是格式化磁道的,就是很久以前格式化软盘1个磁道有多少扇区,那样的。也许可以格式化硬盘的磁道。
这些应该属于低级格式化吧。我现在不需要这些功能,我的需求是,如何在一个硬盘的分区上面,建立一个
文件系统,是FAT32或者NTFS的文件系统,我估计,也许没有现成的API函数,SHFormatDrive()这个
函数,可能也是把文件系统的结构,建立好以后逐个扇区写入磁盘,然后再mount,这时文件系统就可以
识别这个卷了啊。我想把这个建立文件系统的工作丢给操作系统去做,却发现可能没有现成的API,还是需要
自己模拟FAT或者NTFS的结构把这个结构生成以后写入磁盘扇区。
2013-5-10 22:43
0
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
http://blog.csdn.net/bluesun777/article/details/2181492
参考sysinternals里的一篇文章,尝试用FMIFS.dll里的一个未公开函数实现了Format功能,所有的参数都由自己给定,比如每簇大小、文件系统等待。
这个是ring3的函数,而且是需要形成盘符了,不能在驱动成使用,对某个磁盘驱动设备对象进行格式化。
2013-5-10 22:59
0
雪    币: 328
活跃值: (154)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
7
格式化,其实就是写入文件系统(某种格式的数据),NTFS网上资料挺多的,不行自己弄个函数来初始化磁盘……
2013-5-11 08:40
0
雪    币: 14
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我觉得格盘  无论是用哪种方式或者用哪个函数  最终,都是在写分区表吧.

只不过直接写分区表,只是分区变了,但是原来的数据还在
2013-5-15 18:01
0
雪    币: 1407
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
IOCTL_DISK_FORMAT_DRIVE
0x7c3cc
2013-5-15 18:39
0
游客
登录 | 注册 方可回帖
返回
//