c++ - 名称映射--\\.\PhysicalDrive 到\\.\SCSI

标签 c++ c windows winapi

我正在使用 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/

相关文章:

PHP 直接打印到打印机(本地/网络)(卡在后台打印程序中)

c++ - 发生泄漏检查错误时如何使cuda-memcheck返回非零

C++ 无序对类型

c++ - 在 C++ 中使用 boost 拆分字符串两次?

c - getchar() 跳过 C 中的所有其他字符

c - 为什么 strcpy 采用 const char* 作为 src 而不是 char *?

c - 在 C 中传递结构

c++ - 了解 posix 进程间信号量

windows - Windows 管理员和 Windows 系统用户有什么区别

windows - 使用 VS2010 创建的二进制文件的最低操作系统是什么?