與 SDP 伺服器通訊概觀
藍牙驅動程式堆疊支援服務探索通訊協定 (SDP) 。 此通訊協定可讓配置檔驅動程式搜尋或流覽藍牙裝置在本機無線電範圍內所提供的服務。 SDP 使用邏輯連結控制和調整通訊協定 (L2CAP) 作為其傳輸通訊協定,並遵循用戶端伺服器模型。
服務是可以代表另一個實體提供資訊、執行動作或控制資源的任何實體。 服務可能會實作為軟體、硬體或硬體和軟體的組合。 服務記錄完全由服務屬性清單所組成。
L2CAP 伺服器設定檔驅動程式自行註冊以接受傳入的 L2CAP 連線要求之後,可以使用 IOCTL_BTH_SDP_SUBMIT_RECORD 或 IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO,向 SDP 通訊協定公告其服務。 每個 SDP 記錄都會提交為數據流。 如果配置檔驅動程式使用 IOCTL_BTH_SDP_SUBMIT_RECORD_WITH_INFO,配置檔驅動程式會將 BTH_SDP_RECORD 結構前面加上原始數據流,其中包含不屬於 SDP 記錄本身的額外屬性。 其中包括要求客戶端的安全性需求、SDP 記錄的發行選項、裝置類別 (CoD) 資訊、記錄長度,以及記錄本身。
配置文件驅動程式公告其服務之後,其他藍牙裝置可以搜尋或瀏覽這些服務。 如需 SDP 服務的詳細資訊,請參閱 存取 SDP 服務資訊。
若要停止使用 SDP 的廣告服務,配置檔驅動程式會使用 IOCTL_BTH_SDP_REMOVE_RECORD。