Здравствуйте, SSAlex, Вы писали:
SSA>Здравствуйте, dodson, Вы писали:
D>>а по-подробнее можно? используется ли overlapped?...
SSA>Да, есть такое дело;
SSA>Я ему пишу:
ну так в чем его "нерабочесть" проявляется?
if (WaitCommEvent(hCommPort,&dwMask,&ov))
{
// сюда попдаем если в событие которое мы ждем уже случилось
....
}else{
if(GetLastError() == ERROR_IO_PENDING){
// обрабат. overlapped:
switch(WaitForSingleObject(overlapped.hEvent, timeoutInSeconds * 1000)){ //ждем какое-то время
case WAIT_TIMEOUT: // не дождались
CloseHandle(overlapped.hEvent);
return TimeoutExceed;
break;
case WAIT_OBJECT_0: // чего-то дождались
...
...
}
SSA>А в overlapped я пишу:
SSA> OVERLAPPED ov;
SSA> ov.Offset = 0;
SSA> ov.OffsetHigh = 0;
SSA> .....
SSA> if(SetCommMask(hCommPort,EV_TXEMPTY | EV_CTS | EV_DSR |EV_RXCHAR | EV_RLSD))
SSA> ov.hEvent = CreateEvent(NULL,FALSE,NULL,NULL);
SSA> ....
ну да, должно