磁盘和卷标怎样能联系起来?
本帖最后由 jd19970829 于 2011-12-17 22:45 编辑\\.\PhysicalDrive1
这个是磁盘名
\\?\Volume{a61ca470-f95b-11e0-8c69-003067e17e0a}\
这个是卷名
如果在只知道卷名或者只知道磁盘名的情况下,有没有什么办法能够从磁盘名得到卷名或者从卷名得到磁盘名。
最近在写一个虚拟盘出盘的程序,虚拟盘在连接了ISCSI服务端以后本地出了盘,但没有盘符的情况,这时需要给出的盘分一个盘符,问题是怎样从很多硬盘里判断出哪个是我出的ISCSI虚拟盘,并且能够正确的给这个虚拟盘加上盘符?
通过iscsicli工具可以得到一些信息,里面包含有虚拟盘的磁盘名,想从磁盘名入手,找出卷标名,然后用mountvol把卷加上盘符,但是找了很久也没有找到能够把磁盘名和卷标名联系起来的方法
WMI方法的就不提了,不是每个系统都有WMI的! 本帖最后由 netegg 于 2011-12-18 08:06 编辑
#Include <WinAPIEx.au3>
_WinAPI_GetVolumeNameForVolumeMountPoint
磁盘的物理名称需要用createfile获取,懒得写了 好源码,谢谢共享 回复 2# netegg
你并没有看懂我的问题啊。
_WinAPI_GetVolumeNameForVolumeMountPoint ( $sPath ),如果分区还没有被加上盘符怎么办?
如果我只知道磁盘号,不知道盘符怎么办?
我是说的从磁盘名(没有盘符的情况)\\.\PhysicalDrive1怎样能得到卷标。 本帖最后由 netegg 于 2011-12-18 12:30 编辑
回复 4# jd19970829
不是说了吗,用createfile api做
_WinAPI_CreateFile("\\.\" & $sPhysDisk, 2, 6, 6, 1)
用这个可以获取盘符,中间换来换去弄一下,就能对上了
页:
[1]