4 / 4 / 3
Регистрация: 11.04.2014
Сообщений: 173
1

Получение буквы диска через SetupApi

08.03.2019, 01:41. Показов 2210. Ответов 2
Метки нет (Все метки)

Всем привет!
Мне необходимо получить букву, которую ОС присваивает USB-накопителю.
Так я получаю имена USB устройств
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        HDEVINFO Handle = SetupDiGetClassDevs(&GUID_DEVCLASS_DISKDRIVE, NULL, NULL, DIGCF_PRESENT);
        while (true)
        {
            DevData.cbSize = sizeof(SP_DEVINFO_DATA);
            if (!SetupDiEnumDeviceInfo(Handle, Enumindex, &DevData))
                break;
 
            SetupDiGetDeviceRegistryProperty(Handle, &DevData, SPDRP_ENUMERATOR_NAME, NULL, (PBYTE)&Buffer, sizeof(Buffer), NULL);
            if (wcscmp(Buffer, L"USBSTOR") == 0)
            {
                SetupDiGetDeviceRegistryProperty(Handle, &DevData, SPDRP_FRIENDLYNAME, NULL, (PBYTE)&Buffer, sizeof(Buffer), NULL);
                int index = DataGrid->Rows->Add();
                DataGrid->Rows[index]->Cells[0]->Value = gcnew String(Buffer);
            }
            Enumindex++;
        }
Можно ли узнать букву устройства по этим именам?
Или как - нибудь соотнести эти имена с буквами, полученными при помощи
C++
1
GetLogicalDriveStrings/GetDriveType
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.03.2019, 01:41
Ответы с готовыми решениями:

Точка монтирования USB диска SetupAPI
Вообщем есть DeviceID которое получено через SetupAPI с помощью : 1. hDevInfo =...

При подключении диска как внешнего через USB не отображается раздел с ОС, а данные с диска D не доступны
Здравствуйте! Имеется жесткий диск от ноутбука, который был вставлен в корпус для внешнего HDD. На...

Получение размера диска
Здравствуйте, делаю вот что: у меня 2 раздела - C: и D:, так вот он размер C: определяет верно, ...

Получение SPDP_PHYSICAL_DEVICE_OBJECT_NAME для логического диска
Доброго дня. Нужно получить значение SPDP_PHYSICAL_DEVICE_OBJECT_NAME, например,...

2
4 / 4 / 3
Регистрация: 11.04.2014
Сообщений: 173
10.03.2019, 01:10  [ТС] 2
up!
0
1386 / 1016 / 323
Регистрация: 28.07.2012
Сообщений: 2,804
10.03.2019, 02:38 3
Лучший ответ Сообщение было отмечено QuickPro как решение

Решение

QuickPro, посмотри это, это и вот это.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2019, 02:38
Помогаю со студенческими работами здесь

Получение файла из Публичной папки Яндекс диска
Всем привет, есть расшаренная папка на Яндекс диске, я знаю её публичный адрес, можно посмотреть...

Получение серийного номера диска с помощью GetVolumeInformation
Хотел вывести серийный номер диска, ошибка на строку вызова функции public partial class Form1 :...

Получение подписи диска(нужно поправить код)
Как мне узнать букву диска?? using System.Managment; ManagementObjectSearcher searcher...

Получение Partition Table у образа FDD диска
Получение Partition Table у образа FDD диска Собственно сама таблица располагается с адреса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru