hwzhanghw
驱动牛犊
驱动牛犊
  • 注册日期2008-03-28
  • 最后登录2008-04-14
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
阅读:1761回复:1

关于获取无线网络列表的的若干问题

楼主#
更多 发布于:2008-04-03 13:45
小弟最近在写一个WLAN 的搜索程序,主要用到的函数是DeviceIoControl,关键的几个操作如下 :
oidcode = OID_802_11_BSSID_LIST_SCAN ;
                
DeviceIoControl(  m_handle,IOCTL_NDIS_QUERY_GLOBAL_STATS,&oidcode,sizeof( oidcode),( ULONG *) NULL,0,&bytesreturned,NULL) ;


oidcode = OID_802_11_BSSID_LIST ;

DeviceIoControl(m_handle,IOCTL_NDIS_QUERY_GLOBAL_STATS,&oidcode,sizeof( oidcode),( ULONG *) m_pBSSIDList,sizeof( NDIS_802_11_BSSID_LIST) * NUMBEROF_BSSIDS,&bytesreturned,NULL)

获取AP列表的操作大致如上,细节已省略,现在的问题是,在有的机器上可以检测出AP的信息,有的机器上调用函数失败,返回的错误码为31,大致的意思是请求不支持。
请问各位大哥,为什么会出现这种情况,是不是无线网卡的问题,有没有其它的函数或方法可以达到同样的功能,请给个稍微详细点的例子,谢谢!
yma5423
驱动牛犊
驱动牛犊
  • 注册日期2008-03-16
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分60分
  • 威望7点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-16 11:34
你可以这样试一下, 在出问题的机器上只发送
oidcode = OID_802_11_BSSID_LIST ;

DeviceIoControl(m_handle,IOCTL_NDIS_QUERY_GLOBAL_STATS,&oidcode,sizeof( oidcode),( ULONG *) m_pBSSIDList,sizeof( NDIS_802_11_BSSID_LIST) * NUMBEROF_BSSIDS,&bytesreturned,NULL)
而不要两句同时使用,看看能不能解决你的问题。因为我也遇到类似的情况,就是这样做的!
游客

返回顶部