Отображение имени - \\. \ PhysicalDrive в \\. \ SCSI - PullRequest
0 голосов
/ 07 апреля 2011

Я работаю в Windows с C / C ++ и хочу знать, возможно ли получить \\.\SCSI подходящее имя устройства по \\.\PhysicalDrive? ..

Например, замечательно знать, как получить, что \\.\PhysicalDrive0 такое же, как \\.\SCSI0.

1 Ответ

1 голос
/ 07 апреля 2011

Посмотрите на код, который я разместил в своем ответе на вопрос . Автор вопроса так много раз менял текст вопроса, и последняя версия текста не ясно и не представляла, в чем заключалась первоначальная проблема.

В примере с исходным кодом C, который вы можете загрузить здесь , я покажу, как получить различную информацию о локальном диске с помощью другого 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 и выяснить соответствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...