|
getcomm(),setcomm() 이 어떻게 작동하는지는 소스에 없어서 잘 모르겠지만요.
제생각에
처음에 setcomm(CreateFile("COM1",~~~)) 할때 setcomm으로 들어가는 값이
포트에 대한 핸들일텐데요.
아마 getcomm() 이 리턴하는 값이 그 핸들값인거 같습니다.
CreateFile 할때 넣었던
nport값과 핸들값과의 관계를 저장하는 무언가가 있으면 될거 같네요.
딱히 딴건 생각이 안나지만 -_-
1. 배열에 대충 집어넣어놓는 방법
// 틀려도 책임 못짐니다 @_@;
int port[200] /* 약 200개 까지 저장 COM1:0 부터 시작*/
port[nport-1] = CreateFile("COM X",~~); // X = nport
// 이런식으로 저장해 놓고 나중에 getcomm()에서
int hPort = getcomm();
for(int i=0;i<200;++i)
{
if (port[i]==hPort)
{
printf("앗 포트는 COM %d 닷!",i+1);
break;
}
}
해도 되겠고 간단히는 STL 의 맵을 이용해도 되겠습니다.
ps. 사실 그 위의 소스만 보고는 잘 모르겠습니다.
전 딴것은 모르겠고 한다면 그냥 필요한 만큼의 쓰레드를 돌린다던가 -_-;
그런 무식한 방법바께 모르겠습니다. ㅠ.ㅠ;
대충 유추해서 쓴것이기 때문에 @_@; 책임 못져용 ㅠ.ㅠ.
select를 이용하는건 좀 복잡시려서리 ;
|