我的问题是: 鉴于连接到我的Windows机器的脱机磁盘,我怎么能得到它的卷号?
场景: 我需要为共享存储(使用CreateFile函数)创建一个处理程序,以便在DeviceIoControl函数中使用它(需要执行SCSI保留)。
" CreateFile" function获取物理驱动器名称(即\。\ PhysicalDisk1)或磁盘的卷号(即\。\ E:)。
我的问题是,我不想使用物理驱动器名称,只是磁盘信件。 这在磁盘处于联机状态时工作正常,但是当磁盘处于脱机状态时我也必须支持。
有没有办法在设备/磁盘离线时确定字母? 我认为有,因为当我把磁盘放到网上时,Windows自动给它正确的字母。因此,如果操作系统知道该字母是什么,那么必须有一个我可以使用的API或工具。
谢谢, 丹尼尔。
答案 0 :(得分:0)
不幸的是,当驱动器处于脱机状态时,驱动器号可供另一个可能插入的驱动器使用。因此,尽管Windows会记住特定驱动器曾经拥有的驱动器号,并且在重新插入时会尝试重复使用相同的字母,但如果插入另一个使用了记忆信件的驱动器,则旧驱动器将获得不同的字母如果它然后插入。
但如果当前未连接该驱动器,则无法通过名称或字母打开物理驱动器。您只需获得相应的"文件未找到"。