我已经安装了3.1的winpcap版本的驱动了。
我调用这个函数 PacketOpenAdapter,发现总是出现exception.
我在前面已经调用PacketGetAdapterNames,取得了网卡名。
请问在调用PacketOpenAdapter()函数之前,还需要什么初始化操作么,如果是。请提示一下。
谢谢

解决方案 »

  1.   

    要网卡名。lpbuffer,,lpadapter
    buffer要init
      

  2.   

    用winpcap打开网卡捕获数据包的步骤我在Blog上写得非常详细,给每个函数都做了详细的解释,也有示例代码,你可以去看一下,希望能对你有帮助:)http://blog.csdn.net/PiggyXP如果你取得的网卡名字没有错误的话,应该是类似于这样的字符串
    \Device\NPF_{9505DF80-3852-4AFA-BBEA-23806F3CC723}比如网卡名字是这样 char *AdapterDeviceName = "\\Device\\NPF_{9505DF80-3852-4AFA-BBEA-23806F3CC723}";用Packet系列函数来打开网卡的就是这样就好了,也没有别的步骤了
    LPADAPTER lpAdapter;       // 在pcap头文件中定义,网卡结构指针lpAdapter = PacketOpenAdapter(AdapterDeviceName);     // 打开网卡if (!lpAdapter || (lpAdapter->hFile == INVALID_HANDLE_VALUE))
    {
    AfxMessageBox("打开网卡错误!");
    return;
    }