4297|9

106

帖子

0

资源

一粒金砂(初级)

急问!!!如何在windows和linux下获取所有硬盘physicaldriveX???请大虾不惜赐教!!! [复制链接]

windows下硬盘的编号为physicaldrive0表示第一个硬盘,physicaldrive1表示第二个硬盘...(考虑远程映射的硬盘,可能有很多)。
现在我需要通过程序得到连接我电脑的所有的physicaldrive,比如physicaldrive0,physicaldrive1,physicaldrive2全部列举出来。
通过CreateFile()一个一个physicaldriveX打开,用DeviceIoContrl()发出去的笨方法除外!
是否有API函数可以枚举呢,包括Linux下(用户态或者内核函数都可以),请大虾不惜赐教!!!

回复

98

帖子

0

资源

一粒金砂(初级)

Windows API中GetLogicalDrives可以得到驱动器多少

回复

120

帖子

0

资源

一粒金砂(初级)

windows下可以检查对象管理器的名称空间是否有对应名称。

回复

89

帖子

0

资源

一粒金砂(初级)

GetLogicalDrives只能得到逻辑分区如C:D:等。
我需要的是物理硬盘physicaldrive

回复

114

帖子

0

资源

一粒金砂(初级)

Windows下面的问题我已经解决了,
通过SetupDiEnumDeviceInterfaces和SetupDiGetInterfaceDeviceDetail就可以枚举所有的硬盘路径,就可以打开设备文件下发SCSI命令了。
linux,Solaris,AIX的还没有解决,还请大虾指教!(一个笨的方法是写脚本执行fdisk -l或lsscsi得到)
不过我觉得应该有函数的

回复

97

帖子

0

资源

一粒金砂(中级)

不这么清楚,可以通过读取盘的PID 什么的吧。

回复

124

帖子

0

资源

纯净的硅(中级)

windows和linux的问题已经解决了,solaris的也解决了,还有HP和AIX的还没有搞定哦

回复

115

帖子

0

资源

一粒金砂(初级)

不用那么麻烦吧,BIOS里面可以得到硬盘的数目。而所有的系统都能读BIOS的信息,从这点入手不就全解决了?
其他OS不知道, DOS和Windows读BIOS就是读指定端口信息,区别是Windows用驱动来读,DOS可以直接读。
我想LINUX等应该也有类似的办法。

回复

78

帖子

0

资源

一粒金砂(初级)

BIOS?楼上的兄弟能否详细说明一下,现在AIX平台下的也解决了,就是用odmget可以得到。打开数据库CuDv和PdDv,查找class=disk。
循环就可以得到所有的磁盘。现在只剩HP一个平台还没有解决了。

回复

110

帖子

0

资源

一粒金砂(初级)

我也想知道,正在找這方面的資料~~~~~

回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/7 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表