WinCE获取Wifi的设备名、连接状态和信号强度
来源:互联网 发布:java进销存管理系统 编辑:程序博客网 时间:2024/05/17 04:20
Note:需CE4.0或更高版本(兼容NDIS5.1)支持
一、加入头文件
#include <winioctl.h>#include <ntddndis.h>#include <nuiouser.h>
二、Attach to NDISUIO
HANDLE hNdis = ::CreateFile( NDISUIO_DEVICE_NAME, GENERIC_ALL, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, (HANDLE)INVALID_HANDLE_VALUE );
三、获取设备名称
UCHAR cbQueryBuffer[ 1024 ];PNDISUIO_QUERY_BINDING pQueryBinding;DWORD dwBytesReturned = 0;pQueryBinding = (PNDISUIO_QUERY_BINDING)&cbQueryBuffer[ 0 ];pQueryBinding->BindingIndex = 0;if ( ::DeviceIoControl( hNdis, IOCTL_NDISUIO_QUERY_BINDING, (LPVOID)&cbQueryBuffer[ 0 ], sizeof(NDISUIO_QUERY_BINDING), (LPVOID)&cbQueryBuffer[ 0 ], sizeof(cbQueryBuffer), &dwBytesReturned, NULL ) == TRUE ){ TCHAR* pDeviceName = (TCHAR*)( cbQueryBuffer + pQueryBinding->DeviceNameOffset );}
四、检测连接状态
NIC_STATISTICS nicStatistics = { 0 };DWORD dwBytesReturned = 0;BOOL bConnected = FALSE;nicStatistics.ptcDeviceName = pDeviceName;if ( ::DeviceIoControl( hNdis, IOCTL_NDISUIO_NIC_STATISTICS, NULL, 0, &nicStatistics, sizeof(NIC_STATISTICS), &dwBytesReturned, NULL ) == TRUE ){ bConnected = ( nicStatistics.MediaState == MEDIA_STATE_CONNECTED );}
五、获取信号强度
// example.// < -90 : No Signal// < -81 : Very Low// < -71 : Low// < -67 : Good// < -57 : Very Good// ... : ExcellentNDISUIO_QUERY_OID ndisQueryOid = { 0 };DWORD dwBytesReturned = 0;int nDb = 0;ndisQueryOid.Oid = OID_802_11_RSSI;ndisQueryOid.ptcDeviceName = pDeviceName;if ( ::DeviceIoControl( hNdis, IOCTL_NDISUIO_QUERY_OID_VALUE, (LPVOID)&ndisQueryOid, sizeof(ndisQueryOid), (LPVOID)&ndisQueryOid, sizeof(ndisQueryOid), &dwBytesReturned, NULL ) == TRUE ){ ::CopyMemory( &nDb, &ndisQueryOid.Data[ 0 ], sizeof(ULONG) );}
- WinCE获取Wifi的设备名、连接状态和信号强度
- Wince获取Wifi的设备名、连接状态和信号强度
- Wince获取Wifi的设备名、连接状态和信号强度
- Wince获取Wifi的设备名、连接状态和信号强度
- Wince获取Wifi的设备名、连接状态和信号强度
- CE获取Wifi的设备名、连接状态和信号强度
- CE获取Wifi的设备名、连接状态和信号强度
- android 获取wifi开光状态,连接状态,信号强度
- Android 监听Wifi状态和信号强度
- WIFI信号强度获取
- 取得 wince 剩余电量和wifi信号强度
- 取得 wince 剩余电量和wifi信号强度
- 通过OpenNetCF来获取周围的Wifi设备以及信号强度
- android获取wifi信号强度
- Android获取WIFI信号强度
- android获取wifi信号强度
- Android 获取wifi信号强度
- iOS 获取wifi信号强度
- 在MyEclipse上面部署SmartFoxServer的运行环境
- 静态库与共享库
- ASP.NETPage指令的一些常用属性 - asp.net 教程
- ASP.NET验证码攻略,支持中文,字母,数字C#
- int 与Int32
- WinCE获取Wifi的设备名、连接状态和信号强度
- 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
- android bitmap翻转180,镜像的简单实现方法
- Timer in Linux Device Driver
- 矩阵的乘法是函数的合成
- Android游戏开发之旅六 自定义View
- 2011 3-15 读http://dreamhead.blogbus.com/ 有感
- C++ explicit关键字应用于构造函数
- u-boot-2010-06在mini2440上的移植(二)