Compartilhar via


Bluetooth e WSALookupServiceBegin para consulta de dispositivo

Este tópico descreve como usar a função WSALookupServiceBegin para executar uma consulta de dispositivos visíveis e fantasmas. Para obter mais informações, consulte Descobrindo dispositivos e serviços Bluetooth.

A função WSALookupServiceBegin usa uma estrutura WSAQUERYSET em seu primeiro parâmetro, lpqsRestrictions, para definir critérios de pesquisa. O Bluetooth fornece diretrizes específicas para o uso da função WSALookupServiceBegin e WSAQUERYSET.

A tabela a seguir lista as restrições que se aplicam à estrutura WSAQUERYSET passada para o parâmetro lpqsRestrictions ao consultar dispositivos.

Membro WSAQUERYSET Restrição
dwSize Defina como sizeof(WSAQUERYSET).
lpBlob Esse membro contém um ponteiro opcional para uma estrutura BLOB . Se esse membro for especificado, os parâmetros de consulta de dispositivo válidos para LUP_FLUSHCACHE são os seguintes:
  • O membro cbSize da estrutura BLOB deve ser sizeof(BTH_QUERY_DEVICE).
  • O membro pBlobData é um ponteiro para uma estrutura BTH_QUERY_DEVICE, para a qual o membro LAP é o código de acesso de consulta Bluetooth, e o membro length é o comprimento, em segundos, da consulta.
dwNameSpace Defina como NS_BTH.
Outros membros Outros membros da estrutura WSAQUERYSET são ignorados.

 

Os sinalizadores listados na tabela a seguir são usados no parâmetro dwControlFlags para controlar os resultados da consulta. Os sinalizadores LUP_CONTAINERS e LUP_FLUSHCACHE são usados pela função WSALookupServiceBegin, o restante dos sinalizadores é usado em chamadas para a função WSALookupServiceNext.

Sinalizador Resultado
LUP_CONTAINERS Especifica que a finalidade da consulta é obter uma lista de dispositivos Bluetooth e não uma lista de serviços. Esse sinalizador deve ser definido.
LUP_FLUSHCACHE Dispara uma consulta de dispositivos locais ou faz com que os resultados armazenados em cache de consultas anteriores sejam retornados.
LUP_RETURN_TYPE Retorne o COD Bluetooth (classe de bits de dispositivo) diretamente no membro lpServiceClassId da estrutura WSAQUERYSET . O COD é mapeado para o membro Data1 do GUID.
LUP_RES_SERVICE Retornar informações para o endereço Bluetooth local. Esse sinalizador terá efeito somente se LUP_RETURN_ADDR também for especificado.
LUP_RETURN_NAME Retorne o nome de exibição do dispositivo no membro lpszServiceInstanceName da estrutura WSAQUERYSET para cada chamada para a função WSALookupServiceNext. Esse sinalizador também deve ser especificado para recuperar o membro name da estrutura BTH_DEVICE_INFO ao especificar o sinalizador LUP_RETURN_BLOB.
LUP_RETURN_ADDR Retorne uma estrutura SOCKADDR_BTH que contém o endereço de 48 bits do par no membro lpcsaBuffer da estrutura WSAQUERYSET para cada chamada para a função WSALookupServiceNext. Outros membros da estrutura SOCKADDR_BTH estarão vazios.
LUP_RETURN_BLOB Retorne a estrutura BTH_DEVICE_INFO em cada chamada subsequente para WSALookupServiceNext.
LUP_FLUSHPREVIOUS Ignore o próximo dispositivo disponível e retorne o dispositivo que o segue.

 

Bluetooth e WSALookupServiceBegin para descoberta de serviço

Bluetooth e WSALookupServiceNext

Bluetooth e WSAQUERYSET para consulta de dispositivo

Descobrir dispositivos e serviços Bluetooth

WSALookupServiceBegin

WSALookupServiceNext

WSALookupServiceEnd

BLOB

BTH_QUERY_DEVICE

SOCKADDR_BTH

WSAQUERYSET

Windows Sockets