gooyan
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2007-10-10
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望6点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1400回复:8

如何知道某一个盘符属于主从盘还是主盘???

楼主#
更多 发布于:2004-12-30 16:43
如何知道某一个盘符属于主从盘还是主盘???
请给一些提示或者资料,最好能给出win2000和win98下代码
trent
驱动老牛
驱动老牛
  • 注册日期2002-03-01
  • 最后登录2014-09-18
  • 粉丝0
  • 关注0
  • 积分61分
  • 威望185点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-12-30 17:14
查注册表可以!
但不能把移动硬盘分开
我不仅要金子,我还要点石成金的手指!
nustzhua
驱动中牛
驱动中牛
  • 注册日期2002-06-19
  • 最后登录2015-09-27
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-12-30 17:25
ZwQuerySymboleLink

[编辑 -  12/30/04 by  nustzhua]
不限容量的免费邮箱 www.k65.net
gooyan
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2007-10-10
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望6点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-12-30 22:36
查注册表?我知道能查出几块硬盘,但怎么查几个盘符,每个硬盘有几个盘符??我知道有mounted但那里面的信息好像不准。

ZwQuerySymboleLink这个是干什么得?能够实现??
vancaho
驱动牛犊
驱动牛犊
  • 注册日期2004-04-26
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分574分
  • 威望100点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-09 14:43
直接读磁盘的物理扇区,根据前面的几个字节就能判断了
gooyan
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2007-10-10
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望6点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-09 15:27
具体地说说看,我不清楚阿。能不能详细的说一下,谢谢
toadwolf
驱动牛犊
驱动牛犊
  • 注册日期2003-11-30
  • 最后登录2013-11-12
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望67点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-11 02:29
直接读物理扇区可以用来自己分析分区表, 得到硬盘的所有分区. 可是有的分区上的文件系统NT不认识, 就无法MOUNT和分配盘符, 所以这不能解决你的问题.

对于MOUNT好的分区, NT会生成一个符号连接(SymbolicLink). ZwQuerySymboleLinkObject 是用来做反向查询的. 具体用法在IFSDDK里有说明.

toad
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-01-11 09:21
查注册表?我知道能查出几块硬盘,但怎么查几个盘符,每个硬盘有几个盘符??


        pIrp = IoBuildDeviceIoControlRequest(IOCTL_DISK_GET_DRIVE_LAYOUT,
                                            pDevExt->HardDisk0DevObj,
                                            NULL,
                                            0,
                                            pPartInfo,
                                            (128 * sizeof(PARTITION_INFORMATION) + 4),
                                            FALSE,
                                            &event,
                                            &ioStatusBlock);

pPartInfo->PartitionCount即为该硬盘包含盘符(分区)的多少。

在交流中学习。。。
toadwolf
驱动牛犊
驱动牛犊
  • 注册日期2003-11-30
  • 最后登录2013-11-12
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望67点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-01-11 10:18
"盘符" 不等于 "分区". 只有被操作系统识别的分区才有盘符. 比如我把我的硬盘分了两个区, 一个不格式化, 这样的话系统起来就只有一个盘符, 可是直接去读硬盘引导区的话可以得到两个分区.

toad
游客

返回顶部