16,471
社区成员
发帖
与我相关
我的任务
分享
INT CComManager::EnumSerialPortFromDevice(LPCTSTR pStrSpecificPort,std::vector<CString>& vSerialPort)
{
std::vector<LPCTSTR> vData;
vSerialPort.clear();
INT nCount = m_pCommunication->EnumSpecificSerialPortFromDevice( pStrSpecificPort, vData );//此函数是在dll中调用的
for( int i = 0; i < nCount; i++ )
{
vSerialPort.push_back( vData[i] );
}
return nCount;
}
//dll中EnumSpecificSerialPortFromDevice函数的实现如下
INT CCommunication::EnumSpecificSerialPortFromDevice( LPCTSTR pStrSpecificPort, std::vector<LPCTSTR>& vSerialPort )
{
int nSpecificPortNumber = 0;
m_vSerailPort.clear();
int nAllPortNumber = EnumSerialPortFromDevice( m_vSerailPort );
CString strTmp = pStrSpecificPort;
for( int i = 0; i < nAllPortNumber; i++ )
{
if( m_vSerailPort[i].Find( strTmp ) >= 0 /*|| m_vSerailPort[i].Find( L"Prolific" ) >= 0 || m_vSerailPort[i].Find( L"CP210x" ) >= 0*/ )
{
vSerialPort.push_back( m_vSerailPort[i].GetString() );
nSpecificPortNumber ++;
}
}
return nSpecificPortNumber;
}