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 函式和 WSAQUERYSET 和 BLOB 結構來查詢服務和裝置。 必須使用 下列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 |