wolf_xt0223
驱动牛犊
驱动牛犊
  • 注册日期2005-06-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1299回复:0

NDIS应用问题

楼主#
更多 发布于:2007-09-18 20:05
我用NDISUIO连一个AP, 用IOCTL_NDISUIO_REQUEST_NOTIFICATION来判断是否连上,做associate之后收到CONNECT EVENT,但实际上并没有连上AP,检查发送的数据包,发现在发送ASSOCIATE包之后收到AP返回的ACK包,但紧接着就发送一个DE-AUTHENTICATION包给AP,所以实际上在和AP连接之后马上就中断连接,但我不知道为什么在收到AP返回的ACK包之后,NDIS会中断连接,然后发出一个DE-AUTHECTICAITION包。请各位大侠帮忙!!!我把代码发在下面
    HANDLE hDevice = CreateFile(
        NDISUIO_DEVICE_NAME, GENERIC_READ,
        FILE_SHARE_READ | FILE_SHARE_WRITE,
        NULL, OPEN_EXISTING,
        FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,
        NULL);

    if (hDevice == INVALID_HANDLE_VALUE)
    {
        DWORD dwError = GetLastError();
        return -1;
    }

if (!Disassociate(hDevice, pszAdapter))
    {
        CloseHandle(hDevice);
        return -1;
    }

if (!SetInfrastructureMode(hDevice, pszAdapter, Ndis802_11Infrastructure))
    {
        CloseHandle(hDevice);
        return -1;
    }

if (!SetAuthenticationMode(hDevice, pszAdapter, authMode))
    {
        CloseHandle(hDevice);
        return -1;
    }

 if (!SetEncryptionStatus(hDevice, pszAdapter, Ndis802_11Encryption1Enabled))
    {
        CloseHandle(hDevice);
        return -1;
    }

  if (!SetSsid(hDevice, pszAdapter, pszSsid))
      {
        CloseHandle(hDevice);
        return -1;
    }
    if (!WaitForMediaConnectNotification(hDevice, pszAdapter, timeout))
    {
        Disassociate(hDevice, pszAdapter);
        CloseHandle(hDevice);
        return -1;
    }
游客

返回顶部