Bluetooth y WSAQUERYSET para set service

Bluetooth usa la estructura WSAQUERYSET para facilitar la detección de dispositivos y servicios en el espacio de nombres Bluetooth, NS_BTH.

La función WSASetService usa la estructura WSAQUERYSET para registrar o quitar instancias de servicio en el espacio de nombres Bluetooth. En la tabla siguiente se enumeran los valores de miembro de la estructura WSAQUERYSET .

Miembro Valor obligatorio (entrada) Resultados
dwSize Debe establecerse en sizeof(WSAQUERYSET). Se usa como mecanismo de control de versiones. Ninguno.
dwOutputFlags No se usa. Ninguno.
lpszServiceInstanceName Opcional pero recomendable. Se usa para construir el atributo Bluetooth ServiceName. Ninguno.
lpServiceClassId Necesario. GUID correspondiente a la clase de servicio. Este valor debe corresponder a un GUID del documento Números asignados por Bluetooth para perfiles conocidos o un UUID único generado por la aplicación para las aplicaciones que no están basadas en perfiles. Se usa para construir una secuencia de atributos ServiceClassIdList con este como único miembro. Ninguno.
lpVersion No se usa. Ninguno.
lpszComment Opcional. Se usa para construir el atributo Bluetooth ServiceDescription. Ninguno.
dwNameSpace Espacio de nombres en el que se va a restringir el servicio. Debe ser NS_BTH. Ninguno.
lpNSProviderId No es necesario. Ninguno.
lpszContext No se usa. Ninguno.
dwNumberOfProtocols No se usa. Ninguno.
lpafpProtocols No se usa. Ninguno.
lpszQueryString No se usa. Ninguno.
dwNumberOfCsAddrs Número de direcciones que se van a registrar. Debe ser 1. Ninguno.
lpcsaBuffer Obligatorio si lpBlob no se ha rellenado con una secuencia SDP sin formato. Puntero a una estructura de CSADDR_INFO con su miembro LocalAddr.lpSockaddr que apunta al SOCKADDR_BTH donde el servidor está escuchando conexiones. La función getsockname se puede usar para devolver la estructura de SOCKADDR_BTH para un socket enlazado. El sistema usa la información del miembro lpcsaBuffer para construir el atributo SDP ProtocolDescriptorList de Bluetooth. El protocolo y el puerto proporcionados en lpcsaBuffer deben ser únicos (no registrados previamente) y se usan para indexar el registro para que las llamadas posteriores eliminen. Se usa para construir el atributo Bluetooth ProtocolDescriptorList del registro SDP. Ninguno.
lpBlob Opcional. Puntero a una estructura BLOB que apunta a una estructura de BTH_SET_SERVICE , lo que permite al cliente proporcionar una estructura específica de Bluetooth que contiene un registro SDP binario construido por la aplicación. Si lpBlob se proporciona a la función WSASetService , se omiten todos los demás miembros de la estructura WSAQUERYSET , excepto dwSize y dwNameSpace . Consulte Bluetooth y BLOB para obtener más información. El envío de un registro SDP binario es necesario en muchos casos, ya que se puede convertir un número limitado de atributos SDP de la estructura WSAQUERYSET y las cadenas solo se convierten en codificación UTF-8 de idioma predeterminada. Si se han proporcionado las estructuras BLOB y BTH_SET_SERVICE opcionales en la entrada, junto con los valores ULONG version y HANDLE a los que debe apuntar BTH_SET_SERVICE, la versión se actualiza para contener el valor de BTH_SDP_VERSION para el proveedor Bluetooth Windows Sockets y se proporciona el identificador, que es necesario para eliminar posteriormente el registro.

 

Nota

Para quitar un servicio, los únicos miembros necesarios de la estructura BTH_SET_SERVICE son los miembros pSdpVersion y pRecordHandle .

 

Bluetooth y WSAQUERYSET para la consulta de dispositivos

Bluetooth y WSAQUERYSET para la consulta del servicio

Bluetooth y BLOB

Bluetooth y WSASetService

BLOB

BTH_SET_SERVICE

CSADDR_INFO

getsockname

SOCKADDR_BTH

WSAQUERYSET

Windows Sockets