共用方式為


適用於設定服務的藍牙和 WSAQUERYSET

藍牙會使用 WSAQUERYSET 結構,協助探索藍牙命名空間中的裝置和服務,NS_BTH。

WSASetService 函式會使用 WSAQUERYSET 結構來註冊或移除藍牙命名空間中的服務實例。 下表列出 WSAQUERYSET 結構中的成員值。

成員 必要值(輸入) 輸出
dwSize 必須設定為 sizeofWSAQUERYSET)。 做為版本控制機制。 沒有。
dwOutputFlags 未使用。 沒有。
lpszServiceInstanceName 選擇性,但建議使用。 用來建構 Bluetooth ServiceName 屬性。 沒有。
lpServiceClassId 必填。 對應至服務類別的 GUID。 此值應該對應至來自已知配置檔之藍牙指派數位檔的 GUID,或針對非配置檔型應用程式產生的唯一應用程式產生的 UUID。 用來建構 ServiceClassIdList 屬性序列,並以此作為唯一的成員。 沒有。
lpVersion 未使用。 沒有。
lpszComment 自選。 用來建構藍牙 ServiceDescription 屬性。 沒有。
dwNameSpace 要在其中限制服務的命名空間。 必須是NS_BTH。 沒有。
lpNSProviderId 不需要。 沒有。
lpszContext 未使用。 沒有。
dwNumberOfProtocols 未使用。 沒有。
lpafpProtocols 未使用。 沒有。
lpszQueryString 未使用。 沒有。
dwNumberOfCsAddrs 要註冊的位址數目。 必須是 1。 沒有。
lpcsaBuffer 如果 lpBlob 尚未填入原始 SDP 數據流,則為必要專案。 CSADDR_INFO 結構的指標,其 LocalAddr.lpSockaddr 成員指向伺服器正在接聽連接的 SOCKADDR_BTH getsockname 函式可用來傳回系結套接字的 SOCKADDR_BTH 結構。 系統會使用 lpcsaBuffer 成員中的資訊來建構藍牙 ProtocolDescriptorList SDP 屬性。 lpcsaBuffer 中提供的通訊協定和埠必須是唯一的(先前未註冊的),並且用來編製記錄的索引,以供後續呼叫刪除。 用來建構 SDP 記錄的藍牙 ProtocolDescriptorList 屬性。 沒有。
lpBlob 自選。 指向 BTH_SET_SERVICE 結構的 BLOB 結構的指標,可讓用戶端提供藍牙特定結構,其中包含應用程式所建構的二進位 SDP 記錄。 如果 lpBlob 提供給 WSASetService 函式,則會忽略 WSAQUERYSET 結構的所有其他成員,但 dwSize dwNameSpace 除外。 如需詳細資訊,請參閱 藍牙和 BLOB。 在許多情況下,提交二進位 SDP 記錄是必要的,因為可以從 WSAQUERYSET 結構轉換有限的 SDP 屬性,而且字串只會轉換成預設語言 UTF-8 編碼。 如果輸入上已提供選擇性 BLOBBTH_SET_SERVICE 結構,以及 BTH_SET_SERVICE必須指向的 ULONG 版本和 HANDLE 值,則會更新版本,以包含藍牙 Windows 套接字提供者的BTH_SDP_VERSION值, 並提供 句柄,這是後續刪除記錄所需的句柄。

 

注意

若要移除服務,BTH_SET_SERVICE 結構中唯一的必要成員是 pSdpVersion ,以及 pRecordHandle 成員。

 

適用於裝置查詢的藍牙和 WSAQUERYSET

藍牙和 WSAQUERYSET for Service 查詢

藍牙和 BLOB

藍牙和 WSASetService

BLOB

BTH_SET_SERVICE

CSADDR_INFO

取得ockname

SOCKADDR_BTH

WSAQUERYSET

Windows Sockets