Bluetooth e WSAQUERYSET para Definir Serviço
O Bluetooth usa a estruturaWSAQUERYSET para facilitar a descoberta de dispositivos e serviços no namespace Bluetooth, NS_BTH.
A função WSASetService usa a estruturaWSAQUERYSET para registrar ou remover instâncias de serviço no namespace Bluetooth. A tabela a seguir lista os valores de membro na estrutura de WSAQUERYSET.
Membro | Valor necessário (entrada) | Saída |
---|---|---|
dwSize | Deve ser definido como tamanhos de(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 | Necessário. GUID correspondente à classe de serviço. Esse valor deve corresponder a um GUID do documento Números Atribuídos por Bluetooth para perfis conhecidos ou a uma UUID exclusiva gerada pelo 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. |
lpVersion | Não usado. | Nenhum. |
lpszComment | Opcional. Usado para construir o atributo Bluetooth ServiceDescription. | Nenhum. |
dwNameSpace | Namespace no qual restringir o serviço. Deve ser NS_BTH. | Nenhum. |
lpNSProviderId | Não é necessário. | Nenhum. |
lpszContext | Não usado. | Nenhum. |
dwNumberOfProtocols | Não usado. | Nenhum. |
lpafpProtocols | Não usado. | Nenhum. |
lpszQueryString | Não usado. | Nenhum. |
dwNumberOfCsAddrs | Número de endereços a serem registrados. Deve ser 1. | Nenhum. |
lpcsaBuffer | Necessário se lpBlob não tiver sido preenchido com um fluxo SDP bruto. Ponteiro para uma estrutura de CSADDR_INFO com seu membro LocalAddr.lpSockaddr apontando para o SOCKADDR_BTH em que o servidor está escutando conexões. A função getsockname pode ser usada para retornar a estrutura de SOCKADDR_BTH para um soquete associado. As informações no membro lpcsaBuffer são usadas pelo sistema para construir o atributo SDP Do ProtocolDescriptorList bluetooth. O protocolo e a porta fornecidos em lpcsaBuffer devem ser exclusivos (não registrados anteriormente) e são usados para indexar o registro de chamadas subsequentes a serem excluídas. Usado para construir o atributo Bluetooth ProtocolDescriptorList do registro SDP. | Nenhum. |
lpBlob | Opcional. Ponteiro para uma estrutura de 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 à função WSASetService, todos os outros membros da estrutura deWSAQUERYSET, 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, pois um número limitado de atributos SDP pode ser convertido da estrutura de WSAQUERYSET e as cadeias de caracteres são convertidas apenas em codificação UTF-8 de idioma padrão. | Se as estruturas opcionais BLOB e BTH_SET_SERVICE 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 de Soquetes Do Windows Bluetooth, e o identificador é fornecido, o que é necessário para excluir o registro posteriormente. |
Nota
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
-
Bluetooth e WSAQUERYSET para de Consulta de Dispositivo
-
Bluetooth e WSAQUERYSET para de Consulta de Serviço