我正在开发使用C / C ++的Windows,我想知道是否可以通过\\.\SCSI
获得适当的\\.\PhysicalDrive
设备名称?..
例如,很高兴知道如何\\.\PhysicalDrive0
与\\.\SCSI0
相同。
答案 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
并找出对应关系。