dweep
驱动牛犊
驱动牛犊
  • 注册日期2003-12-20
  • 最后登录2007-12-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1375回复:0

如何设置OID_802_11_SSID?

楼主#
更多 发布于:2004-03-21 22:03
DDK里写道:
Setting an SSID results in:
1.disassociating the NIC from any SSID with which it might be associated.
2.turning on the radio if the radio is OFF.
3.setting the SSID with the specified value or setting it to any SSID if the SSID is not specified.
4.attempting to associate the NIC with the new SSID.
我对这段话的理解是:对SSID进行Set操作,可以使其从当前相连的服务集中断开,再连到指定的服务集上。
于是在MiniportCheckForHang函数中添加以下代码:
//WLAN是我声明的一个NDIS_802_11_SSID结构变量
//"WLAN"是服务集名字
WLAN.SsidLength = 4;
NdisMoveMemory(WLAN.Ssid,"WLAN",4);

然后调用MPSetInformation:
Status=MPSetInformation(MiniportAdapterContext,OID_802_11_SSID,(PVOID)&WLAN,sizeof(NDIS_802_11_SSID),pBytesRead,pBytesNeeded);
在这句后打印Status状态为NDIS_STATUS_PENDING,
在PtRequestComplete中截获这个设置,Status有时为NDIS_STATUS_SUCCESS,有时为NDIS_STATUS_INVALID_OID,两者比例为1:2,而且始终是按照:NDIS_STATUS_INVALID_OID,NDIS_STATUS_INVALID_OID,NDIS_STATUS_SUCCESS的顺序出现;

可是我用WinXP的无线网络连接看到结果是Wireless NIC始终连在另一个服务集上。

还请各位朋友多多指点,谢谢。 :)

[编辑 -  3/22/04 by  dweep]
ftp://Landy:ydnaL@210.25.133.57 用于驱动资料文档软件代码上传下载 位于中国教育科研网内 开放时间:24×7
游客

返回顶部