デバイスの照会のためのBluetoothとWSALookupServiceBegin
このトピックでは、WSALookupServiceBegin関数を使用して、表示されているデバイスと非表示のデバイスの両方の照会を実行する方法について説明します。 詳細については、 「Bluetoothデバイスとサービスの検出」 を参照してください。
WSALookupServiceBegin関数は、最初のパラメーターlpqsRestrictionsでWSAQUERYSET構造体を使用して、検索条件を定義します。 Bluetoothには、WSALookupServiceBegin関数とWSAQUERYSETの使用に関する特定のガイドラインが用意されています。
次の表に、デバイスのクエリを実行するときにlpqsRestrictionsパラメーターに渡されるWSAQUERYSET構造体に適用される制限を示します。
WSAQUERYSETメンバー | 制限 |
---|---|
dwSize | sizeof (WSAQUERYSET) に設定します。 |
lpBlob | このメンバーには、BLOB構造体への省略可能なポインターが含まれています。 このメンバーが指定されている場合、LUP_FLUSHCACHEの有効なデバイス照会パラメーターは次のとおりです。
|
dwNameSpace | NS_BTHに設定します。 |
その他のメンバー | WSAQUERYSET構造体の他のメンバーは無視されます。 |
次の表に示すフラグは、クエリ結果を制御するためにdwcontrolflagsパラメーターで使用されます。 LUP_CONTAINERSフラグとLUP_FLUSHCACHEフラグは、WSALookupServiceBegin関数によって使用されます。残りのフラグは、WSALookupServiceNext関数の呼び出しで使用されます。
フラグ | 結果 |
---|---|
LUP_CONTAINERS | クエリの目的が、サービスの一覧ではなく、Bluetoothデバイスの一覧を取得することを指定します。 このフラグを設定する必要があります。 |
LUP_FLUSHCACHE | ローカルデバイスの照会をトリガーするか、以前のクエリからキャッシュされた結果が返されます。 |
LUP_RETURN_TYPE | Bluetooth COD (デバイスビットのクラス) をWSAQUERYSET構造体のlpServiceClassIdメンバーに直接返します。 CODは、GUIDのData1メンバーにマップされます。 |
LUP_RES_SERVICE | ローカルBluetoothアドレスの情報を返します。 このフラグは、LUP_RETURN_ADDRも指定されている場合にのみ効果があります。 |
LUP_RETURN_NAME | WSALookupServiceNext関数の呼び出しごとに、WSAQUERYSET構造体のlpszServiceInstanceNameメンバーのサービスの表示名を返します。 このフラグは、LUP_RETURN_BLOBフラグを指定するときに、BTH_DEVICE_INFO構造体のnameメンバーを取得するためにも指定する必要があります。 |
LUP_RETURN_ADDR | WSALookupServiceNext関数の呼び出しごとに、WSAQUERYSET構造体のlpcsaBufferメンバーのピアの48ビットアドレスを含むSOCKADDR_BTH構造体を返します。 SOCKADDR_BTH構造体の他のメンバーは空になります。 |
LUP_RETURN_BLOB | 後続のWSALookupServiceNext呼び出しごとに、BTH_DEVICE_INFO構造体を返します。 |
LUP_FLUSHPREVIOUS | 次に使用可能なデバイスをスキップし、それに続くデバイスを返します。 |
関連トピック