我正在使用 C/C++ 在 Windows 中进行开发,我想知道是否有可能获得适当的 \\.\SCSI
设备名称 \\.\PhysicalDrive
?..
例如,很高兴知道如何获得 \\.\PhysicalDrive0
与\\.\SCSI0
相同.
最佳答案
查看我在对 the question 的回答中发布的代码.问题的作者多次更改问题的文本,最后版本的文本不清楚,也不是真正的问题所在。
例子中,哪个C源码可以下载here ,我展示了如何使用不同的 Windows API 获取有关本地驱动器的多种信息。您需要的重要事情是一些名称转换,例如 DeviceType 和 DeviceNumber(由 IOCTL_STORAGE_GET_DEVICE_NUMBER
接收),如下所示
DeviceType: 7, DeviceNumber: 5, PartitionNumber: 1
在操作系统中是唯一的,可以用来标识相同的设备。您可以在 IOCTL_STORAGE_GET_DEVICE_NUMBER 的文档中找到对声明的引用控制代码:
The values in the STORAGE_DEVICE_NUMBER structure are guaranteed to remain unchanged until the device is removed or the system is restarted. It is not guaranteed to be persistent across device restarts or system restarts.
通过比较\\.\SCSI0
设备和\\.\PhysicalDrive0
可以找出对应关系。
关于c++ - 名称映射--\\.\PhysicalDrive 到\\.\SCSI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5583553/