阅读:1762回复:1
关于获取无线网络列表的的若干问题
小弟最近在写一个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,大致的意思是请求不支持。 请问各位大哥,为什么会出现这种情况,是不是无线网卡的问题,有没有其它的函数或方法可以达到同样的功能,请给个稍微详细点的例子,谢谢! |
|
沙发#
发布于: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) 而不要两句同时使用,看看能不能解决你的问题。因为我也遇到类似的情况,就是这样做的! |
|