Я пытаюсь получить список доступных COM-портов с помощью метода «Windows 2000», описанного здесь:
http://www.codeproject.com/KB/system/setupdi.aspx
Мой текущий код: http://pastebin.ca/1977670
Вот что я получаю:
\\?\ftdibus#vid_0403+pid_6001+ftf479xra#0000#{86e0d1e0-8089-11d0-9ce4-08003e301f73}
USB Serial Port (COM13)
USB Serial Port
\\?\hdaudio#func_02&ven_11c1&dev_1040&subsys_11c10001&rev_1002#4&ddab605&0&0101#{86e0d1e0-8089-11d0-9ce4-08003e301f73}
Agere Systems HDA Modem
Agere Systems HDA Modem
Я просмотрел различные параметры SetupDiGetDeviceRegistryProperty, но не могу найти подходящий, чтобы получить фактический номер COM-порта. (см. http://msdn.microsoft.com/en-us/library/ff551967(VS.85).aspx)
Я мог бы искать COMXXX под понятным именем (через регулярное выражение или что-то еще ...), но я не думаю, что это будет правильным решением ...