Как получить том GUID - PullRequest
2 голосов
/ 09 июня 2010

Я использую Win32 API с C++.

Я хотел бы знать, как получить GUID тома, используя «путь к устройству».

Мое устройство выглядит так:

\\?\usb#vid_04f2&pid_0111#5&39fe81e&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}

Спасибо.

Ответы [ 2 ]

2 голосов
/ 09 июня 2010

Это будет устройство с идентификатором экземпляра устройства usb\VID_04f2&PID_0111\5&39fe81e&0&2.Это, вероятно, запоминающее устройство или диск.Теперь проблема в том, что на устройстве хранения большой буквы нет;это том на том диске, который имеет букву диска.Если имеется два раздела, одно запоминающее устройство USB может иметь две буквы диска.Таким образом, нет прямой функции для получения тома .

Похоже, вам нужно перечислить дерево устройств с корнем в usb\VID_04f2&PID_0111\5&39fe81e&0&2, чтобы найти дочерние элементы с типом устройства "объем".Полученное DEV_BROADCAST_DEVICEINTERFACE будет иметь поле dbcc_name, которое можно передать GetVolumeNameForVolumeMountPoint().

0 голосов
/ 09 июня 2010

Рассматривали ли вы запросить WMI для него? Дайте мне знать, если вам нужны подробности о том, как это сделать.

...