读书人

为啥API里没有对整个磁盘操作的命令

发布时间: 2012-09-09 09:27:54 作者: rapoo

为什么API里没有对整个磁盘操作的命令,而都是针对分区操作的?
下面的功能用API不能实现吗?
简单的说我要的是列出各个磁盘、硬盘类型(用API getdrivetype不能识别出移动硬盘)、总容量及该磁盘的分区,并获得对整个磁盘(不是分区)操作的名称(不知道应该叫什么,或许也是句柄)(就像对窗口操作用句柄,对分区操作用盘符一样)以对整个移动硬盘格式化(用其它格式化软件,主要是要传递用户的磁盘选择给这个格式化软件,这个软件本来就是对整个磁盘格式化的)。
难道这些操作得用C或汇编并且是驱动级的程序?


[解决办法]
fopen "/dev/sda" 啥的 , CreateFile "\\\\.\\physicaldisk0" 啥的即可...
计算机上的一切在操作系统看来都是些文件而已..
[解决办法]
你说的API是指Windows平台的API么?
其一:与操作系统的权限有关
其二:与硬盘是否为串口有关
从安全性讲,微软应该是尽量避免公开这些API的。
[解决办法]
分区信息不记录在扇区里难得是记录在天上, 奇怪了...

你读取 /dev/sda physicaldisk0 的0扇区/MBR, 偏移 1be - 1fd 不就记录着分区信息么, 自己分析下又不麻烦... 当然有逻辑分区会稍微麻烦一点...

读书人网 >C++

热点推荐