Panoramica della comunicazione con i server SDP
Lo stack di driver Bluetooth supporta il protocollo SDP (Service Discovery Protocol). Questo protocollo consente ai driver di profilo di cercare o cercare i servizi offerti dai dispositivi Bluetooth che si trovano nell'intervallo della radio locale. SDP usa il protocollo L2CAP (Logical Link Control and Adaptation Protocol) e segue un modello client-server.
Un servizio è qualsiasi entità che può fornire informazioni, eseguire un'azione o controllare una risorsa per conto di un'altra entità. Un servizio può essere implementato come software, hardware o una combinazione di hardware e software. Il record del servizio è costituito interamente da un elenco di attributi del servizio.
Dopo che un driver del profilo server L2CAP si registra per accettare le richieste di connessione L2CAP in ingresso, può annunciare i servizi con il protocollo SDP usando IOCTL_BTH_SDP_SUBMIT_RECORD o IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO. Ogni record SDP viene inviato come flusso. Se il driver del profilo usa IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO, il driver del profilo antepone una struttura BTH_SDP_RECORD al flusso non elaborato, che contiene attributi aggiuntivi che non fanno parte del record SDP stesso. Questi includono i requisiti di sicurezza per un client richiedente, le opzioni di pubblicazione per il record SDP, le informazioni di classe del dispositivo (CoD), la lunghezza del record e il record stesso.
Dopo che il driver del profilo ha annunciato i servizi, altri dispositivi Bluetooth possono cercare o cercare questi servizi. Per altre informazioni sui servizi SDP, vedere Accesso alle informazioni sul servizio SDP.
Per arrestare i servizi pubblicitari con SDP, un driver di profilo usa IOCTL_BTH_SDP_REMOVE_RECORD.