USB CDC COM获取设备信息方法(SetupDI)(C++Builder XE10.2)

      Android USB CDC COM端口. 如果Android设备不具备唯一ID.那么windows系统COM端口不是固定的.也就说说相同设备ID的Android设备挂载到PC端的时候.COM端口不固定. 这个情况想想通过简单的指定COM端口.来做COM端口操作就没办法.

       可以通过COM设备的LocalInformation位置确定唯一设备挂载地点. 动态的生成COM端口设备,从而动态锁定COM端口号

GUID  gui_cdc = {0x4D36E978L,0xE325,0x11CE,{0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18}};
#define INTERFACE_DETAIL_SIZE    (1024)

int  usb_cdc_get_com_port(AnsiString strDescFit,AnsiString strLocalInfo)
{
	//Dynamik Kernel COM
	AnsiString strDesc;
	AnsiString strTmp;
	int iPos,iStart,iCount;
    int com_port=0;

	CHAR   szBuf[MAX_PATH];
	SP_DEVINFO_DATA  spDevInfoData = {sizeof(SP_DEVINFO_DATA)};
	SP_DEVICE_INTERFACE_DATA  DeviceInterfaceData;
	DeviceInterfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);

	for(int i=0;i<CDC_MAX;i++)
	{
		m_cdcComPort[i]=0;
        m_cdcLocationInformation[i]="";
    }
	if(strDescFit.IsEmpty())  return com_port;

	//GUID获取设备信息
	HDEVINF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值