请教, 如何获得所有磁盘分区的列表, 如果格式化分区, 如果装载分区至目录?

coolstar14 2008-08-22 09:42:27
环境: Windows操作系统, 磁盘分大量分区不指定盘符, 使用时加载至目录中.

请问, 如果得到所有分区的列表, 每个分区与其对应的盘符或装载的目录的对应关系?
请问, 如果可以将一个分区指定一个盘符, 如果将一个分区装载至特定的目录中?
请问, 有什么方法可以实现程序格式化分区. 可以不加载,直接格最好, 如果实现不了, (解决问题2后)装载后格也可以.

持续关注, 每一问题100分, 解决并实验通过立即结贴给分.
此贴100, 因为每贴最多给200, 所以如果解决不足分数将另开贴给分.
谢谢.
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolstar14 2008-10-14
  • 打赏
  • 举报
回复
太底层了, 自己解决不了.放弃自己编程实现了.

现在改调用工具的方式实现对应功能了.
DiskPart 是系统自带的, 可以实现挂接等操作.
cheneyhehe 2008-10-09
  • 打赏
  • 举报
回复
请问有何结果吗?
coolstar14 2008-08-22
  • 打赏
  • 举报
回复
谢谢 * cnzdgs 的解答.

我会想办法实验一下的. 再次表示感谢.
cnzdgs 2008-08-22
  • 打赏
  • 举报
回复
你问的问题涉及的东西很多,我很久没做这方面的程序了,记不清了,也没有代码给你参考,给你些提示,自己来试吧。
1、你需要安装一个WDK或DDK,查其帮助文档和头文件。
2、用CreateFile来打开设备,设备名称以"\\\\.\\"开头,用DeviceIoControl对设备进行访问,以下内容都是对设备的各种Control。
3、打开物理硬盘用PhysicalDrive0、PhysicalDrive1这样的名称;打开卷可以用盘符;磁盘管理器名称为MountPointManager。
4、IOCTL_DISK_GET_PARTITION_INFO或DRIVE_LAYOUT_INFORMATION可以获取物理硬盘上的所有分区信息。
5、IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS可以获取卷对应的硬盘和分区信息。
6、IOCTL_MOUNTMGR_QUERY_POINTS、IOCTL_MOUNTMGR_CREAT_POINT、IOCTL_MOUNTMGR_DELETE_POINTS可以查询、装载、卸载卷。
7、格式化用fmifs.dll中的FormatEx函数,或者直接加载Format.com更方便。
8、可以借助Zw开头的一些函数来获取底层信息。
coolstar14 2008-08-22
  • 打赏
  • 举报
回复
不好意思, 五笔有几个错字在贴子中.
问题中的, '如果'应该是'如何'才对. 对于贴子中描述不很清楚的地方大家可以回贴询问, 至少一段时间内我会一直在.

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧