名称映射 - \\。\ PhysicalDrive为\\。\ SCSI

时间:2011-04-07 15:25:22

标签: c++ c windows winapi

我正在开发使用C / C ++的Windows,我想知道是否可以通过\\.\SCSI获得适当的\\.\PhysicalDrive设备名称?..

例如,很高兴知道如何\\.\PhysicalDrive0\\.\SCSI0相同。

1 个答案:

答案 0 :(得分:1)

查看我在the question的答案中发布的代码。这个问题的作者已经改变了问题的文本这么多时间,文本的最后一个版本也很清楚,也没有真正解决原始问题。

在示例中,您可以下载哪个C源代码here,我将展示如何使用不同的Windows API获取有关本地驱动器的许多信息。您需要的重要一点是某些名称转换,如DeviceType和DeviceNumber(由IOCTL_STORAGE_GET_DEVICE_NUMBER收到),如下所示

DeviceType: 7, DeviceNumber: 5, PartitionNumber: 1

在操作系统中是唯一的,可用于识别相同的设备。您可以在IOCTL_STORAGE_GET_DEVICE_NUMBER控制代码的文档中找到对该语句的引用:

  

中的值   STORAGE_DEVICE_NUMBER结构是   保证保持不变直到   设备已删除或系统已删除   重新启动。不能保证   持续跨设备重启或   系统重启。

通过这种方式,您可以比较\\.\SCSI0设备和\\.\PhysicalDrive0并找出对应关系。