Wince5.0下获取RSSI的问题
各位大哥,小弟一直纠结于获取无线网卡所接受到的无线信号强度:写的程序如下:
//获得网卡设备的句柄
HANDLE hNdis = ::CreateFile( NDISUIO_DEVICE_NAME, GENERIC_ALL, 0, NULL, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,(HANDLE)INVALID_HANDLE_VALUE );
if(hNdis==INVALID_HANDLE_VALUE)
{MessageBox(_T("Fail to get the HANDLE."));
return false;
}
NDISUIO_QUERY_OID ndisQueryOid = { 0 };
DWORD dwBytesReturned = 0;
int nDb = 0;
//char buffer[16]={0};
wchar_t *buffer=0;
ndisQueryOid.Oid = OID_802_11_RSSI;
ndisQueryOid.ptcDeviceName = 0;
if ( ::DeviceIoControl( hNdis,IOCTL_NDISUIO_QUERY_OID_VALUE,
(LPVOID)&ndisQueryOid,sizeof(ndisQueryOid),(LPVOID)&ndisQueryOid,
sizeof(ndisQueryOid),&dwBytesReturned,NULL ) !=0 )
{
::CopyMemory( &nDb, &ndisQueryOid.Data[ 0 ], sizeof(ULONG) );
_itow(nDb,buffer,10);
MessageBox(buffer);
}
else
MessageBox(_T("fail"));
可一直得不到结果,还请大家给点指点。