我需要确定调制解调器的数量。调制解调器是USB设备。
要做到这一点,我需要
检测连接的调制解调器
GUID usbGuid = { 0xA5DCBF10L, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } };
HDEVINFO hDevInfo = SetupDiGetClassDevs(&usbGuid, NULL, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
SP_DEVINFO_DATA DeviceInfoData;
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
DWORD i;
for (i = 0; SetupDiEnumDeviceInfo(hDevInfo, i, &DeviceInfoData); i++)
{
//detect by vendorId
}
2.对于附加的调制解调器列出它模拟的所有COM端口。但是如何获取有关子设备和相关COM端口号的信息的访问权限。从USB Tree View下面记录有关我需要的COM端口的信息。
+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : Composite USB device
Device Path : \\?\usb#vid_1199&pid_68c0#6&24e4eadd&0&4#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
...
Power State : D0 (supported: D0, D1, D2, D3, wake from D0, wake from D1, wake from D2)
Child Device 1 : Sierra Wireless NMEA Port
Device ID : USB\VID_1199&PID_68C0&MI_02\7&2BC75400&0&0002
Class : Ports
COM-Port : COM19 (\Device\QCUSB_COM19_2)
Child Device 2 : Sierra Wireless Mobile Broadband Network Adapter
Device ID : USB\VID_1199&PID_68C0&MI_0A\7&2BC75400&0&000A
Class : Net
Child Device 3 : Sierra Wireless WWAN Modem
Device ID : USB\VID_1199&PID_68C0&MI_03\7&2BC75400&0&0003
Class : Modem
COM-Port : COM18 (\Device\QCUSB_COM18_3)
Child Device 4 : Sierra Wireless Mobile Broadband Network Adapter
Device ID : USB\VID_1199&PID_68C0&MI_08\7&2BC75400&0&0008
Class : Net
Child Device 5 : Sierra Wireless Mobile Broadband Network Adapter
Device ID : USB\VID_1199&PID_68C0&MI_0B\7&2BC75400&0&000B
Class : Net
Child Device 6 : Sierra Wireless DM Port
Device ID : USB\VID_1199&PID_68C0&MI_00\7&2BC75400&0&0000
Class : Ports
COM-Port : COM17 (\Device\QCUSB_COM17_1)