サービス照会用のBluetoothとWSAQUERYSET

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

WSALookupServiceBegin関数とWSALookupServiceNext関数は、WSAQUERYSET構造体を使用して、サービスの照会プロセスに関する情報を取得します。 次の表では、この目的のためにWSAQUERYSET構造体のメンバー値を設定する方法について説明します。

メンバー WSALookupServiceBeginへの入力 WSALookupServiceNextから返された値
dwSize sizeof(WSAQUERYSET) に設定する必要があります。 sizeof (WSAQUERYSET) がシステムによって返されます。
dwOutputFlags 使用しません。 使用しません。
lpszServiceInstanceName 使用しません。 Bluetooth ServiceName SDP属性の既定の言語エンコードからUTF-8でエンコードされた文字列として変換されたサービスの表示名。 LUP_RETURN_NAMEが指定されている場合に返されます。
lpServiceClassId 必須。 検索が実行されているサービスの最も具体的な単一のBluetooth UUID。 たとえば、この値がL2CAPプロトコルのUUIDに設定されている場合、ターゲットデバイスでL2CAPプロトコルを使用しているすべてのサービスが返されます。 特定のサービスのUUIDに設定されている場合は、そのサービスのインスタンスのみが返されます。 使用しません。
lpVersion 使用しません。 使用しません。
lpszComment 使用しません。 Bluetooth ServiceDescription SDP属性の既定の言語エンコードからUTF-8でエンコードされた文字列として変換されたサービスの説明。 LUP_RETURN_COMMENTが指定されている場合に返されます。
dwNameSpace NS_BTHにする必要があります。 NS_BTHを返します。
lpNSProviderId 使用しません。 使用しません。
lpszContext 必須。 SDP接続を確立し、サービスを照会するBluetoothデバイスアドレス。 この値は、WSAAddressToString関数呼び出しを使用して変換された文字列である必要があります。 ローカルのBluetoothデバイスアドレスが指定されている場合は、ローカルのSDPデータベースが検索されます。 使用しません。
dwNumberOfProtocols 使用しません。 使用しません。
lpafpプロトコル 使用しません。 使用しません。
lpszQueryString 使用しません。 使用しません。
dwNumberOfCsAddrs 使用しません。 CSADDR_INFO構造体の配列内の要素の数を示します。
lpcsaBuffer 使用しません。 LocalAddr.lpSockaddrメンバーが、Bluetooth ProtocolDescriptorList SDP属性の最初のエントリから変換された、リモートサービスの完全な接続可能アドレスを含むSOCKADDR_BTHを指しているCSADDR_INFO構造体へのポインター。 LUP_RETURN_ADDRが指定されている場合に返されます。
lpBlob 省略可能。 検索の結果を制限するための詳細なパラメーターを含むBTH_QUERY_SERVICE構造体へのポインター。 指定した場合、lpServiceClassIdは無視され、キャッシュされたクエリは成功しません。
  • サービス検索が実行される場合: サービスハンドルを返すBLOB構造体へのポインター。 (BLOB.cbSize) /sizeof (ULONG) はハンドルの数を計算します。 BLOB.pBlobDataは、サービスハンドルを表すULONG値の配列です。
  • 属性またはserviceAttribute検索が実行される場合: バイナリSDPレコードを返すBLOB構造体へのポインター。 BLOB.cbSizeは、バイナリSDPレコードのサイズです。 BLOB.pBlobDataは、レコード自体を指します。 バイナリSDPレコードは、限られた数のSDP属性のみをWSAQUERYSET構造体に変換でき、既定でエンコードされたUTF-8文字列のみが変換されるため、多くの場合に必要です。 バイナリSDPレコードの解析を支援する関数については、 「Bluetoothリファレンス」 セクションを参照してください。
  • LUP_RETURN_BLOBが指定されている場合に返されます。

 

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

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

Bluetooth と BLOB

BluetoothとWSALookupServiceBegin

BluetoothとWSALookupServiceNext

Bluetoothリファレンス

BLOB

BTH_QUERY_SERVICE

CSADDR_INFO

SOCKADDR_BTH

WSAAddressToString

WSAQUERYSET

Windows ソケット