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