void _fastcall ExpensIoThread::Execute(void)//发起一个I/O操作
{
    unsigned long ByteNumber=0;
    while(!Terminated)
    {
        if (_BeginProduce->WaitFor(600)==wrSignaled)//有信号状态
        {
            if(_commusb->Hpipe != INVALID_HANDLE_VALUE)
            {
                ReadFile(_commusb->Hpipe, &_buffer[0], _numbe, &ByteNumber, _mosRead);
            }
        }
    }}
void _fastcall AcceptDataThread::Execute(void)  //收数据线程
{
    unsigned long nBytesRead=0;
    while(!Terminated)
    {
        if ( GetOverlappedResult(_commusb->Hpipe, _mosRead,&nBytesRead, true))
        {
            if (nBytesRead==_resvnumber)
            {
            }
        }
     }
}
现在的情况是   GetOverlappedResult(_commusb->Hpipe, _mosRead,&nBytesRead, true) 读的结果不等于 nBytesRead 时也 返回 true该 如何解决呢??