基于windows的蓝牙扫描、连接、通讯vs2010运行成功


之前下载的BlueToothExc代码,文件不全,这是完整的代码,能运行成功
资源截图
代码片段和文件信息
#include “StdAfx.h“
#include “BlueTooth.h“

CBlueTooth::CBlueTooth(void)
{
m_Ary_RemoteBthDevInfo.SetSize ( 0 10*sizeof(BLUETOOTH_DEVICE_INFO) );
m_Ary_LocalRadioInfo.SetSize ( 0 10*sizeof(t_LocalRadioInfo) );
}

CBlueTooth::~CBlueTooth(void)
{
RemoveAll_RemoteBthDevInfo ();
RemoveAllLocalRadio ();
}

//
// 用 Socket 函数搜索附近的蓝牙设备,成功时返回设备数,否则返回-1
//
int CBlueTooth::WSAScanNearbyBthDev ()
{
m_Ary_RemoteBthDevInfo.RemoveAll ();

WSAQUERYSET wsaq;
HANDLE hLookup;
union
{
CHAR buf[5000];
double __unused; // ensure proper alignment
};

LPWSAQUERYSET pwsaResults = (LPWSAQUERYSET) buf;
DWORD dwSize = sizeof(buf);
BOOL bHaveName;
ZeroMemory(&wsaq sizeof(wsaq));
wsaq.dwSize = sizeof(wsaq);
wsaq.dwNameSpace = NS_BTH;
wsaq.lpcsaBuffer = NULL;
if (ERROR_SUCCESS != WSALookupServiceBegin (&wsaq LUP_CONTAINERS &hLookup))
{
TRACE ( _T(“WSALookupServiceBegin failed
“) );
return -1;
}

ZeroMemory(pwsaResults sizeof(WSAQUERYSET));
pwsaResults->dwSize = sizeof(WSAQUERYSET);
pwsaResults->dwNameSpace = NS_BTH;
pwsaResults->lpBlob = NULL;
while (ERROR_SUCCESS == WSALookupServiceNext (hLookup LUP_RETURN_NAME | LUP_RETURN_ADDR &dwSize pwsaResults))
{
ASSERT (pwsaResults->dwNumberOfCsAddrs == 1);
BTH_ADDR b = ((SOCKADDR_BTH *)pwsaResults->lpcsaBuffer->RemoteAddr.lpSockaddr)->btAddr;
bHaveName = pwsaResults->lpszServiceInstanceName && *(pwsaResults->lpszServiceInstanceName);
t_RemoteBthDevInfo RemoteBthDevInfo;
if ( bHaveName )
{
StringCchPrintf ( RemoteBthDevInfo.szName sizeof(RemoteBthDevInfo.szName) _T(“%s“) 
pwsaResults->lpszServiceInstanceName );
}
RemoteBthDevInfo.Address.ullLong = b;

TRACE (L“%s ( %04x%08x )
“ RemoteBthDevInfo.szName GET_NAP(b) GET_SAP(b) );
m_Ary_RemoteBthDevInfo.Add ( RemoteBthDevInfo );
}
WSALookupServiceEnd(hLookup);

return (int)m_Ary_RemoteBthDevInfo.GetSize();
}

BOOL AUTHENTICATION_CALLBACK (LPVOID pvParam PBLUETOOTH_DEVICE_INFO pDevice)
{
t_AUTHENTICATION_CALLBACK_Para *pAUTHENTICATION_CALLBACK_Para = (t_AUTHENTICATION_CALLBACK_Para*)pvParam;
if ( pAUTHENTICATION_CALLBACK_Para )
{
pDevice->fAuthenticated = TRUE;
DWORD result = BluetoothUpdateDeviceRecord ( pDevice );
ASSERT ( result == ERROR_SUCCESS );
result = BluetoothSendAuthenticationResponse ( pAUTHENTICATION_CALLBACK_Para->hRadio pDevice AUTHENTICATION_PASSKEY );
if ( result == ERROR_SUCCESS )
return TRUE;
}
return FALSE;
}

//
// 用蓝牙 APIs 搜索附近的蓝牙设备,成功时返回设备数,否则返回-1
//
int CBlueTooth::ScanNearbyBthDev (
HANDLE hRadio
BOOL fReturnAuthenticated/* = TRUE*/
BOOL fReturnRemembered/* = TRUE*/
BOOL fReturnUnknown/* = TRUE*/
BOOL fReturnConnected/* = TRUE*/
BOOL fIssueInquiry/* = FALSE*/
UCHAR cTimeoutMultiplier/* = 30*/

{
RemoveAll_RemoteBthDevInfo ();
CWaitCursor WaitCursor;

BLUETOOTH_DEVICE_INFO bdi = { sizeof(BLUETOOTH_DEVICE_INFO) };
BLUETOOTH_DEVICE_SEARCH_PARAMS 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12846  2007-08-08 10:30  BlueToothExc_Plus原版BlueTooth.cpp

     文件       3923  2015-08-13 10:49  BlueToothExc_Plus原版BlueTooth.h

     文件      47920  2016-04-26 10:03  BlueToothExc_Plus原版BlueToothExc.aps

     文件       2407  2007-08-08 10:30  BlueToothExc_Plus原版BlueToothExc.cpp

     文件        579  2007-08-08 10:30  BlueToothExc_Plus原版BlueToothExc.h

     文件    4295680  2016-04-28 00:44  BlueToothExc_Plus原版BlueToothExc.ncb

     文件       9715  2016-04-27 03:41  BlueToothExc_Plus原版BlueToothExc.rc

     文件   56184832  2015-08-13 10:49  BlueToothExc_Plus原版BlueToothExc.sdf

     文件        889  2016-04-27 03:56  BlueToothExc_Plus原版BlueToothExc.sln

     文件        888  2007-08-08 10:30  BlueToothExc_Plus原版BlueToothExc.sln.old

    ..A..H.     36864  2016-04-28 00:30  BlueToothExc_Plus原版BlueToothExc.suo

    ..A..H.     19968  2010-03-27 03:26  BlueToothExc_Plus原版BlueToothExc.suo.old

     文件       6237  2016-04-27 03:51  BlueToothExc_Plus原版BlueToothExc.vcproj

     文件       6173  2007-08-12 13:17  BlueToothExc_Plus原版BlueToothExc.vcproj.8.00.old

     文件       1415  2016-04-28 00:38  BlueToothExc_Plus原版BlueToothExc.vcproj.chenqi-PC.chenqi.user

     文件       1415  2008-06-25 08:04  BlueToothExc_Plus原版BlueToothExc.vcproj.CHRYS-T60.chrys.user

     文件       1407  2016-04-26 10:02  BlueToothExc_Plus原版BlueToothExc.vcproj.PETER.leno.user

     文件       1427  2010-03-27 03:26  BlueToothExc_Plus原版BlueToothExc.vcproj.XIAOFEI-C7D8CBB.pc.user

     文件       1427  2010-03-26 09:28  BlueToothExc_Plus原版BlueToothExc.vcproj.XIAOFEI-GUZ2EBI.pc.user

     文件       8148  2015-08-13 09:53  BlueToothExc_Plus原版BlueToothExc.vcxproj

     文件       2849  2015-08-13 09:53  BlueToothExc_Plus原版BlueToothExc.vcxproj.filters

     文件        143  2015-08-13 09:53  BlueToothExc_Plus原版BlueToothExc.vcxproj.user

     文件     155065  2016-04-26 10:01  BlueToothExc_Plus原版DebugBlueTooth.obj

     文件    2438656  2016-04-26 10:02  BlueToothExc_Plus原版DebugBlueToothExc.exe

     文件        682  2016-04-26 10:02  BlueToothExc_Plus原版DebugBlueToothExc.exe.embed.manifest

     文件        748  2016-04-26 10:02  BlueToothExc_Plus原版DebugBlueToothExc.exe.embed.manifest.res

     文件        640  2016-04-26 10:02  BlueToothExc_Plus原版DebugBlueToothExc.exe.intermediate.manifest

     文件    7354212  2016-04-26 10:02  BlueToothExc_Plus原版DebugBlueToothExc.ilk

     文件      24985  2016-04-26 10:02  BlueToothExc_Plus原版DebugBlueToothExc.obj

     文件   22675456  2016-04-26 10:01  BlueToothExc_Plus原版DebugBlueToothExc.pch

............此处省略58个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)