收藏 分享(赏)

根据驱动器盘符获得分区号.doc

上传人:scg750829 文档编号:7187414 上传时间:2019-05-09 格式:DOC 页数:5 大小:162.50KB
下载 相关 举报
根据驱动器盘符获得分区号.doc_第1页
第1页 / 共5页
根据驱动器盘符获得分区号.doc_第2页
第2页 / 共5页
根据驱动器盘符获得分区号.doc_第3页
第3页 / 共5页
根据驱动器盘符获得分区号.doc_第4页
第4页 / 共5页
根据驱动器盘符获得分区号.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、白水绕东城Zhongs Blog博客首页 空间 博客 好友 相册 留言 用户操作 留言 发消息 加为好友 订阅我的博客 felixz 的公告 用 Gtalk 和我交谈 _uacct = “UA-292248-3“; urchinTracker(); 文章分类 .net code C+ Builder etc Linux Philosophic Symbian win32 code win32 driverMy Pages Google Analytics hotmail mobile my flickr ReactOS 存档 2008 年 04 月(1) 2008 年 03 月(1) 2007

2、 年 09 月(1) 2007 年 06 月(6) 2007 年 05 月(5) 2007 年 03 月(3) 2006 年 10 月(3) 2006 年 08 月(2) 2006 年 07 月(3) 2006 年 06 月(4) 2006 年 05 月(10)根据驱动器盘符获得分区号 (Convert Driver Name to Partition Number) 收藏 程序里有自动重启 Windows 系统的功能,当有多个 Windows 共存的时候 C: 根目录下的 boot.ini 文件包含类似下面的内容:boot loadertimeout=30default=multi(0)di

3、sk(0)rdisk(0)partition(1)WINNToperating systemsmulti(0)disk(0)rdisk(0)partition(1)WINNT=“Windows 2000 Professional“multi(0)disk(0)rdisk(0)partition(2)WINDOWS=“Windows XP Professional“ /fastdetect我们会判断当前系统所在的驱动器,然后改写 boot.ini 中的 default 值,以使得程序重启系统后进入当前启动的操作系统。例如在拥有以上 boot.ini 的系统上,用户手工从操作系统列表选择了启动处于

4、 partition(2) 上的 Windows XP ,如果我们不作任何修改的重启系统,那么重启以后将进入当前的缺省操作系统 Windows 2000 而不是先前启动的 Windows XP。 GetSystemDirectory() 可以获得当前操作系统所在目录。开始我们想当然的将盘符和分区作了以下映射C: - partition(1)D: - partition(2)E: - partition(3).后来这里被 Report 了一个 Bug, 在 Dell 600m 笔记本电脑上, 单一操作系统, 我们的程序无法正常重启系统。检查后发现这个型号的笔记本电脑有一个隐藏分区,而 C: 则是

5、 partition(2)。我们必须寻找一个途径将驱动器号转换成分区号。查阅 MSDN 后得知标准 Win32 API 的解决方法, 简单范例 :#include #include #include #include #include / Required to ensure correct PhysicalDrive IOCTL structure setup#pragma pack(1)int main(int argc, char* argv)HANDLE hDrv = CreateFile(“.C:“,GENERIC_READ, / Read only to the driveFILE_SHARE_READ | / share modeFILE_SHARE_WRITE, NULL, / default security attributesOPEN_EXISTING, / disposition0, / file attributesNULL);if(!hDrv)cout 热门招聘职位 【 更多】

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报