BTH_SET_SERVICE 構造体 (ws2bth.h)
BTH_SET_SERVICE構造体は、指定された Bluetooth サービスのサービス情報を提供します。
構文
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 フィールドの形式と使用可能な値は、 Bluetooth 仕様の「Bluetooth Assigned Numbers 1.1 」セクション 1.2 で定義されています。 (このリソースは、一部の言語や国では使用できない場合があります)。Windows で使用されるCOD_SERVICE_* ビットの対応するマクロと定義は、Bthdef.h で定義されています。 デバイス (COD) のクラスの詳細については、「 BTH_DEVICE_INFO」を参照してください。
Reserved[5]
予約済み。 0 に設定する必要があります。
ulRecordLength
pRecord のサイズ (バイト単位)。
pRecord[1]
Bluetooth 仕様で定義されている SDP レコード。
注釈
BTH_SET_SERVICE構造体を使用して、WSASetService 関数と WSAQUERYSET 構造体と BLOB 構造体を使用してサービスとデバイスに対してクエリを実行する場合。 BTH_SET_SERVICE メンバーには、次 の値を 使用する必要があります。
デバイス (COD) のクラスの詳細については、 www.bluetooth.com の Bluetooth 仕様に関するページを参照してください。
メンバー | 必須値 |
---|---|
pSdpVersion | PRecord メンバーの形式に影響を与える、SDP レコードのバイナリ形式が変更されるたびに変更される ULONG バージョンへのポインター。 クライアント のBTH_SDP_VERSION に設定し、システムによって返されます。 |
pRecordHandle | SDP レコードへのハンドル。は SDP ServiceRecordHandle に対応します。 レコードの追加操作によって返され、その後レコードの削除に使用されます。 |
fOptions | BTHNS_SET_FLAGSによって定義される属性。 |
ulRecordLength | pRecord が指すバイナリ SDP レコードの長さ (バイト単位)。 |
pRecord | Bluetooth 仕様で定義されている形式の有効な SDP レコードへのポインター。 |
pRecordHandle メンバーは、新しいサービス登録に null のデータをポイントする必要があります。 サービスを削除するには、 pRecordHandle が有効なハンドルを指している必要があります。 pRecord メンバーには、Bluetooth 仕様で説明されているように、SD サービス レコード全体が含まれている必要があります。 RFCOMM プロトコル エントリの場合、ポート番号は 、getsockname 関数呼び出しによって返されるポートと同じです。
Bluetooth では、SDP レコードとサーバー ソケットの間に 1 対 1 の相関関係が実装されます。 そのため、 SERVICE_MULTIPLE フラグは必要ありません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | サポートなし |
Header | ws2bth.h |