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.
Tópicos relacionados