C++ 读取USB3.0数据问题

是这样的,我需要读取USB3.0(Cypress)自动上传的数据,速率大概2MB/s,每个数据包1KB,也就是2048pkt/s,但我通过主动读取代码,如下:

  void USBDataPacket::GetUSBDataPacket()
{
     ZeroMemory(inBuf, 1024); 
     LONG length = 1024;
     UCHAR *inContext = USBDevice->BulkInEndPt->BeginDataXfer(inBuf, length, &inOvLap);
     USBDevice->BulkInEndPt->WaitForXfer(&inOvLap, 100);
     USBDevice->BulkInEndPt->FinishDataXfer(inBuf, length, &inOvLap, inContext);   
}
```    工作流程大概为:

while(true)
{
GetUSBDataPacket();
处理函数();
}


  这样的问题是我调用一次GetUSBDataPacket(),时间大概为1.5ms,也就是即使我不加数据处理函数,疯狂循环调用GetUSBDataPacket(),1.5ms才能得到1KB的数据,速率达不到2MB/S的要求,请问有其他快一点的方式么,新手,请教各位大大了

我是把USB枚举成一个串口,然后上位机和单片两边建立通讯协议,就随便写了。USB2.0也能到30m/s啊