Condividi tramite


Accesso alle informazioni sul servizio SDP

Dopo che un driver del profilo invia un record SDP (Service Discovery Protocol) per pubblicizzare i propri servizi con SDP, altri dispositivi possono individuare questi servizi cercando in modo specifico il record o passando per trovarlo.

Per cercare record SDP, un driver del profilo client deve prima usare IOCTL_BTH_SDP_CONNECT per connettersi al servizio SDP del dispositivo remoto.

Un driver di profilo può quindi usare uno dei seguenti IOCTLs per eseguire la ricerca effettiva dei record SDP:

  • IOCTL_BTH_SDP_ATTRIBUTE_SEARCH ottiene tutti i componenti di un record SDP remoto che rientrano in un intervallo di attributi SDP specificato.

  • IOCTL_BTH_SDP_SERVICE_SEARCH genera una richiesta SDP al dispositivo remoto, richiedendo handle ai record SDP di una determinata classe o classi di servizio.

  • IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH combina IOCTL_BTH_SDP_ATTRIBUTE_SEARCH e IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH e restituisce un flusso di record SDP utilizzabile in una singola operazione.

I driver di profilo possono usare IOCTL_BTH_SDP_SERVICE_SEARCH e IOCTL_BTH_SDP_ATTRIBUTE_SEARCH per ridurre la quantità di traffico SDP trasmesso attraverso un collegamento Bluetooth e possono estrarre informazioni necessarie usando un numero ridotto di unità di trasferimento massime (MTUS). Se nessuno di questi problemi è di grande preoccupazione, può essere più conveniente per i driver del profilo chiamare IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH.

Dopo che il driver del profilo ha ottenuto il multiplexer dinamico del protocollo/servizio per il servizio desiderato, può connettersi al servizio remoto usando il BRB_L2CA_OPEN_CHANNEL BRB.

Nota

Se il servizio ha un PSM fisso, che molti fanno, i driver del profilo client L2CAP non devono usare SDP per ottenere il PSM. Tuttavia, i driver del profilo client L2CAP possono comunque usare SDP per ottenere gli attributi del server SDP.

Al termine della ricerca del driver del profilo, deve usare IOCTL_BTH_SDP_DISCONNECT per disconnettersi dal server SDP remoto.