关于蓝牙WSALookupServiceNext()异常10050的有关问题
发布时间:2010-05-30 21:21:18 文章来源:www.iduyao.cn 采编人员:星星草
关于蓝牙WSALookupServiceNext()错误10050的问题
各位大侠我最近初学蓝牙,准备在WIN CE平台下用SOCKET进行蓝牙的开发。
但是在查找设备的时候总是出错。是在WSALookupServiceNext()这一步的时候出现了错误,错误代码为10050
代码:
1初始化:
err = WSAStartup(MAKEWORD(2,2),&wsd);
if(err!=0)
{
AfxMessageBox(L"SOCKET ERROR!");
}
if(LOBYTE(wsd.wVersion)!=2||HIBYTE(wsd.wVersion)!=2)
{
WSACleanup();
AfxMessageBox(L"SOCKET 2.2 ERROR!");
}
2查找设备:
ZeroMemory(&wsaq, sizeof(wsaq));
wsaq.dwSize = sizeof(wsaq);
wsaq.dwNameSpace = NS_BTH;
wsaq.lpcsaBuffer = NULL;
if (ERROR_SUCCESS != WSALookupServiceBegin (&wsaq, LUP_CONTAINERS, &hLookup))
{
a = GetLastError();
aa.Format (L"WSALookupServiceBegin error num %d",a);
AfxMessageBox(aa);
}
ZeroMemory(pwsaResults, sizeof(WSAQUERYSET));
pwsaResults->dwSize = sizeof(WSAQUERYSET);
pwsaResults->dwNameSpace = NS_BTH;
pwsaResults->lpBlob = NULL;
if(m_pStart)
{
for(m_pCurrentDevice=m_pStart;m_pCurrentDevice;)
{
DeviceList *temp=m_pCurrentDevice;
m_pCurrentDevice=m_pCurrentDevice->NextDevice;
free(temp);
}
}
m_pEnd=m_pStart=NULL;
m_iNumDevices=0;
while (true)
{
//在这里就出错了,错误代码10050,好像是没找到设备
if(WSALookupServiceNext (hLookup, LUP_RETURN_NAME | LUP_RETURN_ADDR, &dwSize, pwsaResults)!=ERROR_SUCCESS)
{
a = GetLastError();
aa.Format (L"WSALookupServiceBegin error num %d",a);
AfxMessageBox(aa);
/////////////////////////////////
for(int iiii=m_ListBox_Content.GetCount(); iiii>0; iiii--)
m_ListBox_Content.DeleteString(iiii-1);
de=L"CAN NOT FIND DEVICES";
bc=L"Devices Num : ";
ab.Format(L"%d",m_iNumDevices);
cd=bc+ab;
m_ListBox_Content.InsertString(0,de);
m_ListBox_Content.InsertString(1,cd);
//m_ListBox_Content.AddString(bc);
////////////////////////////
break;
}
ASSERT (pwsaResults->dwNumberOfCsAddrs == 1);
tempDevice=(DeviceList*)malloc(sizeof(DeviceList));
tempDevice->NextDevice=NULL;
if(m_pStart==NULL)
{
m_pStart = tempDevice;
m_pEnd=m_pStart;
}
else
{
m_pEnd->NextDevice =tempDevice;
m_pEnd=tempDevice;
///////////////////////////////////////
for(int iii=m_ListBox_Content.GetCount(); iii>0; iii--)
m_ListBox_Content.DeleteString(iii-1);
de=L"SCAN DEVICES";
bc=L"Devices Name : ";
ab.Format(L"%S",tempDevice->bthName);
cd=bc+ab;
m_ListBox_Content.InsertString(0,ab);
m_ListBox_Content.AddString(bc);
//////////////////////////////////////////
}
m_iNumDevices++;
m_pEnd->bthAddress = ((SOCKADDR_BTH *)pwsaResults->lpcsaBuffer->RemoteAddr.lpSockaddr)->btAddr;
de=L"SCAN DEVICES";
bc=L"Devices Num : ";
ab.Format(L"%d",m_iNumDevices);
cd=bc+ab;
m_ListBox_Content.AddString(cd);
}
WSALookupServiceEnd(hLookup);
是不是我还没对蓝牙进行初始化配置,还是在定制的时候没有定制好,我在定制系统的时候加了
Bluetooth Stack with lnteqrated UART Driver 和 Bluetooth Stack with lnteqrated CSR Chipset Driver 和
Bluetooth Stack with Universal Loadable Driver 这三项了,芯片是CSR公司的BC4,现在跟COM1:连,只连TX和RX两根,用串口助手读的时候是不断的读到:C0 40 41 00 7E DA DC DE DE A9 7A C0这串十六进制的东西。
------解决方案--------------------
才疏学浅,没弄过蓝YA,上MSDN,有10050这个错误的信息
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
atd指令拨号,如何判断电话状态
在网上找了许久,终于找到一位仁心解决方案,这个指令是可以得到手机当时的状态,但是不管是空号、欠费、...
-
MTK添加应用程序
添加好了模块之后(inc、lis、pth)在用VS2008编译时候报错
提示找不到我新添加文件的头文件,我在makefile里也添加了...
-
资源编译问题
make p=d9128 m=resource 后
最后出现了几句话,不知道是什么意思,是否成功
generate resource bin successful!
tota...
-
MTK11A如何更换主菜单顺序?
在vappMainmenuDefaultOrder中更换联系人和通话记录的顺序,r cosmos后。没有更换过来,请问,怎样更换顺序?
...
-
MTK 画png图片 图片边缘有杂色
我在MTK作图中,在处理png图片的时候总是会遇到图片边缘会有一些杂色或者是通透下一层背景图片的问...
-
MTK各种版本
大家好,我知道MTK有很多版本,但是通过原代码不知道怎么判断,我想请问大家版本怎么判断,还有就是各个版本之间编程有什么...
-
mtk模拟器联网
刚接触mtk,想请教下高手mtk的模拟器是如何连接网络上的,之前有见过别人在模拟器上打开网页。需要修改什么?
------解...
-
急!怎设置让android内置浏览器无地址栏?
想通过一个activity中的按钮链接到另一个网页,由于美观需要,不希望出现地址栏,怎么办?
------...
-
关于手机浏览器显示谷歌地图的问题
请问哪些手机浏览器能正常显示谷歌地图呢,我知道opera可以,safari可以,其他的呢。还有,网页正常显...
-
如何在mstar的idle界面画图
怎么在idle上画图呢,比如说画点画线画一个图片上去等.
刚接触mstar,不熟悉。
mstar画idle是哪一个函...