www.pudn.com > SmartCardSrc.zip > EnumPorts.cpp
//------------------------------------------------------------------------------ // // Copyright (c) 1999-2005 Matt Brunk// // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License VERSION 2 as // published by the Free Software Foundation. You are not allowed to // use any other version of the license; unless you got the explicit // permission from the author to do so. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // //------------------------------------------------------------------------------ #include "stdafx.h" #include "EnumPorts.h" BOOL CEnumPorts::IsPortAvailable(int nPort) { TCHAR szPort[15]; COMMCONFIG cc; DWORD dwCCSize; sprintf(szPort, _T("COM%d"), nPort); dwCCSize = sizeof(cc); return GetDefaultCommConfig(szPort, &cc, &dwCCSize); } void CEnumPorts::GetAvailablePorts(std::vector &outPorts) { outPorts.clear(); for ( int pp = 1; pp <= 255; pp++ ) { if ( IsPortAvailable(pp) ) { outPorts.push_back(pp); } } }