蓝牙和 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 停止播发服务。

 

注意

WSALookupServiceBeginWSALookupServiceNext 调用中发现的服务句柄与 RNRSERVICE_DELETE 操作不兼容。

 

  • dwControlFlags 为保留参数,并且必须为零。

有关详细信息和蓝牙套接字选项的列表,请参阅蓝牙和套接字选项

Windows 套接字