Bluetooth(CE) デバイス管理.
[詳解]
#include <TnbCeBluetooth.h>
|
bool | Authenticate (void) const |
| [処理] 認証. [詳解]
|
|
| CBluetoothDevice (BT_HANDLE btHandle) |
| コンストラクタ. [詳解]
|
|
| CBluetoothDevice (const BT_ADDR &btAddr=0) |
| コンストラクタ. [詳解]
|
|
| CBluetoothDevice (const CBluetoothDevice &other) |
| コピーコンストラクタ. [詳解]
|
|
BT_HANDLE | CreateAclConnection (void) |
| [処理] データ通信用パケットオープン. [詳解]
|
|
BT_HANDLE | CreateScoConnection (void) |
| [処理] 音声用パケットオープン. [詳解]
|
|
bool | EnterHoldMode (WORD &_interval, WORD hold_mode_max, WORD hold_mode_min) |
| [設定] ホールドモード開始. [詳解]
|
|
bool | EnterParkMode (WORD &_interval, WORD beacon_max, WORD beacon_min) |
| [設定] パークモード開始. [詳解]
|
|
bool | EnterSniffMode (WORD &_interval, WORD sniff_mode_max, WORD sniff_mode_min, WORD sniff_attempt, WORD sniff_timeout) |
| [設定] スニフモード開始. [詳解]
|
|
bool | ExitParkMode (void) |
| [設定] パークモード終了 [詳解]
|
|
bool | ExitSniffMode (void) |
| [設定] スニフモード終了 [詳解]
|
|
const BT_ADDR & | GetAddress (void) const |
| [取得] アドレス取得. [詳解]
|
|
CStr | GetAddressString (void) const |
| [取得] アドレス文字列取得. [詳解]
|
|
bool | GetClass (CBluetoothClass &_class) const |
| [取得] デバイスクラス取得. [詳解]
|
|
bool | GetClassEx (CBluetoothClass &_class) |
| [取得] デバイスクラス取得. [詳解]
|
|
bool | GetCurrentMode (EMode &_mode) const |
| [取得] .ACLモード取得. [詳解]
|
|
bool | GetLinkKey (CBluetoothLinkKey &_key) const |
| [取得] LINKキー取得. [詳解]
|
|
CStr | GetName (void) const |
| [取得] デバイス名取得. [詳解]
|
|
bool | GetServicesList (CWorkMemT< WORD > &_list, size_t baseListLength, const WORD *pBaseList) const |
| [取得] サービス一覧取得. [詳解]
|
|
bool | GetVersion (TVersion &_version) |
| [取得] バージョン取得. [詳解]
|
|
bool | HasService (CBluetoothServiceAttribute &_attr, WORD uuid16) const |
| [確認] サービス確認. [詳解]
|
|
bool | HasService (CWorkMem &_raw, WORD uuid16) const |
| [確認] サービス確認. [詳解]
|
|
bool | HasService (WORD uuid16) const |
| [確認] サービス確認. [詳解]
|
|
bool | IsExist (void) const |
| [確認] 存在確認. [詳解]
|
|
bool | IsValid (void) const |
| [確認] 有効確認. [詳解]
|
|
| operator const BT_ADDR & (void) const |
| [取得] アドレス取得. [詳解]
|
|
CBluetoothDevice & | operator= (const CBluetoothDevice &other) |
| コピーオペレータ. [詳解]
|
|
bool | PairRequest (LPCTSTR lpszPin) |
| [処理] ペアリクエスト. [詳解]
|
|
bool | RefusePinRequest (void) |
| [処理] PIN リクエスト辞退. [詳解]
|
|
bool | RevokeLinkKey (void) |
| [破棄] LINKキー破棄. [詳解]
|
|
bool | RevokePin (void) |
| [破棄] PINコード破棄. [詳解]
|
|
bool | SetAddressString (LPCTSTR lpszAddress) |
| [設定] アドレス文字列設定. [詳解]
|
|
bool | SetEncryption (bool isEnable) |
| [設定] 暗号設定. [詳解]
|
|
bool | SetLinkKey (const CBluetoothLinkKey &key) |
| [設定] LINKキー設定. [詳解]
|
|
bool | SetPin (LPCTSTR lpszPin) |
| [設定] PIN コード設定. [詳解]
|
|
Bluetooth(CE) デバイス管理.
一つのアドレスを管理.
そのアドレスのデバイスのサービスなど取得可能。
- 覚え書き
- 一部のメソッドは CreateScoConnection() などで、 ベースバンド接続していないと、失敗します( エラーで ERROR_NOT_FOUND が返る)。
- 必要ファイル
- TnbCeBluetooth.h
- 日付
- 09/10/01 新規作成
-
10/01/07 PINコードの解釈を改善。
TnbCeBluetooth.h の 1534 行目に定義があります。
◆ EMode
ACL モード
列挙値 |
---|
ACTIVE | アクティブモード.
|
HOLD | ホールドモード.
- 覚え書き
- リンクを中断させる。ピコネット内の同期は維持される。
|
SNIFF | スニフモード.
- 覚え書き
- スレーブ特有。スニフ同期(定義した一定間隔)でパケットの送受信が可能。
|
PARK | パークモード.
- 覚え書き
- スレーブ特有の省電力モード。マスタからのパケットは受信可能。送信不可能。
|
TnbCeBluetooth.h の 1722 行目に定義があります。
◆ CBluetoothDevice() [1/3]
◆ CBluetoothDevice() [2/3]
◆ CBluetoothDevice() [3/3]
◆ Authenticate()
bool Authenticate |
( |
void |
| ) |
const |
◆ CloseConnection()
static bool CloseConnection |
( |
BT_HANDLE |
handle | ) |
|
|
static |
[処理] コネクションクローズ.
- 引数
-
- 戻り値
-
true | 成功. |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 2063 行目に定義があります。
◆ CreateAclConnection()
[処理] データ通信用パケットオープン.
ACL(Asynchronous Connectionless) 接続します。
- 覚え書き
- ACL の特徴
- マスタと複数のスレーブの 1vs多 の通信
- 速度を保障しない
- パケットの再送をサポート
- データ通信に利用
- 戻り値
-
TnbCeBluetooth.h の 1711 行目に定義があります。
◆ CreateScoConnection()
[処理] 音声用パケットオープン.
SCO(Synchronous Connection Oriented) 接続します。
- 覚え書き
- SCO の特徴
- マスタと一つのスレーブの 1vs1 の通信
- 通信速度を保障。
- パケットの再送はサポートしない
- リアルタイム性あり
- 戻り値
-
TnbCeBluetooth.h の 1690 行目に定義があります。
◆ EnterHoldMode()
bool EnterHoldMode |
( |
WORD & |
_interval, |
|
|
WORD |
hold_mode_max, |
|
|
WORD |
hold_mode_min |
|
) |
| |
[設定] ホールドモード開始.
- 覚え書き
- ACL 接続していないとエラーになります。
- 引数
-
[out] | _interval | Baseband slots. |
[in] | hold_mode_max | The maximum acceptable number of Baseband slots to be in Hold Mode. |
[in] | hold_mode_min | Minimum acceptable number of Baseband slots to be in Hold Mode. |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1755 行目に定義があります。
◆ EnterParkMode()
bool EnterParkMode |
( |
WORD & |
_interval, |
|
|
WORD |
beacon_max, |
|
|
WORD |
beacon_min |
|
) |
| |
[設定] パークモード開始.
- 覚え書き
- ACL 接続していないとエラーになります。
- 引数
-
[out] | _interval | Baseband slots. |
[in] | beacon_max | The maximum acceptable number of Baseband slots between consecutive beacons. |
[in] | beacon_min | The minimum acceptable number of Baseband slots between consecutive beacons. |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1769 行目に定義があります。
◆ EnterSniffMode()
bool EnterSniffMode |
( |
WORD & |
_interval, |
|
|
WORD |
sniff_mode_max, |
|
|
WORD |
sniff_mode_min, |
|
|
WORD |
sniff_attempt, |
|
|
WORD |
sniff_timeout |
|
) |
| |
[設定] スニフモード開始.
- 覚え書き
- ACL 接続していないとエラーになります。
- 引数
-
[out] | _interval | Baseband slots. |
[in] | sniff_mode_max | The maximum acceptable number of Baseband slots between each sniff period. The time length is equal to N * 0.625 msec, or 1 Baseband slot. The valid range for N is 0x0001 to 0xFFFF. The valid time range is 0.625 msec to 40.9 seconds. |
[in] | sniff_mode_min | The minimum acceptable number of Baseband slots between each sniff period. The time length is equal to N * 0.625 msec, or 1 Baseband slot. The valid range for N is 0x0001 to 0xFFFF. The valid time range is 0.625 msec to 40.9 seconds. |
[in] | sniff_attempt | The number of Baseband receive slots for sniff attempt. The length is equal to (2 * N ?1) * 0.625 msec. The valid range for N is 0x0001 to 0x7FFF. The valid time range is 0.625 msec to 40.9 seconds. |
[in] | sniff_timeout | number of Baseband receive slots for sniff timeout. If N is greater than 0, the length is equal to (2 * N ?1) * 0.625 msec. If N is equal to 0, then the length is equal to 0 msec. The valid range for N is 0x0000 to 0x7FFF. The valid time range is 0 msec to 40.9 seconds. |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1785 行目に定義があります。
◆ ExitParkMode()
bool ExitParkMode |
( |
void |
| ) |
|
◆ ExitSniffMode()
bool ExitSniffMode |
( |
void |
| ) |
|
◆ GetAddress()
const BT_ADDR & GetAddress |
( |
void |
| ) |
const |
|
inherited |
◆ GetAddressString()
CStr GetAddressString |
( |
void |
| ) |
const |
|
inherited |
[取得] アドレス文字列取得.
保持しているアドレスを xx:xx:xx:xx:xx:xx と言う文字列にします。
- 戻り値
- アドレス文字列.
TnbCeBluetooth.h の 1089 行目に定義があります。
◆ GetBasebandConnections()
static bool GetBasebandConnections |
( |
CWorkMemT< BASEBAND_CONNECTION > & |
_connections | ) |
|
|
static |
[取得] ベースバンド接続一覧取得.
- 引数
-
[out] | _connections | ベースバンド接続一覧が格納されます。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます |
TnbCeBluetooth.h の 2077 行目に定義があります。
◆ GetClass()
[取得] デバイスクラス取得.
- 覚え書き
- baseband 接続されていない場合、失敗します。
- 引数
-
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1624 行目に定義があります。
◆ GetClassEx()
[取得] デバイスクラス取得.
- 覚え書き
- baseband 接続されていない場合、一度接続します。
- 引数
-
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1640 行目に定義があります。
◆ GetCurrentMode()
bool GetCurrentMode |
( |
EMode & |
_mode | ) |
const |
[取得] .ACLモード取得.
- 覚え書き
- ACL 接続していないとエラーになります。
- 引数
-
[out] | _mode | 取得したモードが格納されます。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1737 行目に定義があります。
◆ GetLinkKey()
[取得] LINKキー取得.
- 覚え書き
- This function retrieves the link key for the Bluetooth device.
- 引数
-
[out] | _key | 取得した LINKキー が格納されます。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1817 行目に定義があります。
◆ GetName()
CStr GetName |
( |
void |
| ) |
const |
[取得] デバイス名取得.
- 戻り値
-
Empty文字列 | 失敗。詳細は、 ::GetLastError() で得られます。 |
上記以外 | 成功。文字列はデバイス名。 |
TnbCeBluetooth.h の 1657 行目に定義があります。
◆ GetServicesList()
bool GetServicesList |
( |
CWorkMemT< WORD > & |
_list, |
|
|
size_t |
baseListLength, |
|
|
const WORD * |
pBaseList |
|
) |
| const |
[取得] サービス一覧取得.
ベースとなるサービスリスト(ベースリスト)に含まれるサービス中で、 デバイスが持っているサービスを一覧します。
- 覚え書き
- 一つのサービス検索に最悪
ページタイムアウト時間
かかります。 (ページタイムアウト時間が5秒になっていると、5つ検索するのに、最悪 25秒かかる可能性があります。) 必要に応じてページタイムアウト時間の設定
を行ってください。 CBluetoothLocal local;
;
local.SetPageTimeoutMs(1000);
const static WORD awUuidList[] = {
PublicBrowseGroupServiceClassID_UUID16,
;
};
}
CWorkMemT<WORD> ww;
bool r = dev.GetServicesList(ww, countof(awUuidList), awUuidList);
local.SetPageTimeoutMs(5000);
CBluetoothDevice(const BT_ADDR &btAddr=0)
コンストラクタ.
- 引数
-
[out] | _list | サービス UUID16 一覧が格納されます。 |
[in] | baseListLength | ベースリストの要素数。 |
[in] | pBaseList | ベースリスト。 |
- 戻り値
-
true | 取得成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 2036 行目に定義があります。
◆ GetVersion()
[取得] バージョン取得.
- 引数
-
[out] | _version | バージョン情報が格納されます。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1594 行目に定義があります。
◆ HasService() [1/3]
[確認] サービス確認.
デバイスが、指定のサービスを持っているか確認できます。
- 覚え書き
- 最悪
ページタイムアウト時間
かかります。 必要に応じてページタイムアウト時間の設定
を行ってください。
- 引数
-
[out] | _attr | プロファイルサービスの属性情報が格納されます。 |
[in] | uuid16 | 確認するサービスの UUID16 。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます (サービスがない場合、 WSASERVICE_NOT_FOUND が返ります)。 |
TnbCeBluetooth.h の 1951 行目に定義があります。
◆ HasService() [2/3]
bool HasService |
( |
CWorkMem & |
_raw, |
|
|
WORD |
uuid16 |
|
) |
| const |
[確認] サービス確認.
デバイスが、指定のサービスを持っているか確認できます。
- 覚え書き
- 最悪
ページタイムアウト時間
かかります。 必要に応じてページタイムアウト時間の設定
を行ってください。
- 引数
-
[out] | _raw | プロファイルサービスの生データが格納されます。 |
[in] | uuid16 | 確認するサービスの UUID16 。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます (サービスがない場合、 WSASERVICE_NOT_FOUND が返ります)。 |
TnbCeBluetooth.h の 1930 行目に定義があります。
◆ HasService() [3/3]
bool HasService |
( |
WORD |
uuid16 | ) |
const |
[確認] サービス確認.
デバイスが、指定のサービスを持っているか確認できます。
- 引数
-
[in] | uuid16 | 確認するサービスの UUID16 。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます (サービスがない場合、 WSASERVICE_NOT_FOUND が返ります)。 |
TnbCeBluetooth.h の 1970 行目に定義があります。
◆ IsExist()
bool IsExist |
( |
void |
| ) |
const |
◆ IsValid()
bool IsValid |
( |
void |
| ) |
const |
|
inherited |
◆ operator const BT_ADDR &()
operator const BT_ADDR & |
( |
void |
| ) |
const |
|
inherited |
◆ operator=()
◆ PairRequest()
bool PairRequest |
( |
LPCTSTR |
lpszPin | ) |
|
[処理] ペアリクエスト.
- 覚え書き
- This function requests the personal identification number (PIN) for a Bluetooth device.
- 引数
-
lpszPin | PINコード. NULL の場合、 ¥0 1byte をコードとします。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1841 行目に定義があります。
◆ RefusePinRequest()
bool RefusePinRequest |
( |
void |
| ) |
|
[処理] PIN リクエスト辞退.
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1828 行目に定義があります。
◆ RevokeLinkKey()
bool RevokeLinkKey |
( |
void |
| ) |
|
[破棄] LINKキー破棄.
- 覚え書き
- This function removes the link key for a Bluetooth device.
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1859 行目に定義があります。
◆ RevokePin()
[破棄] PINコード破棄.
- 覚え書き
- This function revokes the personal identification number (PIN) for the Bluetooth device.
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1870 行目に定義があります。
◆ ServiceToString()
static CStr ServiceToString |
( |
WORD |
serviceUuid16 | ) |
|
|
static |
[取得] サービス名取得.
- 引数
-
serviceUuid16 | サービス UUID16 。 SerialPortServiceClassID_UUID16 など、 〜ServiceClassID_UUID16 のシンボルを指定。 |
- 戻り値
- サービス名.
TnbCeBluetooth.h の 2098 行目に定義があります。
◆ SetAddressString()
bool SetAddressString |
( |
LPCTSTR |
lpszAddress | ) |
|
|
inherited |
◆ SetEncryption()
bool SetEncryption |
( |
bool |
isEnable | ) |
|
[設定] 暗号設定.
- 覚え書き
- This function requests that the encryption mode on an existing connection is switched with the peer device.
- 引数
-
isEnable | true 暗号モードで通信します。 false なら暗号化しません。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1882 行目に定義があります。
◆ SetLinkKey()
[設定] LINKキー設定.
- 覚え書き
- This function stores the link key for the Bluetooth device.
- 引数
-
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1894 行目に定義があります。
◆ SetPin()
bool SetPin |
( |
LPCTSTR |
lpszPin | ) |
|
[設定] PIN コード設定.
- 覚え書き
- This function stores the personal identification number (PIN) for the Bluetooth device.
- 引数
-
lpszPin | PINコード. NULL の場合、 ¥0 1byte をコードとします。 |
- 戻り値
-
true | 成功。 |
false | 失敗。詳細は、 ::GetLastError() で得られます。 |
TnbCeBluetooth.h の 1907 行目に定義があります。
◆ m_btAddr