Visão geral da comunicação com servidores SDP
A pilha de driver Bluetooth dá suporte ao Protocolo de Descoberta de Serviço (SDP). Esse protocolo permite que os drivers de perfil pesquisem ou procurem por serviços oferecidos por dispositivos Bluetooth que estão no intervalo da rádio local. O SDP usa o Protocolo L2CAP (Controle de Link Lógico e Adaptação) como seu protocolo de transporte e segue um modelo cliente-servidor.
Um serviço é qualquer entidade que pode fornecer informações, executar uma ação ou controlar um recurso em nome de outra entidade. Um serviço pode ser implementado como software, hardware ou uma combinação de hardware e software. O registro de serviço consiste inteiramente em uma lista de atributos de serviço.
Depois que um driver de perfil de servidor L2CAP se registra para aceitar solicitações de conexão L2CAP de entrada, ele pode anunciar seus serviços com o protocolo SDP usando IOCTL_BTH_SDP_SUBMIT_RECORD ou IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO. Cada registro SDP é enviado como um fluxo. Se o driver de perfil usar IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO, o driver de perfil anexará uma estrutura BTH_SDP_RECORD ao fluxo bruto, que contém atributos extras que não fazem parte do próprio registro SDP. Eles incluem requisitos de segurança para um cliente solicitante, opções de publicação para o registro SDP, informações de classe de dispositivo (CoD), o comprimento do registro e o próprio registro.
Depois que o driver de perfil anunciar seus serviços, outros dispositivos Bluetooth poderão pesquisar ou procurar por esses serviços. Para obter mais informações sobre serviços SDP, consulte Acessando informações do serviço SDP.
Para interromper os serviços de publicidade com o SDP, um driver de perfil usa IOCTL_BTH_SDP_REMOVE_RECORD.