WM6.0 WiFi连接AP
我现在已经完成以下步骤:
1. 打开NDISUIO
m_hNDUIO=CreateFile(NDISUIO_DEVICE_NAME)
2. 打开NDIS获取网卡名字
hNDIS = CreateFile(DD_NDIS_DEVICE_NAME)
DeviceIoControl(hNDIS , IOCTL_NDIS_GET_ADAPTER_NAMES)
3. 获取AP列表
PNDISUIO_QUERY_OID pNQO = reinterpret_cast<PNDISUIO_QUERY_OID>(buffer);
pNQO->ptcDeviceName = const_cast<LPWSTR>(pAdapter);
pNQO->Oid = OID_802_11_BSSID_LIST;
DeviceIoControl(m_hNDUIO, IOCTL_NDISUIO_QUERY_OID_VALUE)
4. 设置参数连接AP
1) 设置OID_802_11_INFRASTRUCTURE_MODE=BSSIDInfo.Infastructure
2) 设置OID_802_11_PRIVACY_FILTER=Ndis802_11PrivFilterAcceptAll
3) 设置OID_802_11_AUTHENTICATION_MODE=Ndis802_11AuthModeOpen
4) 设置OID_802_11_ENCRYPTION_STATUS=Ndis802_11WEPDisabled
5) 设置OID_802_11_SSID=BSSIDInfo.SSID
6) 等待NDISUIO_NOTIFICATION_MEDIA_CONNECT及NDISUIO_NOTIFICATION_MEDIA_DISCONNECT消息(本处返回NDISUIO_NOTIFICATION_MEDIA_CONNECT)
7) 设置OID_802_11_BSSID=BSSIDInfo.BSSID
8) 调用GetInterfaceInfo()得到Adapter信息,并调用IpRenewAddress()刷新IP
以上是连接一个无验证的AP过程,调用时都返回true,AP节点也可以刷出。但调用IOCTL_NDISUIO_NIC_STATISTICS检测网络时,返回空数据ptcDeviceName为空。而且AP也看不到接入。是我的过程不正确吗?还是有其它问题?请高手回答谢谢!
如果有代码可以参考,请发到我邮箱:samson107@163.com,或加我的QQ:190912165
[解决办法]
晕
连接贴错了
http://www.cnblogs.com/Jade2009/archive/2009/02/23/1368201.html
[解决办法]
我也在学习这方面的