蓝牙和 WSASetService
蓝牙使用WSASetService 函数从注册表中注册或删除蓝牙命名空间 (NS_BTH) 中的服务实例。 此操作返回的句柄只能用于删除服务。
蓝牙有两种使用 WSASetService 函数来播发服务广告的方法:
- 应用程序可以让系统播发一个简单的蓝牙 SDP 服务记录,该记录由 WSAQUERYSET 结构中的标准成员构建。
- 应用程序可以通过在 WSAQUERYSET 结构的 lpBlob 成员中传递 BTH_SET_SERVICE 结构,让系统播发自己的蓝牙 SDP 记录。 这是一种更为复杂的方法。
注意
在发布的进程退出后,WSASetService 播发的 SDP 记录不会继续存在。
将 WSASetService 与蓝牙配合使用具有以下要求:
- lpqsRegInfo 参数是要注册的 WSAQUERYSET 结构的地址。
- essOperation 参数是一个枚举,其中包含下表所示的操作之一。
值 | 说明 |
---|---|
RNRSERVICE_REGISTER | 开始向使用蓝牙 SDP 协议查询的远程无线电设备播发服务广告。 |
RNRSERVICE_DEREGISTER | 无效。 返回错误。 |
RNRSERVICE_DELETE | 停止播发服务。 |
注意
在 WSALookupServiceBegin 或 WSALookupServiceNext 调用中发现的服务句柄与 RNRSERVICE_DELETE 操作不兼容。
- dwControlFlags 为保留参数,并且必须为零。
有关详细信息和蓝牙套接字选项的列表,请参阅蓝牙和套接字选项。
相关主题