サービスを設定するためのBluetoothとWSAQUERYSET

Bluetoothでは、Bluetooth名前空間のデバイスとサービスの検出を容易にするために、WSAQUERYSET構造体を使用してNS_BTHします。

WSASetService関数は、WSAQUERYSET構造体を使用して、Bluetooth名前空間のサービスインスタンスを登録または削除します。 次の表に、WSAQUERYSET構造体のメンバー値を示します。

メンバー 必須の値 (入力) 出力
dwSize sizeof(WSAQUERYSET) に設定する必要があります。 バージョン管理メカニズムとして使用されます。 なし。
dwOutputFlags 使用しません。 なし。
lpszServiceInstanceName 省略可能ですが、指定することをお勧めします。 Bluetooth ServiceName属性の構築に使用されます。 なし。
lpServiceClassId 必須。 サービスクラスに対応するGUID。 この値は、既知のプロファイルのBluetooth割り当て番号ドキュメントのGUID、またはプロファイルベースではないアプリケーションのアプリケーションで生成された一意のUUIDに対応する必要があります。 これを唯一のメンバーとしてServiceClassIdList属性シーケンスを構築するために使用されます。 なし。
lpVersion 使用しません。 なし。
lpszComment 省略可能。 Bluetooth ServiceDescription属性の構築に使用されます。 なし。
dwNameSpace サービスを制限する名前空間。 NS_BTHにする必要があります。 なし。
lpNSProviderId 不要。 なし。
lpszContext 使用しません。 なし。
dwNumberOfProtocols 使用しません。 なし。
lpafpプロトコル 使用しません。 なし。
lpszQueryString 使用しません。 なし。
dwNumberOfCsAddrs 登録するアドレスの数。 1 にする必要があります。 なし。
lpcsaBuffer lpBlobに生のSDPストリームが設定されていない場合は必須です。 サーバーが接続をリッスンしているSOCKADDR_BTHを指すLocalAddr.lpSockaddrメンバーを持つCSADDR_INFO構造体へのポインター。 Getsockname関数を使用すると、バインドされたソケットのSOCKADDR_BTH構造体を返すことができます。 LpcsaBufferメンバーの情報は、Bluetooth ProtocolDescriptorList SDP属性を構築するためにシステムによって使用されます。 LpcsaBufferで提供されるプロトコルとポートは一意である必要があります (以前に登録されていない) 。また、後続の呼び出しで削除するレコードのインデックスを作成するために使用されます。 SDPレコードのBluetooth ProtocolDescriptorList属性を構築するために使用されます。 なし。
lpBlob 省略可能。 BTH_SET_SERVICE構造体を指すBLOB構造体へのポインター。これにより、クライアントは、アプリケーションによって構築されたバイナリSDPレコードを含むBluetooth固有の構造体を提供できます。 LpBlobWSASetService関数に指定されている場合、dwSizedwNameSpaceを除くWSAQUERYSET構造体の他のすべてのメンバーは無視されます。 詳細については、 「BluetoothとBLOB」 を参照してください。 限られた数のSDP属性をWSAQUERYSET構造体から変換でき、文字列は既定の言語UTF-8エンコードにのみ変換されるため、多くの場合、バイナリSDPレコードを送信する必要があります。 省略可能なBLOBBTH_SET_SERVICE構造体が入力時に指定されている場合は、BTH_SET_SERVICEによってポイントされる必要があるULONGバージョンとハンドル値と共に、Bluetooth Windows SocketsプロバイダーのBTH_SDP_VERSION値を含むようにバージョンが更新され、ハンドルが提供されます。これは、後でレコードを削除するために必要です。

 

Note

サービスを削除するには、BTH_SET_SERVICE構造体に必要なメンバーは、pSdpVersionメンバーとpRecordHandleメンバーだけです。

 

BluetoothとWSAQUERYSET (デバイス照会用)

サービス照会用のBluetoothとWSAQUERYSET

Bluetooth と BLOB

BluetoothとWSASetService

BLOB

BTH_SET_SERVICE

CSADDR_INFO

getsockname

SOCKADDR_BTH

WSAQUERYSET

Windows ソケット