使用软件向虚拟网卡打入大量的UDP报文,
一会就读不出数据报文了。使用函数ReadFileEx从虚拟网卡读数据错误
if ( !ReadFileEx(m_stDriverCtx.hDriver, (char*)pucReadBuffer, usBufLen, &ovp.ov, OnReadFinish) )GetLastError();返回ERROR_GEN_FAILURE 31请高手帮忙解决谢谢!

解决方案 »

  1.   

    系统设备的问题?
    error 31
        连到系统上的设备没有发挥作用。 
      

  2.   

    "附加到系统上的设备不能正常工作"
    m_stDriverCtx.hDriver是否为空?
      

  3.   

    先看CreateFile是否正确打开设备m_stDriverCtx.hDriver
      

  4.   

    打开虚拟网卡成功
    Virtual adapter opened successfully 
    m_stDriverCtx.hDriver=528运行正常可以正常读取写入报文,
    打入大量UDP报文后,10000+pps,持续3分钟左右,出现异常wait timeout!driver =528,ret= WAIT_TIMEOUT,len=0ReadFileEx err=31句柄没有变。
      

  5.   

    还有个现象,仍然可以往虚拟网卡m_stDriverCtx.hDriver使用WiteFileEx写入数据。但是ReadFileEx出错。虚拟网卡状态
    [10:32:54]State=AT0c Err=[] #O=4 Tx=[1033490,608520,0] Rx=[1044189,0,0] IrpQ=[0,16,16] PktQ=[0,64,64]可以看到pktQ队列已经满了64没程序去读取数据。