Bluetooth e WSAQUERYSET para Set Service

O Bluetooth usa a estrutura WSAQUERYSET para facilitar a descoberta de dispositivos e serviços no namespace Bluetooth, NS_BTH.

A função WSASetService usa a estrutura WSAQUERYSET para registrar ou remover instâncias de serviço no namespace Bluetooth. A tabela a seguir lista os valores de membro na estrutura WSAQUERYSET .

Membro Valor necessário (entrada) Saída
dwSize Deve ser definido como sizeof(WSAQUERYSET). Usado como um mecanismo de controle de versão. Nenhum.
dwOutputFlags Não usado. Nenhum.
lpszServiceInstanceName Opcional, mas recomendado. Usado para construir o atributo ServiceName Bluetooth. Nenhum.
lpServiceClassId Obrigatório. GUID correspondente à classe de serviço. Esse valor deve corresponder a um GUID do documento Números Atribuídos Bluetooth para perfis conhecidos ou a um UUID exclusivo gerado por aplicativo para aplicativos que não são baseados em perfil. Usado para construir uma sequência de atributos ServiceClassIdList com este como seu único membro. Nenhum.
lpVersão Não usado. Nenhum.
lpszComentário Opcional. Usado para construir o atributo ServiceDescription Bluetooth. Nenhum.
dwNameSpace Namespace no qual restringir o serviço. Deve ser NS_BTH. Nenhum.
lpNSProviderId Não necessário. Nenhum.
lpszContexto Não usado. Nenhum.
dwNumberOfProtocols Não usado. Nenhum.
lpafpProtocolos Não usado. Nenhum.
lpszQueryString Não usado. Nenhum.
dwNumberOfCsAddrs Número de endereços a registar. Deve ser 1. Nenhum.
lpcsaBuffer Necessário se lpBlob não tiver sido preenchido com um fluxo SDP bruto. Ponteiro para uma estrutura CSADDR_INFO com seu membro LocalAddr.lpSockaddr apontando para o SOCKADDR_BTH onde o servidor está escutando conexões. A função getsockname pode ser usada para retornar a estrutura SOCKADDR_BTH para um soquete acoplado. As informações no membro lpcsaBuffer são usadas pelo sistema para construir o atributo Bluetooth ProtocolDescriptorList SDP. O protocolo e a porta fornecidos no lpcsaBuffer devem ser exclusivos (não registrados anteriormente) e são usados para indexar o registro para chamadas subsequentes a serem excluídas. Usado para construir o atributo Bluetooth ProtocolDescriptorList do registro SDP. Nenhum.
lpBlob Opcional. Ponteiro para uma estrutura BLOB que aponta para uma estrutura BTH_SET_SERVICE, permitindo que o cliente forneça uma estrutura específica de Bluetooth contendo um registro SDP binário construído pelo aplicativo. Se lpBlob for fornecido para a função WSASetService , todos os outros membros da estrutura WSAQUERYSET , exceto dwSize e dwNameSpace , serão ignorados. Consulte Bluetooth e BLOB para obter mais informações. O envio de um registro SDP binário é necessário em muitos casos, porque um número limitado de atributos SDP pode ser convertido da estrutura WSAQUERYSET e as cadeias de caracteres são convertidas apenas em codificação UTF-8 de idioma padrão. Se as estruturas BLOB e BTH_SET_SERVICE opcionais tiverem sido fornecidas na entrada, juntamente com a versão ULONG e os valores HANDLE que devem ser apontados por BTH_SET_SERVICE, a versão será atualizada para conter o valor BTH_SDP_VERSION para o provedor Bluetooth Windows Sockets e o identificador será fornecido, o que é necessário para excluir o registro posteriormente.

 

Observação

Para remover um serviço, os únicos membros necessários na estrutura BTH_SET_SERVICE são os membros pSdpVersion e pRecordHandle.

 

Bluetooth e WSAQUERYSET para consulta de dispositivo

Bluetooth e WSAQUERYSET para consulta de serviço

Bluetooth e BLOB

Bluetooth e WSASetService

BLOB

BTH_SET_SERVICE

CSADDR_INFO

getsockname

SOCKADDR_BTH

WSAQUERYSET

Windows Sockets