Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bluetooth 指定LUP_FLUSHCACHE时,WSALookupServiceBegin崩溃_Bluetooth - Fatal编程技术网

Bluetooth 指定LUP_FLUSHCACHE时,WSALookupServiceBegin崩溃

Bluetooth 指定LUP_FLUSHCACHE时,WSALookupServiceBegin崩溃,bluetooth,Bluetooth,我有一个C++/CLI dll,它实现了一些由.NET应用程序加载的蓝牙功能。如果dll是用.NET3.5编译的(应用程序也是如此),那么一切正常 我已经将dll更新为.NET4.0(VS2010)和平台工具集v100(VS2010);当然,该应用程序已更新为相同版本的.NET framework。从那时起,如果我指定LUP_FLUSHCACHE标志,WSALookupServiceBegin就会崩溃 代码如下: HANDLE hLookup = 0; WSAQUERYSET qs; ::mem

我有一个C++/CLI dll,它实现了一些由.NET应用程序加载的蓝牙功能。如果dll是用.NET3.5编译的(应用程序也是如此),那么一切正常

我已经将dll更新为.NET4.0(VS2010)和平台工具集v100(VS2010);当然,该应用程序已更新为相同版本的.NET framework。从那时起,如果我指定LUP_FLUSHCACHE标志,WSALookupServiceBegin就会崩溃

代码如下:

HANDLE hLookup = 0;
WSAQUERYSET qs;
::memset(&qs, 0, sizeof(WSAQUERYSET));

// Start the lookup service
qs.dwSize = sizeof(WSAQUERYSET);
qs.dwNameSpace = NS_BTH;

iResult = ::WSALookupServiceBegin(&qs, LUP_CONTAINERS | LUP_RETURN_TYPE | LUP_RETURN_NAME | LUP_RETURN_ADDR | LUP_FLUSHCACHE, &hLookup); **<= Crash here**
句柄hLookup=0;
WSAQUERYSET-qs;
::memset(&qs,0,sizeof(WSAQUERYSET));
//启动查找服务
qs.dwSize=sizeof(WSAQUERYSET);
qs.dwNameSpace=NS_BTH;

iResult=::WSALookupServiceBegin(&qs,LUP_容器| LUP_返回|类型| LUP_返回|名称| LUP_返回|地址| LUP_FLUSHCACHE,&hLookup)** 您是否尝试过将WSAQUERYSET初始化为零

memset(&qs, 0, sizeof(WSAQUERYSET));
有时系统会将WSAQUERYSET初始化为垃圾-这可能会导致缓冲区溢出