更新日：2005/10/05

変更履歴 
------ Beta1からの変更点
* 4つのAPIにWAITなしフラグを追加
  BOOL ExternalControl( BOOL waitF = TRUE );
  BOOL InternalControl( BOOL waitF = TRUE );
  BOOL SetRobotObjectMode( E_ROBOTOBJECT eService, E_ROBOTOBJECTMODE eMode, BOOL waitF = TRUE );
  int DoRobotFunction( E_ROBOTFUNCTION eFunction, BOOL waitF = TRUE );
* GetRobotDesign()は、常に DESIGN_ERS7 が返るように修正。
* IsRemote() 関数を追加
* GainON(), GainOFF() 関数を削除
* SetClock()を機能する関数に修正。UTCの設定に対応
* VAIBODEF.h より DISCONNECT_MODE_GAINOFFを削除
* Connect <-> Remote 切り替え時のコマンドBUSY通知を追加
  #define VAIBO_CONNECT_BUSY -23 // It is dealing with a connection
  #define VAIBO_COMM_BUSY -38    // command busy
* 利用できるコマンドが制限されているエラーを追加
  #define VAIBO_COMM_RESTRICTION  -37 // command restriction
* AudioSendWAVFile() を追加
------- Release1からの変更点
* 誤記 GetRobotObject() を GetRobotObjectMode() に修正
* AIBOマインド3で拡張された機能を使う関数を追加
  int CVAIBO::ImageGetInfo(long *openrTime, int *imageType, int *num, int *size );
  int CVAIBO::ImageGetRecogData(BlockInfo *blockInfo, unsigned char *buff, int size );
* Connect() 処理中でも、Disconnect()による接続中止に対応

□エラーコード一覧
VAIBO_NOERROR              0    // エラーなし
VAIBO_NOTSTART           -10    // 起動していない
VAIBO_WORKING            -11    // すでに稼働中
VAIBO_MEMERR             -12    // アロケート失敗
VAIBO_SERVERSTOP         -13    // サーバーが終了した。
VAIBO_PORT_NOTOPEN       -20    // 通信ポートが開いていない
VAIBO_PORT_OPENERR       -21    // 通信ポートが開けない
VAIBO_NSM_ERROR          -22    // NSM 開始エラー
VAIBO_CONNECT_BUSY       -23    // 接続中
VAIBO_COMM_NOREPLY       -30    // コマンドの応答がない
VAIBO_COMM_COMMERR       -31    // コマンド通信エラー
VAIBO_COMM_PAUSE         -32    // 通信停止中
VAIBO_COMM_WAIT          -33    // 通信応答待ち
VAIBO_COMM_IGNORE        -34    // コマンドが無視された
VAIBO_COMM_TIMEOUT       -35    // 通信タイムアウト
VAIBO_COMM_LOCK          -36    // サーバーロック中
VAIBO_COMM_RESTRICTION   -37    // 使用できるコマンドが制限されている
VAIBO_COMM_BUSY          -38    // コマンド実行中
VAIBO_FILE_SEADERR       -42    // ファイル送信エラー
VAIBO_FILE_OPENERR       -43    // ファイルオープンエラー
VAIBO_FILE_MAKEERR       -44    // ファイル作成エラー
VAIBO_FILE_READERR       -45    // ファイル読み出しエラー
VAIBO_FILE_WRITEERR      -46    // ファイル書き込みエラー
VAIBO_LIMIT_MWCID        -50    // 使用できない MWCID
VAIBO_VPRFILE_NOEXIST    -60    // VPRファイルが登録されていない

IMAGETP_INITERR         -101    // INIT できない
IMAGETP_OPENERR         -102    // オープン出来ない
IMAGETP_NOTOPEN         -103    // オープンされていない
IMAGETP_MEMERR          -104    // 領域が確保できない
IMAGETP_CREATEERR       -105    // 作成できない
IMAGETP_DATAERR         -106    // データエラー
IMAGETP_SAVEERR         -107    // 保存できない
IMAGETP_STATE_ERR       -110    // シーケンス外での実行時のエラー
IMAGETP_WORKING         -120    // すでに稼働中
IMAGETP_STATE_CLOSE     -150    // CLOSE
IMAGETP_STATE_INIT      -151    // INIT終了
IMAGETP_STATE_OPEN      -152    // OPEN終了
IMAGETP_STATE_SERVICE   -153    // SERVICE開始
IMAGETP_STATE_PAUSE     -154    // 転送一時停止
IMAGETP_STATE_PLAY      -155    // 転送中

AUDIOTP_INITERR         -201    // INIT できない
AUDIOTP_OPENERR         -202    // オープンできない
AUDIOTP_NOTOPEN         -203    // オープンされていない
AUDIOTP_MEMERR          -204    // 領域が確保できない
AUDIOTP_CREATEERR       -205    // 作成出来ない
AUDIOTP_DEVICEERR       -206    // デバイスオープンエラー
AUDIOTP_SENDERR         -207    // データ送信エラー
AUDIOTP_STATE_ERR       -210    // シーケンス外での実行時のエラー
AUDIOTP_WORKING         -220    // すでに稼動中

AUDIOTP_STATE_CLOSE     -250    // CLOSE
AUDIOTP_STATE_INIT      -251    // INIT終了
AUDIOTP_STATE_OPEN      -252    // OPEN終了
AUDIOTP_STATE_SERVICE   -253    // SERVICE開始
AUDIOTP_STATE_PAUSE     -254    // 転送一時停止
AUDIOTP_STATE_PLAY      -255    // 転送中

SENSORTP_STATE_ERR      -310    // シーケンス外での実行時のエラー
SENSORTP_WORKING        -320    // すでに稼動中
SENSORTP_STATE_CLOSE    -350    // CLOSE
SENSORTP_STATE_SERVICE  -351    // SERVICE開始
SENSORTP_STATE_PAUSE    -352    // 転送一時停止
SENSORTP_STATE_PLAY     -353    // 転送中

FTP_STATE_ERR           -410    // シーケンス外での実行時のエラー
FTP_WORKING             -420    // すでに稼動中

■ CVAIBO
【機能】コンストラクタ
【戻り値】なし
【機能説明】内部オブジェクトおよび内部変数の初期化を行う。
【形式】

CVAIBO::CVAIBO(
        HWND parent )   // WINDOW メッセージを受信するウィンドウハンドル

■ ~CVAIBO()
【機能】デストラクタ
【戻り値】なし
【機能説明】内部オブジェクトおよび内部変数の後処理を行う。
【形式】

CVAIBO::~CVAIBO()


■ Connect
【機能】AIBO とのネットワーク接続
【戻り値】成功：AIBO 参照番号  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】・共有データアクセスの初期化
        ・サーバーアプリケーションへの接続通知
        ・AIBO とのネットワーク接続を開始
        最初の接続の場合、接続確立後に WM_VAIBO_CONNECT が送られてくる。
        すでに他のクライアントアプリケーションがAIBOとのネットワーク接続を確立している場合、
        WM_VAIBO_CLIENT_UPDATE が送られてくる。
        AIBO側でのユーザーID, Passwordの設定は、
        /OPEN-R/APP/DATA/P/OWNER.TXT 
        をメモリースティック内に作成し、
        OWNER=aibo
        OWNER_PASSWORD=aibo
        の2行をテキストエディタで記述することで行える。ここで aibo, aibo は例。
        AIBOへの接続処理が終了していなくても、Disconnect()により、接続処理の中止が
        できます。
【形式】

int CVAIBO::Connect( 
                    const char *szIPAddr,   // 接続先 AIBO の IP アドレス．IP アドレスフォーマット例 "0.0.0.0" 
                    const char *ID = NULL,  // AIBO User ID
                    const char *PWD = NULL) // AIBO User Password


■ Disconnect
【機能】AIBO とのネットワーク接続の切断
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】AIBO とのネットワーク接続を終了する。
            他のクライアントアプリケーションがAIBOと接続中の場合は切断しない。
【形式】

int CVAIBO::Disconnect( void )



■ SetLock
【機能】VAIBOServer のロック／アンロック
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】VAIBOServer のロック／アンロックを設定する。
            ロックされた場合、他のクライアントアプリケーションはVAIBOServer にコマンド
            送信できない。
【形式】

int CVAIBO::SetLock( 
                    BOOL bLock )    // TRUE:ロック、FALSE：アンロック


■ GetProductID
【機能】AIBO のプロダクト ID 取得
【戻り値】なし
【機能説明】ネットワーク接続した AIBO のプロダクト ID を取得する。
        AIBOのプロダクト IDは機種ごとに異なる。
【形式】

void CVAIBO::GetProductID( 
                         ProductInfo *pInfo )   // プロダクト ID 構造体のポインタ


■ GetRemoteMACAddress
【機能】AIBO の MAC アドレス 取得
【戻り値】なし
【機能説明】ネットワーク接続した AIBO の MAC アドレス を取得する。
        ERS-7 では、ネットワークカードを内蔵しているので、MACアドレスは機種ごとに異なる。
【形式】

void CVAIBO::GetRemoteMACAddress( 
                        MACAddressInfo* pInfo ) // MAC アドレス格納ポインタ 


■ GetRobotDesign
【機能】AIBO  のロボットデザイン取得
【戻り値】ロボットデザイン
【機能説明】接続した  AIBO  のロボットデザインを取得する。
         AIBO(ERS-7)のみサポートとなるので、常に固定値(DESIGN_ERS7)が返る。
【形式】

int CVAIBO::GetRobotDesign( void )


■ RequestNetService
【機能】ネットワークサービスのリクエスト
【戻り値】リクエスト成功の場合 TRUE、失敗の場合 FALSE が返る。
【機能説明】ネットワークサービスのリクエストを行う。
            サービスが開始された時点で WM_VAIBO_SEMANTIFCS(wParam:SEM_START,lParam:START_XXXTP) が送られる。
【形式】

BOOL CVAIBO::RequestNetService( 
                     int service ) // サービス ID：FTP_ID, SENSOR_ID, IMAGE_ID, AUDIO_IN_ID, NETAUDIO_ID


■ SendCmd
【機能】AIBO 制御用コマンド送信
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】AIBO 制御用コマンド送信を行う。
            waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
【形式】

int CVAIBO::SendCmd(
            int cmd,      // VAIBODef.h のAPPコマンド参照
            BOOL waitF,   // コマンド完了待ちフラグ
            int nParam1,  // VAIBODef.h のAPPコマンドのパラメター参照
            int nParam2,  // VAIBODef.h のAPPコマンドのパラメター参照
            int nParam3,  // 未使用
            int nParam4 ) // 未使用

cmd, nParam1, nParam2 に指定できるコマンド、パラメターは VAIBODef.h を参照
cmd は APPCMD_ で始まる #define で定義
nParam1, nParam2 に使用可能な数値は、該当するAPPCMD_ に続いて定義されている。


■ PlayMotion
【機能】大・中・小・レベルによる分類コマンドの再生
【戻り値】 成功：VAIBO_NOERROR  または コマンドID     失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】指定した大・中・小分類、レベルのモーションを再生する。
            waitF = FALSE の場合は結果を待たずに処理を終了し
            戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
            モーション開始前の姿勢とモーション姿勢は送り側がケアする必要がある。
【形式】

int CVAIBO::PlayMotion( 
                        LPARAM lmsCmd,    // LMS コマンド( L_ID << 24 ) | ( M_ID << 16 ) | ( S_ID << 8 ) | ( Level )
                        BOOL exF,         // MW 向け拡張コマンドフラグ (MWCID, LMS コマンドリスト参照)
                        BOOL waitF,       // コマンド完了待ちフラグ
                        BOOL infinityF  ) // Infinity コマンドフラグ (MWCID, LMS コマンドリスト参照)


■ PlayMotionWithAngle
【機能】大・中・小・レベルによる分類コマンドの再生(水平・垂直角度の入力が可能)
【戻り値】 成功：VAIBO_NOERROR または コマンドID     失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】PlayMotion() と同等
【形式】

int CVAIBO::PlayMotionWithAngle( 
                        LPARAM lmsCmd,    // LMS コマンド( L_ID << 24 ) | ( M_ID << 16 ) | ( S_ID << 8 ) | ( Level )
                        int angleH,       // 水平角度(Degree)
                        int angleV,       // 垂直角度(Degree)
                        BOOL exF,         // MW 向け拡張コマンドフラグ (MWCID, LMS コマンドリスト参照)
                        BOOL waitF,       // コマンド完了待ちフラグ
                        BOOL infinityF,   // Infinity コマンドフラグ (MWCID, LMS コマンドリスト参照)
                        unsigned int unTarget ) // TargetID(PINK, BOLL, BONE, FACE...) 

■ IsConnect
【機能】VAIBOServerとAIBOのネットワーク接続状態取得
【戻り値】FALSE の場合サーバーはネットワーク切断中、TRUE の場合サーバーはネットワーク接続中
【機能説明】VAIBOServerとAIBOのネットワーク接続状態を取得する。
【形式】

BOOL CVAIBO::IsConnect( void )


■ IsLock
【機能】VAIBOServerのロック状態取得
【戻り値】FALSE の場合はアンロック状態、TRUE の場合はロック状態
【機能説明】VAIBOServerのロック状態を取得する。
【形式】 

BOOL CVAIBO::IsLock( void )


■ GetStateSensorTP
【機能】SensorTP の 状態取得
【戻り値】SENSORTP_STATE_xxx  (VAIBODef.h 参照)
【機能説明】SensorTPの状態を取得する。
【形式】 

int CVAIBO::GetStateSensorTP( void )


■ GetStateImageTP
【機能】ImageTP の状態取得
【戻り値】IMAGETP_STATE_xxx  (VAIBODef.h 参照)
【機能説明】ImageTP の状態を取得する。
【形式】

int CVAIBO::GetStateImageTP( void )


■ GetStateAudioTP
【機能】AudioTP の状態取得
【戻り値】AUDIOTP_STATE_xxx  (VAIBODef.h 参照)
【機能説明】AudioTP の状態を取得する。
【形式】 

int CVAIBO::GetStateAudioTP( void )


■ GetStateNetAudio
【機能】NetAudio の状態取得
【戻り値】AUDIOTP_STATE_xxx  (VAIBODef.h 参照)
【機能説明】NetAudio の状態を取得する。
【形式】

int CVAIBO::GetStateNetAudio( void )


■ IsFTPOpen
【機能】FTP の Open/Close 状態取得
【戻り値】FALSE の場合、FTP は Close 状態、TRUE の場合 FTP は Open 状態
【機能説明】FTP の Open/Close 状態を取得する。
【形式】

BOOL CVAIBO::IsFTPOpen( void )


■ GetInputSemantics
【機能】セマンティクスデータ取得
【戻り値】なし
【機能説明】セマンティクスデータを取得する。
【形式】
 
void CVAIBO::GetInputSemantics( 
               int *semID,            // 受け取るセマンティクスデータの ID
               int *pSubInfoArray,    // セマンティクスデータのサブ情報
               int *pEtcInfoArray )   // セマンティクスデータのetc 情報(要素順に ComStatus, Level, Pitch, Position) 


■ GetSemInfo
【機能】セマンティクス情報取得。
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】セマンティクス情報を取得する。
【形式】 

int CVAIBO::GetSemInfo( 
                      int *pInfoArray ) // セマンティクス SubInfo 配列


■ SensorTransferStart
【機能】SensorTP のデータ送信開始
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】SensorTP のデータ送信を開始する。
【形式】

int CVAIBO::SensorTransferStart( void )


■ SensorTransferStop
【機能】SensorTP のデータ送信停止
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】SensorTP のデータ送信を停止する。
【形式】 

int CVAIBO::SensorTransferStop( void )


■ SensorGetData
【機能】SensorTP のデータ取得
【戻り値】なし
【機能説明】SensorTP のデータを取得する。
            SensorRec * numOfData 分の領域を確保してコールする必要がある。
【形式】

void CVAIBO::SensorGetData( 
                   int numOfData,          // センサーデータの個数
                   SensorRecP pSensorRec ) // センサーデータ格納先(あらかじめ領域の確保が必要)

■ SensorSetSkipRate
【機能】SensorTP のスキップレート設定
【戻り値】なし
【機能説明】SensorTP のスキップレートを設定する。
【形式】 

void CVAIBO::SensorSetSkipRate( 
                int skipCount ) // SensorTP のスキップレート


■ SensorGetSkipRate
【機能】SensorTP のスキップレート取得
【戻り値】SensorTP のスキップレート
【機能説明】SensorTP のスキップレートを取得する。
【形式】 

int CVAIBO::SensorGetSkipRate( void )


■ ImageInit
【機能】Image オブジェクト初期化
【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】IMAGE に関するオブジェクトを生成して、内部変数の初期化を行う。
【形式】

int CVAIBO::ImageInit( void )


■ ImageOpen
【機能】Image の受信開始
【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】通信ポートをオープンしてイメージの受信を開始する。
【形式】 

int CVAIBO::ImageOpen( void )


■ ImageClose
【機能】Image の受信終了
【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】通信ポートをクローズして、受信を終了する。
【形式】

int CVAIBO::ImageClose( void )

■ ImagePause
【機能】Image データ処理一時停止
【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】Image データ処理を一時停止する。
【形式】 

int CVAIBO::ImagePause( void )


■ ImageResume
【機能】Image データ処理再開
【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】Image データ処理を再開する。
【形式】 

int CVAIBO::ImageResume( void )


■ ImageGetData
【機能】Image データ取得
【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】Image データを取得する。
【形式】

int CVAIBO::ImageGetData( 
                  unsigned char *buff,  // データ格納先 (領域を確保しておくことが必要)
                  int size )            // 取得するデータのサイズ (WM_IMAGETP_UPDATE で送られるパラメターから得られる）


■ ImageSetWindowHandle
【機能】Image 表示ウインドウ設定
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】引数で渡されたウインドウに動画表示する。表示サイズは、アプリで作成されたウインドウサイズとなります。
【形式】 

int CVAIBO::ImageSetWindowHandle(
                                  HWND wnd,      // 動画表示をするウインドウハンドル
                                  HWND wndDlg)   // 動画表示をする親ウインドウハンドル

■ ImageOutputCaptureData
【機能】スチール写真撮影
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】スチール写真の撮影
【形式】 

int CVAIBO::ImageOutputCaptureData(
                                    LPCTSTR strOutputFileName)  // 出力先ビットマップファイル名


■ ImageGetFrameRate
【機能】Image フレームレート取得
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】Image フレームレートの取得を行う。
【形式】 

int CVAIBO::ImageGetFrameRate()


■ CameraSetModeDefault
【機能】カメラモードのデフォルト設定
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】カメラモードをデフォルト設定にする。
【形式】
 
BOOL    CVAIBO::CameraSetModeDefault()


■ CameraSetModeManual
【機能】カメラモードのマニュアル設定
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】カメラモードのマニュアル設定を行う。
【形式】 

BOOL    CVAIBO::CameraSetModeManual( 
                                    int nShutterSpeed,  // シャッタースピード 
                                    int nExposure )     // 露出


■ CameraSetParamExposure
【機能】カメラパラメータ、露出設定
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】カメラパラメータ、露出の設定を行う。
【形式】 

BOOL    CVAIBO::CameraSetParamExposure( 
                                       int nExposure )  // 露出


■ CameraSetParamShutterSpeed
【機能】カメラパラメータ、シャッタースピード設定
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】カメラパラメータ、シャッタースピードの設定を行う。
【形式】 

BOOL    CVAIBO::CameraSetParamShutterSpeed( 
                                          int nShutterSpeed )  // シャッタースピード


■ CameraSetModeAEAWB
【機能】 AE(Auto Exposure),AWB(Auto White Balance)設定
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】カメラモードをAE(Auto Exposure),AWB(Auto White Balance)に設定する。
【形式】 

BOOL    CVAIBO::CameraSetModeAEAWB()


■ AudioInit
【機能】Audio に関するオブジェクトの初期化
【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】Audio に関するオブジェクトを生成して、内部変数の初期化を行う
【形式】 

int CVAIBO::AudioInit( void )


■ AudioGetOpen
【機能】オーディオデータの受信開始
【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】通信ポートをオープンしてオーディオデータの受信を開始する。
       オーディオデータ形式は、VAIBODef.h 内 ATP16K_XXX, ATP8K_XXX が利用可能
【形式】 

int CVAIBO::AudioGetOpen( 
                      int mode )  // オーディオデータ形式 （VAIBODef.h 内で定義)

■ AudioSendOpen
【機能】 オーディオデータの送信開始
【戻り値】 AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】オーディオデータの送信を開始する。
      オーディオデータ形式は、
        ATP16K_16BIT_MONO_MIX       3           // 16kHz,16Bit,Mono Mix
        ATP8K_16BIT_MONO_MIX        7           // 8kHz,16Bit,Mono Mix
        ATP16K_8BIT_MONO_MIX        11          // 16kHz,8Bit,Mono Mix
        ATP8K_8BIT_MONO_MIX         15          // 8kHz,8Bit,Mono Mix
      が利用可能
【形式】 

int CVAIBO::AudioSendOpen( 
                      int mode )  // オーディオデータ形式 （VAIBODef.h 内で定義)


■ AudioSendSetMode
【機能】AudioMode 変更
【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】AudioMode の変更を行う。
      オーディオデータ形式は、
        ATP16K_16BIT_MONO_MIX       3           // 16kHz,16Bit,Mono Mix
        ATP8K_16BIT_MONO_MIX        7           // 8kHz,16Bit,Mono Mix
        ATP16K_8BIT_MONO_MIX        11          // 16kHz,8Bit,Mono Mix
        ATP8K_8BIT_MONO_MIX         15          // 8kHz,8Bit,Mono Mix
      が利用可能
【形式】 

int CVAIBO::AudioSendSetMode( 
                      int nMode )  // オーディオデータ形式 （VAIBODef.h 内で定義)


■ AudioClose
【機能】 通信ポートをクローズして、受信を終了する
【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】 通信ポートをクローズして、受信を終了する
【形式】 

int CVAIBO::AudioClose( void )


■ AudioGetData
【機能】Audio データ取得
【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】Audio データの取得を行う。
【形式】 

int CVAIBO::AudioGetData( 
                         unsigned char *buff,  // データ格納先 (バッファは領域を確保しておくことが必要)
                         int size )            // 取得するデータのサイズ(データサイズはWM_AUDIOTP_UPDATE 
                                     のパラメターで得られる)


■ AudioSendData
【機能】AudioStream 再生データ転送
【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】AudioStream 再生データの転送を行う。
【形式】

int CVAIBO::AudioSendData( 
                          char *buff,  // データ格納領域の先頭アドレス
                          int size )   // 転送するデータのサイズ


■ AudioSendWAVFile
【機能】AudioStream 再生データ(ファイル)転送
【戻り値】AUDIOTP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】AudioStream 再生データの転送を行う。
【形式】

int CVAIBO::AudioSendWAVFile( 
                          LPCTSTR szFile )  // データの格納されたファイル名(フルパス)


■ AudioSendPlay
【機能】オーディオの再生開始
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】オーディオの再生開始処理を行う。コマンド送信後処理を戻す。
【形式】 

int CVAIBO::AudioSendPlay( 
                          BOOL isKutipaku )  // TRUE:口ぱくあり、FALSE：口ぱくなし


■ AudioSendStop
【機能】オーディの停止処理
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】オーディオの停止処理を行う。
【形式】

int CVAIBO::AudioSendStop( void )


■ FTPMMSendWAVFile
【機能】MMFTP による WAVE ファイル転送
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】WAVE ファイルを送信する。
【形式】コマンド送信完了後に処理を戻す。
        ファイル転送が終わった時点で WM_VAIBO_SEMANTICS(wParam:SEM_DONE,lParam:DONE_SEND_WAV) が送られる。
        転送するファイル名はフルパスで指定する。以前送ったファイルは上書きされる。

int CVAIBO::FTPMMSendWAVFile( 
                             LPCTSTR szFile )  // 転送するファイル名（フルパス）


■ FTPMMSendMWCFile
【機能】MMFTP による MWC ファイル転送
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】MMFTP による MWC ファイルの転送を行う。
【形式】 

int CVAIBO::FTPMMSendMWCFile(
                             LPCTSTR szFile)  // 転送する MWC ファイル名


■ FTPMMSendMOTIONFile
【機能】MMFTP による MOTION ファイルの転送
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】MMFTP による MOTION ファイルの転送を行う。
【形式】

int CVAIBO::FTPMMSendMOTIONFile(
                                LPCTSTR szFile)  // 転送する MOTION ファイル名


■ FTPMMSendAUDIOFile
【機能】MMFTP による AUDIO ファイルの転送
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】MMFTP による AUDIO ファイルの転送を行う。
【形式】 

int CVAIBO::FTPMMSendAUDIOFile(
                               LPCTSTR szFile)  // 転送する AUDIO ファイル名


■ FTPMMSendLEDFile
【機能】MMFTP による LED ファイルの転送
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】MMFTP による LED ファイルの転送を行う。
【形式】 

int CVAIBO::FTPMMSendLEDFile(
                             LPCTSTR szFile)  // 転送する LED ファイル名


■ UpdateContents
【機能】コンテンツアップデート
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】MMFTPで MWCファイルとコンテンツ(MOTION, AUDIO, LED)を転送した後に呼ばなければならない。
            AIBO 側のコンテンツ管理テーブルを MMFTP で送信済みの MWC ファイル及び各種コンテンツ
            ファイルの内容にアップデートする。
【形式】 

int CVAIBO::UpdateContents()


■ PlayContents
【機能】コンテンツ再生
【戻り値】成功：VAIBO_NOERROR または コマンドID    失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】コンテンツの再生を行う。
            waitF = FALSE の場合は結果を待たずに処理を終了し
            戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
【形式】 

int CVAIBO::PlayContents(
                         int nMwcID,  // コンテンツ ID(MWCID)
                         BOOL waitF)  // ウエイトフラグ 

■ DoKick
【機能】キック
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】AIBOにキックさせる。
            waitF = FALSE の場合は結果を待たずに処理を終了し
            戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
            この関数をコールする前に AIBO が WALK/STAND 姿勢になっていること。
            キックの種類はVAIBO.h で定義されている。
【形式】 

int CVAIBO::DoKick( 
                   int kick,     // キックの種類(DK_LEFT_FORWARD, DK_LEFT, DK_RIGHT_FORWARD, DK_RIGHT)
                   BOOL waitF )  // コマンド完了待ちフラグ


■ DoHeader
【機能】ヘディング
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】AIBOにヘディングさせる。
            waitF = FALSE の場合は結果を待たずに処理を終了し
            戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
            この関数をコールする前に AIBO が WALK/STAND 姿勢になっていること。
            ヘディングの種類はVAIBO.h で定義されている。
【形式】

int CVAIBO::DoHeader( 
                    int header,   // ヘディングの種類(DH_FORWARD)
                    BOOL waitF )  // コマンド完了待ちフラグ


■ DoWalking
【機能】歩行
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】AIBOに歩行させる。
            waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
            歩行の種類はVAIBO.h で定義されている。
            angle = 0, distance = 0 の場合、規定の値（歩行：10,000cm, 旋回：20回転）で実行する。
【形式】 

int CVAIBO::DoWalking( 
                      int walk,      // 歩行の種類(VAIBO.h で定義される DoWalkingパラメータ 参照)
                      int angle,     // 角度[deg]
                      int distance,  // 距離[cm]
                      BOOL waitF )   // コマンド完了待ちフラグ


■ DoApproach
【機能】target指定歩行
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】target指定歩行。
            waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
            歩行の種類はVAIBO.h で定義されている。
            TargetID は VAIBO.h の Target ID(SEMLABEL) で定義される。
【形式】

int CVAIBO::DoApproach(
                      int walk,                 // 歩行の種類 (VAIBO.h で定義される DoWalkingパラメータ 参照)
                      unsigned int unTarget,    // TargetID (VAIBO.h で定義される Target ID(SEMLABEL) 参照)
                      BOOL waitF )              // コマンド完了待ちフラグ

■ DoGetOffStation
【機能】ステーションからの立ち上がり
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】エナジーステーション上のAIBOを立ち上がらせる。
            waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
【形式】

int CVAIBO::DoGetOffStation(
                      BOOL waitF )              // コマンド完了待ちフラグ


■ SetPosture
【機能】姿勢設定
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】指定した姿勢に遷移させる。
            waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
            姿勢の種類は VAIBO.h の SetPosture parameter で定義される。
【形式】

int CVAIBO::SetPosture( 
                       WORD pos,     // 姿勢の種類 (VAIBO.h で定義される POS_XXX 参照)
                       BOOL waitF )  // コマンド完了待ちフラグ


■ GetPosture
【機能】姿勢取得
【戻り値】ST_POS_XXX (VAIBODef.h で定義される)
【機能説明】AIBOのカレント姿勢を取得する。
【形式】 

WORD CVAIBO::GetPosture( void )


■ GetStatus
【機能】AIBO の状態取得
【戻り値】ST_STAT_XXX (VAIBODef.h で定義される)
【機能説明】AIBO の状態を取得する。
【形式】 

int CVAIBO::GetStatus( void )


■ ChangeHeadAngle
【機能】頭角度変更
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】頭を移動コマンドを送信する（水平、垂直角度指定）。
            waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
【形式】

int CVAIBO::ChangeHeadAngle( 
                            int angleH,   // 水平指定角度[deg]
                            int angleV,   // 垂直指定角度[deg]
                            int nSpeed,   // 1(遅い)〜4(早い)
                            BOOL waitF )  // コマンド完了待ちフラグ


■ TurnBody
【機能】頭角度を変えながら体旋回
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】首が向いている方向を維持しならがボディのみ旋回させる。
            現在の首の角度を設定すると、ターゲットを視野に入れながら体を首の方向に向ける。
            waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。 
【形式】 

int CVAIBO::TurnBody( 
                     int angle,    // 旋回角度
                     BOOL waitF )  // コマンド完了待ちフラグ


■ MotionStop
【機能】モーション停止
【戻り値】成功：VAIBO_NOERROR  失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】現在実行中のモーションの停止する。
【形式】 

int CVAIBO::MotionStop()


■ GetBatteryLevel
【機能】バッテリーレベル取得
【戻り値】バッテリー残量(%)
【機能説明】バッテリーレベルを取得する。
【形式】 

int CVAIBO::GetBatteryLevel( void )


■ SetBatteryLevelNotify
【機能】バッテリ残量の通知、非通知設定
【戻り値】なし
【機能説明】onF が TRUE の場合は、バッテリ残量を定期的に通知する。onF   が FALSE の場合は、バッテリ残量を通知しない。
            WM_VAIBO_BATTERY_LVL メッセージの lParam にバッテリ残量のパーセンテージが格納されている。
【形式】 

void CVAIBO::SetBatteryLevelNotify( 
                                   BOOL onF,       // バッテリ残量の通知あり/なし
                                   int interval )  // 残量通知の間隔[秒]


■ ExternalControl
【機能】コントロール権取得
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】コントロール権を取得する。
【形式】 

BOOL    CVAIBO::ExternalControl(
                                BOOL waitF)  // コマンド完了待ちフラグ


■ InternalControl
【機能】コントロール権開放
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】コントロール権を開放する。
【形式】 

BOOL    CVAIBO::InternalControl(
                                BOOL waitF)  // コマンド完了待ちフラグ


■ ChangeDisconnectMode
【機能】切断時モード変更
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】切断時モードを変更する。
         切断時モードの種類は VAIBODef.h で DISCONNECT_MODE_XXX として定義される
【形式】 

BOOL    CVAIBO::ChangeDisconnectMode( 
                                     int nMode )  // 切断時モードの指定(VAIBODef.h 内 DISCONNECT_MODE_XXX で定義)


■ SetRobotObjectMode
【機能】AIBO側オブジェクト動作状態の設定
【戻り値】関数の成功 TRUE, 失敗 FALSE。
【機能説明】AIBO側オブジェクト動作状態を設定する。
         オブジェクトの種類は VAIBODef.h の enum E_ROBOTOBJECT {} で定義される。
         オブジェクトの動作状態は VAIBODef.h の enum E_ROBOTOBJECTMODE {} で定義される。
【形式】 

BOOL    CVAIBO::SetRobotObjectMode(
                                   E_ROBOTOBJECT eService,    // AIBO側オブジェクト種別 
                                   E_ROBOTOBJECTMODE eMode,   // AIBO側オブジェクト動作状態
                                   BOOL waitF)                // コマンド完了待ちフラグ


■ SetClock
【機能】AIBO 内部の時計設定
【戻り値】成功：VAIBO_NOERROR または コマンドID      失敗：エラーコード(本書類上部の一覧参照のこと)
【機能説明】AIBO 内部の時計の設定を行う。
            waitF = FALSE の場合は結果を待たずに処理を終了し、戻り値としてコマンドIDを返す。
            コマンドの成否は上記コマンドIDを持ったセマンティックデータで取得できる。
            UU: UTC     -12 - +12  // タイムゾーン
            HH: Hour    0-23
            MM: Minute  0-59
            SS: Seconds 0-59
 
【形式】
 
int CVAIBO::SetClock( 
                     LPARAM date,  // 0xYYYYMMDD
                     LPARAM time,  // 0xUUHHMMSS
                     BOOL waitF )  // コマンド完了待ちフラグ


■ IsControlReady
【機能】AIBO のコントロール可能状態を確認
【戻り値】TRUE の場合、コントロール可能。FALSE の場合、コントロール不可能。
【機能説明】AIBO のコントロール可能状態を確認する。他のアプリケーションにより Lock されている場合は FALSE になる。
【形式】 

BOOL CVAIBO::IsControlReady( void )


■ IsRemote
【機能】AIBO がリモート制御状態かどうかの確認
【戻り値】TRUE の場合、外部制御（リモート制御状態）。FALSE の場合、内部制御状態
【機能説明】AIBO がリモート制御状態かどうかの確認をする。アプリケーションによって、AIBOがリモート制御状態
            になっている場合は TRUE になる。
【形式】 

BOOL CVAIBO::IsRemote( void )


■ SetObserverWnd
【機能】メッセージ取得ウインドウ追加
【戻り値】なし
【機能説明】メッセージを返すウインドウを追加する。追加は１つのみで、追加するごとに先に登録されているウインドウハンドルは上書きされる。
【形式】 

void CVAIBO::SetObserverWnd(
                            HWND hObserver)  // 追加するウインドウハンドル


■ GetLocalIPAddress
【機能】Local IP アドレス取得
【戻り値】なし
【機能説明】Local IP アドレスの取得を行う。
【形式】 

void CVAIBO::GetLocalIPAddress( 
                               char *szIPAddr )  // 取得結果である IP アドレスを格納する場所へのポインタ


■ GetLastCmdID
【機能】発行済みCmdIDの取得
【戻り値】CmdID
【機能説明】発行済みCmdIDを取得する。
         取得したCmdIDとセマンティックスデータの返り値のCmdIDとを
         比較することによって、命令に対する結果を知ることができる。
【形式】 

int CVAIBO::GetLastCmdID()


■ GetRobotObjectMode
【機能】AIBO側オブジェクト動作状態の取得
【戻り値】E_ROBOTOBJECTMODE 
              eRobotObjectModeStart:  開始
              eRobotObjectModeStop:   終了
【機能説明】AIBO側オブジェクト動作状態を取得する。
【形式】

E_ROBOTOBJECTMODE   CVAIBO::GetRobotObjectMode(
                          E_ROBOTOBJECT eService )    //  AIBO側オブジェクト種別( VAIBODef.h で定義される)


■ GetProtocolVersion
【機能】各サービスのプロトコルバージョンの取得
【戻り値】成功 : TRUE    失敗 : FALSE
【機能説明】各サービスのプロトコルバージョンを取得する。各サービスの開始後、有効になる。
            サービスIDは、VAIBODef.h の RequestNetService パラメターとして定義される。
【形式】

BOOL        CVAIBO::GetProtocolVersion(
                  int nServiceID,         // サービスID (VAIBODef.h の RequestNetService パラメター)
                  int nVersion[ 4 ] )     // バージョンを格納する


■ DoRobotFunction
【機能】AIBO側機能の実行
【戻り値】成功 : TRUE    失敗 : FALSE
【機能説明】自己充電等、各種AIBO側機能を実行する。
        AIBOの内部機能の種類は、VAIBO.h の enum E_ROBOTFUNCTION {} で定義される。
【形式】

BOOL        CVAIBO::DoRobotFunction(
                        E_ROBOTFUNCTION eFunction,     // AIBOの内部機能 (VAIBO.h の enum E_ROBOTFUNCTION {} で定義)
                        BOOL waitF = TRUE )

■ StopRobotFunction
【機能】AIBO側機能の実行停止
【戻り値】成功 : TRUE    失敗 : FALSE
【機能説明】各種AIBO側機能の実行を停止する。
【形式】

BOOL        CVAIBO::StopRobotFunction()


■ VPRSetMode
【機能】VPRモードの設定
【戻り値】成功 : TRUE    失敗 : FALSE
【機能説明】VPRモードを設定する。
        VPRモードの種類は、VAIBO.h の enum EVPRMODE {} で定義される。
【形式】

BOOL        CVAIBO::VPRSetMode(
                        EVPRMODE eMode )        // VPR モード


■ VPRTrainModel
【機能】VPRモデルの学習
【戻り値】成功 : TRUE    失敗 : FALSE
【機能説明】VPRモデルを学習する。
        モデルIDの最小と最大, モデルサブIDの最小と最大, 登録ポリシーは、VAIBO.h で定義される。
【形式】
BOOL        CVAIBO::VPRTrainModel(
                        int nModelID,           // モデルID 
                        int nModelSubID,        // モデルサブID
                        EVPRPOLICY ePolicy )    // 登録ポリシー


■ VPRRemoveModel
【機能】VPRモデルの削除
【戻り値】TRUE 成功、FALSE 失敗
【機能説明】VPRモデルを削除する。
【形式】

BOOL        CVAIBO::VPRRemoveModel(
                        int nModelID,           // モデルID ( VPRMODELID_MIN 〜 VPRMODELID_MAX )
                        int nModelSubID )       // モデルサブID ( VPRMODELSUBID_MIN 〜 VPRMODELSUBID_MAX )  


■ VPRQueryModel
【機能】VPRモデル登録状態の問い合わせ
【戻り値】TRUE 成功、FALSE 失敗
【機能説明】VPRモデル登録状態を問い合わせる。
            結果は WM_VAIBO_INPUT_SEMANTICS メッセージ(labelID = SEMID_VPR_RESULT)で取得される
【形式】

BOOL        CVAIBO::VPRQueryModel(
                        int nModelID )          // モデルID (VPRMODELID_MIN 〜 VPRMODELID_MAX )


■ VPRGetImage
【機能】VPR登録モデル画像ファイル名の取得
【戻り値】TRUE 成功、FALSE 失敗
【機能説明】VPR登録モデル画像ファイル名を取得する。
【形式】
BOOL        CVAIBO::VPRGetImage(
                        int nModelID,           // モデルID ( VPRMODELID_MIN 〜 VPRMODELID_MAX )
                        int nModelSubID,        // モデルサブID ( VPRMODELSUBID_MIN 〜 VPRMODELSUBID_MAX )  
                        char* strFileName )     // 画像ファイル名(出力) 


■ SetVolume
【機能】Volume の設定
【戻り値】TRUE 成功、FALSE 失敗
【機能説明】Volume を設定する。
【形式】
BOOL    CVAIBO::SetVolume(
                        int nVolume )           // ボリューム(AIBO_VOLUME_MIN(0)〜AIBO_VOLUME_MAX(3))


■ RequestVolume
【機能】Volume の取得
【戻り値】TRUE 成功、FALSE 失敗
【機能説明】AIBOの現在のVolume の送信を要求する。結果はSEM_VOLUMEセマンティクスのSubinfo[0]で0〜3の値として返ってくる。
【形式】
BOOL    CVAIBO::RequestVolume()

■ SetUserIdPwd
【機能】ユーザーID, Password の設定
【戻り値】なし
【機能説明】レジストリに AIBO のユーザーID, Password を設定します．
【形式】    

void    CVAIBO::SetUserIdPwd(
                                       char *szUserID,  // User ID 
                                       char *szPswd)    // User Password

■ GetUserIdPwd
【機能】ユーザーID, Password の取得
【戻り値】なし
【機能説明】レジストリから AIBO のユーザー ID, Password を取得します．
【形式】    

void    CVAIBO::GetUserIdPwd(
                                       char *szUserID,  // User ID 
                                       char *szPswd)    // User Password
■ CATPDirectSound
【機能】コンストラクタ
【戻り値】なし
【機能説明】内部オブジェクトおよび内部変数の初期化
【形式】    

CATPDirectSound::CATPDirectSound()


■ ~CATPDirectSound
【機能】デストラクタ
【戻り値】なし
【機能説明】内部オブジェクトおよび内部変数の後処理
【形式】    

CATPDirectSound::~CATPDirectSound()


■ Init
【機能】クラスの初期化
【戻り値】なし
【機能説明】クラスを初期化する
【形式】    

BOOL    CATPDirectSound::Init(
                              HWND hAppWnd)  // 親ウインドウハンドル


■ StartPlay
【機能】サウンド再生(AIBO -> PC)の開始
【戻り値】TRUE：成功  FALSE：失敗
【機能説明】サウンド再生(AIBO -> PC)を開始する。
            Waveモードは ATPDirectSound.h で定義されます。
【形式】    

BOOL    CATPDirectSound::StartPlay(
                                   int nMode)  // Waveモード(eWaveMode16k16bStereo,..) 


■ EndPlay
【機能】サウンド再生(AIBO -> PC)の終了 
【戻り値】TRUE：成功  FALSE：失敗
【機能説明】サウンド再生(AIBO -> PC)を終了する
【形式】    

BOOL    CATPDirectSound::EndPlay()


■ PlayWaveData
【機能】サウンド再生用データの入力 
【戻り値】TRUE：成功  FALSE：失敗
【機能説明】サウンド再生用データを入力する
【形式】    

BOOL    CATPDirectSound::PlayWaveData(
                                      char* pData,  // サウンドデータ先頭アドレス
                                      int nSize)    // サウンドデータ長


■ StartCapture
【機能】サウンドキャプチャの開始
【戻り値】TRUE：成功  FALSE：失敗
【機能説明】サウンドキャプチャを開始する
【形式】    

BOOL    CATPDirectSound::StartCapture(
                  int nMode,     // Waveモード(eWaveMode16k16bStereo,..) 
                  void ( *pCaptureProc )( void* pCaptureData, DWORD dwCaptureLength, BOOL isEnd, void* pParam ),  
                  // キャプチャ時実行関数
                  void* pParam)  // キャプチャ時実行関数用引数


■ EndCapture
【機能】サウンドキャプチャの終了
【戻り値】TRUE：成功  FALSE：失敗
【機能説明】サウンドキャプチャを終了する
【形式】    

BOOL    CATPDirectSound::EndCapture()


■ ImageGetInfo
【機能】画像認識情報の設定情報取得
【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】各画像フレームと同時に送信される画像認識情報の設定情報を取得する。
 
【形式】
int CVAIBO::ImageGetInfo( 
                  long *openrTime, // Imageが作成された時間(OPENR時間）
                  int *imageType,  // イメージタイプ
                  int *num,        // データ個数
                  int *size )      // データサイズ

※イメージタイプは以下のIDと同一です。
#define IMAGE_PROFILE_LOW           (   1 )     // Image size 102x79
#define IMAGE_PROFILE_MID           (   2 )     // Image size 204x159
#define IMAGE_PROFILE_HIGH          (   3 )     // Image size 412x318

■ ImageGetRecogData
【機能】画像認識情報のデータ取得
【戻り値】IMAGETP_NOERROR またはエラーコード(本書類上部の一覧参照のこと)
【機能説明】各画像フレームと同時に送信される画像認識情報のデータを取得する。
 
【形式】
int CVAIBO::ImageGetRecogData(
                  BlockInfo *blockInfo, // MOVEOBJ(動体認識したオブジェクト)のパラメータ
                  unsigned char *buff,  // データ格納先 (領域を確保しておくことが必要)
                  int size );           // 取得するデータのサイズ (ImageGetInfoで得られる）

typedef struct {
    int  nBlock_X;  // MOVEOBJの認識結果のマトリクスの横のブロック数
    int  nBlock_Y;  // MOVEOBJの認識結果のマトリクスの縦のブロック数
    int  nBlock_DataSize;  // MOVEOBJの認識結果が格納されている領域のサイズ(byte)
} BlockInfo;

unsigned char *buff には、認識結果の応じて以下のデータが入る。
+------+---------+------+---------+------+---------+
|Header| Data    |Header| Data    |Header| Data    |
+------+---------+------+---------+------+---------+
データの数(Headの数)はImageGetInfo()で得られるデータ数となる。
buff全体のサイズはImageGetInfo()で得られるデータサイズとなる。

buff のヘッダ部分
typedef struct {
    OpenrTime     openrTime; // 4 bytes 認識情報を取得した時間(OPENR時間）。画像作成時間と異なる。
    RecogSubInfo  subinfo;   // 4 bytes
    RrDataID      rrID;      // 1 byte
    SectionSize   secSize;   // 1 byte ヘッダに続いて入っているデータのサイズ
    ImageType	  imageType; // 1 byte
    RecogType	  recogType; // 1 byte
} RecogHeader;

buff には、ヘッダに続いて次のデータが入る。
a) rrID = rr1Point のとき
struct OnePoint {  // 4 bytes
    short x;    // 2 bytes
    short y;    // 2 bytes
}

b) rrID = rr2Point のとき
struct TwoPoint { // 8 bytes
    short x1;    // 2 bytes
    short y1;    // 2 bytes
    short x2;    // 2 bytes
    short y2;    // 2 bytes
}

c) rrID = rr4Point のとき
struct FourPoint { // 16 bytes
    short x1;    // 2 bytes
    short y1;    // 2 bytes
    short x2;    // 2 bytes
    short y2;    // 2 bytes
    short x3;    // 2 bytes
    short y3;    // 2 bytes
    short x4;    // 2 bytes
    short y4;    // 2 bytes
}

d) rrID = rrBlockArea のとき
unsigned char BlockData[nBlock_DataSize]
nBlock_X * nBlock_Y のマトリックスで
動体認識結果は bitの1/0で返される。
bit=1 : そのブロックで動体検出した。
---> nBlock_X
+-+-+-+-+-+-+-+-+-+-+-+-+-----
| | | | | | | | | | | | | |||||
+-+-+-+-+-+-+-+-+-+-+-+-+-----
| | |1|1|1|1| | | | | | | |||||
+-+-+-+-+-+-+-+-+-+-+-+-+-----
| | |1|1|1|1| | | | | | | |||||
+-+-+-+-+-+-+-+-+-+-+-+-+-----
| | | | | | | | | | | | | |||||
+-+-+-+-+-+-+-+-+-+-+-+-+-----
.........
.........

