//COMMTIMEOUTS读设置延时0,ReadFile函数重叠读取时,wait等待500毫秒对吗??? COMMTIMEOUTS TimeOuts;
//设定读超时
TimeOuts.ReadIntervalTimeout=MAXDWORD;
TimeOuts.ReadTotalTimeoutMultiplier=0;  
TimeOuts.ReadTotalTimeoutConstant=0;
//在读一次输入缓冲区的内容后读操作就立即5返回,
//而不管是否读入了要求的字符。        OVERLAPPED m_osRead;
memset(&m_osRead,0,sizeof(OVERLAPPED));
m_osRead.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);
       bReadStat=ReadFile(m_HandleCom,str,
12,&dwBytesRead,&m_osRead);
if(!bReadStat)
{
if(GetLastError()==ERROR_IO_PENDING)
    //GetLastError()函数返回ERROR_IO_PENDING,表明串口正在进行读操作
{
   WaitForSingleObject(m_osRead.hEvent,500);
    //使用WaitForSingleObject函数等待,直到读操作完成或延时已达到2秒钟
    //当串口读操作进行完毕后,m_osRead的hEvent事件会变为有信号
}
}}