BTH_SET_SERVICE 結構 (ws2bth.h)

BTH_SET_SERVICE 結構會為指定的藍牙服務提供服務資訊。

語法

typedef struct _BTH_SET_SERVICE {
  PULONG pSdpVersion;
  HANDLE *pRecordHandle;
  ULONG  fCodService;
  ULONG  Reserved[5];
  ULONG  ulRecordLength;
  UCHAR  pRecord[1];
} BTH_SET_SERVICE, *PBTH_SET_SERVICE, BTHNS_SETBLOB, *PBTHNS_SETBLOB;

成員

pSdpVersion

SDP 版本。 用戶端將此成員設定為 BTH_SDP_VERSION。

pRecordHandle

SDP 記錄的句柄。 對應至 SDP ServiceRecordHandle。 新增記錄作業傳回,後續用來刪除記錄。

fCodService

裝置 (COD) 資訊的類別。 與這個 SDP 記錄相關聯之裝置位COD_SERVICE_* 類別的 32 位字段。 系統會結合這些位與其他服務記錄和系統特性中的COD位。 在裝置查詢期間找到無線電時,會公告本機無線電的裝置結果類別。 刪除與特定服務位相關聯的最後一筆 SDP 記錄時,不會再回報該服務位,以回應未來的裝置查詢。

COD 欄位的格式和可能值是在藍牙規格第 1.2 節的藍牙指派數位 1.1 部分中定義。 (某些語言和國家/地區可能無法使用此資源。) Windows 所使用的COD_SERVICE_* 位對應的宏和定義是在 Bthdef.h 中定義。 如需裝置類別 (COD) 的詳細資訊,請參閱 BTH_DEVICE_INFO

Reserved[5]

保留的。 必須設定為零。

ulRecordLength

pRecord 的大小,以位元組為單位。

pRecord[1]

SDP 記錄,如藍牙規格所定義。

備註

使用 BTH_SET_SERVICE 結構來使用 WSASetService 函式和 WSAQUERYSETBLOB 結構來查詢服務和裝置。 必須使用 下列BTH_SET_SERVICE 成員的值。

如需裝置類別 (COD) 的詳細資訊,請參閱 www.bluetooth.com 的藍牙規格。

成員 必要值
pSdpVersion 每當 SDP 記錄的二進位格式變更,會影響 pRecord 成員格式時,就會變更 ULONG 版本的指標。 設定為 BTH_SDP_VERSION 用戶端,並由系統傳回。
pRecordHandle SDP 記錄的句柄;會對應至 SDP ServiceRecordHandle。 新增記錄作業傳回,後續用來刪除記錄。
fOptions BTHNS_SET_FLAGS定義的屬性。
ulRecordLength pRecord 所指向二進位 SDP 記錄的長度,以位元組為單位。
pRecord 以藍牙規格所定義格式的有效 SDP 記錄指標。
 

pRecordHandle 成員必須指向新服務註冊為 Null 的數據。 若要刪除服務, pRecordHandle 必須指向有效的句柄。 pRecord 成員必須包含整個 SD 服務記錄,如藍牙規格中所述。 針對 RFCOMM 通訊協定專案,埠號碼與 getsockname 函數調用所傳回的埠相同。

藍牙會實作 SDP 記錄與伺服器套接字之間的一對一相互關聯。 因此,不需要 SERVICE_MULTIPLE 旗標。

規格需求

需求
最低支援的用戶端 Windows Vista、Windows XP SP2 [僅限傳統型應用程式]
最低支援的伺服器 都不支援
標頭 ws2bth.h

另請參閱

藍牙和 getsockname

藍牙和 BLOB

藍牙和 WSASetService

WSAQUERYSET