Bluetooth e WSAQUERYSET para consulta de serviço

O Bluetooth usa a estrutura WSAQUERYSET, com várias funções, para facilitar a descoberta de dispositivos e serviços no namespace Bluetooth, NS_BTH.

As funções WSALookupServiceBegin e WSALookupServiceNext usam a estrutura WSAQUERYSET para obter dados sobre o processo de consulta de serviço. A tabela a seguir descreve como definir os valores de membro na estrutura WSAQUERYSET para essa finalidade.

Membro Entrada para WSALookupServiceBegin Valor retornado de WSALookupServiceNext
dwSize Deve ser definido como sizeof(WSAQUERYSET). sizeof(WSAQUERYSET) retornado pelo sistema.
dwOutputFlags Não usado. Não usado.
lpszServiceInstanceName Não usado. Nome de exibição do serviço, convertido como uma cadeia de caracteres codificada em UTF-8 da codificação de idioma padrão do atributo Bluetooth ServiceName SDP. Retornado se LUP_RETURN_NAME for especificado.
lpServiceClassId Obrigatório. O UUID Bluetooth único mais específico para os serviços para os quais a pesquisa está sendo conduzida. Por exemplo, se esse valor for definido como UUID do protocolo L2CAP, ele retornará todos os serviços usando o protocolo L2CAP no dispositivo de destino. Se definido como o UUID de um serviço específico, ele retornaria apenas as instâncias desse serviço. Não usado.
lpVersão Não usado. Não usado.
lpszComentário Não usado. Descrição do serviço, convertido como uma cadeia de caracteres codificada UTF-8 da codificação de idioma padrão do atributo Bluetooth ServiceDescription SDP. Retornado se LUP_RETURN_COMMENT for especificado.
dwNameSpace Deve ser NS_BTH. Retorna NS_BTH.
lpNSProviderId Não usado. Não usado.
lpszContexto Obrigatório. O endereço do dispositivo Bluetooth com o qual estabelecer uma conexão SDP e consultar serviços. Esse valor deve ser uma cadeia de caracteres que foi convertida usando a chamada de função WSAAddressToString. Se o endereço do dispositivo Bluetooth local for fornecido, o banco de dados SDP local será pesquisado. Não usado.
dwNumberOfProtocols Não usado. Não usado.
lpafpProtocolos Não usado. Não usado.
lpszQueryString Não usado. Não usado.
dwNumberOfCsAddrs Não usado. Indica o número de elementos na matriz de estruturas CSADDR_INFO.
lpcsaBuffer Não usado. Ponteiro para uma estrutura CSADDR_INFO cujo membro LocalAddr.lpSockaddr aponta para um SOCKADDR_BTH que contém o endereço conectável completo do serviço remoto, convertido da primeira entrada do atributo Bluetooth ProtocolDescriptorList SDP. Retornado se LUP_RETURN_ADDR for especificado.
lpBlob Opcional. Ponteiro para uma estrutura BTH_QUERY_SERVICE que contém parâmetros avançados para limitar os resultados da pesquisa. Se fornecido, lpServiceClassId será ignorado e as consultas armazenadas em cache não terão êxito.
  • Se uma pesquisa de serviço for executada: ponteiro para uma estrutura BLOB que retorna os identificadores de serviço. (BLOB.cbSize)/sizeof(ULONG) calcula o número de identificadores. BLOB.pBlobData é uma matriz de valores ULONG que representam os identificadores de serviço.
  • Se uma pesquisa de atributo ou serviceAttribute for executada: ponteiro para uma estrutura BLOB que retorna o registro SDP binário. BLOB.cbSize é o tamanho do registro SDP binário. BLOB.pBlobData aponta para o próprio registro. O registro SDP binário é necessário em muitos casos porque apenas um número limitado de atributos SDP pode ser convertido para a estrutura WSAQUERYSET e somente cadeias de caracteres UTF-8 codificadas padrão são convertidas. As funções para auxiliar na análise do registro SDP binário são fornecidas na seção Referência Bluetooth.
  • Retornado se LUP_RETURN_BLOB for especificado.

 

Bluetooth e WSAQUERYSET para Set Service

Bluetooth e WSAQUERYSET para consulta de dispositivo

Bluetooth e BLOB

Bluetooth e WSALookupServiceBegin

Bluetooth e WSALookupServiceNext

Referência Bluetooth

BLOB

BTH_QUERY_SERVICE

CSADDR_INFO

SOCKADDR_BTH

WSAAddressToString

WSAQUERYSET

Windows Sockets