存取 SDP 服務資訊
在配置檔驅動程式提交服務探索通訊協定 (SDP) 記錄以向 SDP 公告其服務之後,其他裝置可以搜尋記錄或瀏覽來尋找這些服務來探索這些服務。
若要搜尋 SDP 記錄,用戶端設定檔驅動程式必須先使用 IOCTL_BTH_SDP_CONNECT 連線到遠端裝置的 SDP 服務。
然後,配置檔驅動程式可以使用下列其中一個 IOCTL 來執行實際的 SDP 記錄搜尋:
IOCTL_BTH_SDP_ATTRIBUTE_SEARCH 會取得屬於指定 SDP 屬性範圍之遠端 SDP 記錄的所有元件。
IOCTL_BTH_SDP_SERVICE_SEARCH 向遠端裝置發出 SDP 要求,並要求特定服務類別或類別的 SDP 記錄句柄。
IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH 結合IOCTL_BTH_SDP_ATTRIBUTE_SEARCH和IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH,並在單一作業中傳回可用的 SDP 記錄數據流。
配置文件驅動程式可以使用IOCTL_BTH_SDP_SERVICE_SEARCH和IOCTL_BTH_SDP_ATTRIBUTE_SEARCH來減少透過藍牙連結傳輸的 SDP 流量,而且可以使用少量的最大傳輸單位來擷取必要的資訊, (MTU) 。 如果這兩個問題都不是很好的考慮,配置檔驅動程式呼叫IOCTL_BTH_SDP_SERVICE_ATTRIBUTE_SEARCH可能更方便。
在配置檔驅動程式取得所需服務的 動態 通訊協定/服務多任務器 (PSM) 之後,就可以使用 BRB_L2CA_OPEN_CHANNEL BRB 連線到遠端服務。
注意
如果服務有固定的 PSM,有許多動作,L2CAP 用戶端配置檔驅動程式不需要使用 SDP 來取得 PSM。 不過,L2CAP 用戶端配置檔驅動程式仍然可以使用 SDP 來取得 SDP 伺服器屬性。
當配置檔驅動程式完成搜尋時,應該使用 IOCTL_BTH_SDP_DISCONNECT 來中斷遠端 SDP 伺服器的連線。