abc FLINK ライブラリマニュアル このマニュアルは、FLCE 機能を操作するライ ブラリの仕様について記載します。 Ver. 2.
ご注意 ● このソフトウェアおよびマニュアルの、一部または全部を無断で使用、複製することはできません。 ● このソフトウェアおよびマニュアルは、本製品の使用許諾契約書のもとでのみ使用することができます。 ● このソフトウェアおよびマニュアルを運用した結果の影響については、一切の責任を負いかねますのでご了 承ください。 ● このソフトウェアの仕様、およびマニュアルに記載されている事柄は、将来予告なしに変更することがありま す。 ● このマニュアルの著作権はカシオ計算機株式会社に帰属します。 ● 本書中に含まれている画面表示は、実際の画面とは若干異なる場合があります。予めご了承ください。 © 2012 カシオ計算機株式会社 Microsoft, MS, ActiveSync, Active Desktop, Outlook, Windows, Windows NT, および Windows ロゴは、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。Microsoft 社の製品は、OEM 各社に、Microsoft Corporation の 100%出資子会
変更履歴 バージョン 変更日付 0.90 1.00 1.01 2005.11 2006.06 2007.08 1.02 2007.12 1.03 2008.07 2.00 2008.11 2.01 2009.03 ページ 62 1、44、 47、65、 66 16 51 1、44、 47、65、 66 16∼46 1 1、44、 47、65、 66 1 4 5 18 22 26 2.02 2.03 2.04 2009.07 2011.01 2011.08 2.05 2011.11 2012.
目次 1. 概要···················································································································································································1 1.1 構造体一覧 ·····························································································································································3 1.1.
6.
1. 概要 FLINK ライブラリは、FLCE 機能をユーザアプリケーションにて利用することを可能とします。 動作環境 対象機種 • DT-5200 • DT-X7 • DT-9800 • DT-5300 • IT-300 • DT-X8 • IT-9000 対象 OS • • • • Microsoft Microsoft Microsoft Microsoft WindowsCE 5.0 WindowsCE 6.0 WindowsMobile 6.5 WindowsMobile 6.5.3 開発環境とプログラミング言語 Visual C++ 開発環境 Microsoft Microsoft Microsoft Microsoft Visual Basic, Visual C# ○ ○ ○ ○ embedded Visual C++ Version 4.0 + SP4 × Visual Studio.
使用方法 Visual C++ の場合 • プログラムソース内に FlinkLib.h をインクルードし、リンカの依存ファイルとして FlinkLib.lib を指定してく ださい • FlinkLib.dll は本体に内蔵されています。 Visual Basic または Visual C# の場合 • MoFlinkLib.dll をプロジェクトの参照に追加してください。 • FlinkLib.dll は本体に内蔵されています。 • MoFlinkLib.
1.
1.1.
1.1.
コマンド種類:function 送受信の名前:filename データ:data function FLK_SND_EXEC FLK_RCV_EXEC FLK_ADDSND_EXEC FLK_ADDRCV_EXEC FLK_DELETE_EXEC filename 送信ファイル名 受信ファイル名 送信ファイル名 送信元ファイル名 削除ファイル名 data - FLK_DELETE_RECV FLK_MOVE_EXEC 削除ファイル名 移動元のファイル名 - FLK_MOVE_RECV FLK_MAKEDIR_RECV FLK_DATETIME_EXEC 移動元のファイル名 作成ディレクトリ名 - - FLK_DATETIME_RECV FLK_DATETIME_SEND FLK_MESSAGE_RECV - FLK_BUZZER_RECV FLK_GETFILEINFO_RECV 要求された表示メッ セージ 処理中のファイル名 FLK_SETFILEINFO_RECV FLK_GETDISKINFO_RECV 処理中のファイル名 ドライブ名 - 以下の関数で使用します。 • F
1.1.
カテゴリ:category エラー詳細:detail カテゴリとエラー詳細コードの組み合わせによりエラー状態を表す。 意味 値 カテゴリ 詳細 正常終了状態 正常終了 00h 00h DCh∼F5h フォーマット指示コマンド(A∼Z) 00h F6h 電源 OFF 終了通知 00h リセット指定終了通知 F7h 00h 中断キーによる終了通知 F8h 00h F9h∼FFh 予約領域 プロトコルエラー 受信フレームファンクションコード未定義エラー 01h 00h 受信フレームサブファンクションコード未定義エラー 01h 受信フレームチェックサムエラー 03h シーケンスエラー 04h シーケンス番号エラー 05h 受信フレーム内情報パラメータエラー 07h 受信タイムアウト 08h コマンドレングスエラー 10h ファイルエラー[プロトコル論理] リードオンリィファイルアクセスエラー 04h 00h ユーティリティエラー 回線オープンエラー 回線がオープンされていない 10h 00h オープン時のエラーを確認 使用関数フェーズエラー 関数の使い方に誤りがある。 01h 動作モード/送信権局モードを確認 使
意味 値 カテゴリ 詳細 ファイルエラー[ファイル関数] クリエートエラー 11h 00h オープンエラー 01h リードエラー 02h ライトエラー 03h シークエラー 04h ファイル削除エラー 05h ディレクトリ削除エラー 06h ファイル名変更移動エラー 07h タイムスタンプ設定エラー 08h タイムスタンプ取得エラー 09h ファイル属性設定エラー 0Ah ファイル属性取得エラー 0Bh ディレクトリ作成エラー 0Ch ファイルサイズ変更エラー 0Dh システム異常エラー FTP部内部エラー 0Fh 0xh 通信ユーティリティ内部エラー 1xh 以下の関数で使用します。 • FLKReadErrStat / FLKReadErrorStatus 9
1.1.
1.1.
1.1.
1.1.
1.1.
1.
1.2.
rsPrm 通信パラメータを設定します。 COM1 指定時 :COM ポート通信パラメータを指定します IRDA 指定時 :無視します LAN 指定時 :無視します USB 指定時 :無視します mode 局モード FLK_MODE_HT FLK_MODE_PC :HT モード :PC モード hWnd メッセージを通知するウインドウの、ウインドウハンドルを指定します。 NULL を指定した場合はメッセージを通知しません。 message アプリケーションへ通知するメッセージ番号を指定します。 戻り値 ハンドル値 :正常終了 :パラメータエラー FLK_PRM :パラメータ以外の異常終了 FLK_NG Device Emulator では、常に FLK_NG を返します。 メッセージ WPARAM FLK_COMMAND_END FLK_COMMAND_ERROR 内容 オープン処理が正常終了した オープン処理が異常終了した 17
1.2.
かを指定します) FLK_PROTECT_VALID FLK_PROTECT_INVALID :強制書き込みしない :強制書き込みする 戻り値 :正常終了 FLK_OK FLK_PRM :パラメータエラー :パラメータ以外の異常終了 FLK_NG Device Emulator では、常に FLK_NG を返します。 メッセージ WPARAM FLK_COMMAND_END FLK_COMMAND_ERROR FLK_STATUS_CHANGE1 FLK_STATUS_CHANGE2 内容 指定した全ファイルの送信が完了した ファイル送信がエラーにより終了した 1 つのファイルの送信が始まった FLKReadStatus()関数で送信ファイル名を取得できます。 ファイル転送バイト数に変化があった FLKReadStatus()関数で転送バイト数を取得できます。 19
1.2.
FLK_STATUS_CHANGE2 FLKReadStatus()関数で送信ファイル名を取得できます。 ファイル転送バイト数に変化があった FLKReadStatus()関数で転送バイト数を取得できます。 21
1.2.
かを指定します) FLK_PROTECT_VALID FLK_PROTECT_INVALID :強制書き込みしない :強制書き込みする 戻り値 :正常終了 FLK_OK FLK_PRM :パラメータエラー :パラメータ以外の異常終了 FLK_NG Device Emulator では、常に FLK_NG を返します。 メッセージ WPARAM FLK_COMMAND_END FLK_COMMAND_ERROR FLK_STATUS_CHANGE1 FLK_STATUS_CHANGE2 内容 ファイルの受信が完了した ファイル受信がエラーにより終了した 1 ファイルの受信が始まった FLKReadStatus()関数でファイル名を取得できます。 ファイル転送バイト数に変化があった FLKReadStatus()関数で転送バイト数を取得できます。 23
1.2.
1.2.
1.2.
1.2.
1.2.
戻り値 :正常終了 FLK_OK FLK_PRM :パラメータエラー :パラメータ以外の異常終了 FLK_NG Device Emulator では、常に FLK_NG を返します。 メッセージ WPARAM FLK_COMMAND_END FLK_COMMAND_ERROR FLK_STATUS_CHANGE1 FLK_STATUS_CHANGE2 内容 相手局から終了指示又は IDLE 通知コマンドを受信した。 エラー発生によりコマンドが終了した。 コマンドに変化があったときに通知されます。 コマンドの内容は、FLKReadStatus 関数で取得できます。 ファイル転送バイト数に変化があった FLKReadStatus 関数で転送バイト数を取得できます。 29
1.2.
1.2.
別ドライブへの移動は出来ません。 32
1.2.
日付時刻を指定しない場合には、datetime 構造体のメンバーの、year に 0xFFFF、 day,month,sec,min,hour に 0xFF を設定してください。 戻り値 :正常終了 FLK_OK FLK_PRM :パラメータエラー :パラメータ以外の異常終了 FLK_NG Device Emulator では、常に FLK_NG を返します。 メッセージ WPARAM FLK_COMMAND_END FLK_COMMAND_ERROR 内容 ディレクトリ作成が正常終了した。 ディレクトリ作成がエラー終了した。 備考 CF、SD カードフォルダを作成する事は出来ません。 HT 対向時のみ有効です。 34
1.2.
1.2.
1.2.
:正常終了 FLK_OK FLK_PRM :パラメータエラー :パラメータ以外の異常終了 FLK_NG Device Emulator では、常に FLK_NG を返します。 メッセージ WPARAM FLK_COMMAND_END FLK_COMMAND_ERROR 内容 正常終了した。 エラー終了した。 38
1.2.
1.2.
備考 ディスク容量が大きい時はプロトコル上、正しいサイズを取得する事ができません。 HT 対向時のみ有効です。 41
1.2.
FLK_COMMAND_ERROR エラー終了した。 備考 設定は、HT 対向時のみ有効です。 43
1.2.
1.2.
1.2.
2. 通信仕様 本ライブラリは、以下の通信ポートをサポートします。 赤外線(IrDA) ○ ○ ○ × × × × シリアル × × ○ × × × × LAN ○ ○ △※ ○ ○ ○ ○ DT-5200 DT-X7 DT-9800 DT-5300 IT-300 DT-X8 IT-9000 ○ 該当デバイス搭載機種 × 該当デバイス非搭載機種 ※ 無線 LAN を内蔵していない機種のため、無線 LAN カードを使用 USB ○ ○ × ○ ○ ○ ○ 2.1 通信構成 本ライブラリでは、以下の構成でのファイル転送機能を提供します。 1. B.S/B.B IOBOX、及び FIVA(MPC701)を使用した IrDA 通信 PC (LMWIN) USB/232C MPC701 IrDAポート (LMWIN) B.S/B.B IOBOX IrDA IrDA HT HT 2. IrDA による本体間通信 HT (FLCE /ユーザ アプリケーション) IrDA HT 3.
4. 無線 LAN/有線 LAN を使用したホスト PC 間通信 PC (LMWIN) LAN PC (LMWIN) LAN 無線 アクセスポイント HUB 無線LAN LAN HT HT 5.
2.2 通信パラメータ 共通パラメータ 以下のパラメータはレジストリにより設定を行います。 セッション確立タイムアウト 受信待ちタイムアウト セッション終了待ち タイムアウト 機能 回線オープン時、セッション確 立までの待ち時間 コマンド/レスポンス受信待ち時 間 終了指示コマンド送信側が、相 手局セッション終了を確認する までの時間 設定範囲 0-3600 秒 デフォルト値 60 秒 0-600 秒 30 秒 0-600 秒 10 秒 ※ レジストリの設定内容は、レジストリの項目を参照してください。 IrDA パラメータ パラメータ 最大通信速度 サポートする値 設定不可 最大通信速度は、システムの設定(レジストリ)によります。 B.S/B.BIOBOX を使用して、Windows98 と通信する場合に設定する パラメータです。 FLCE.
2.
2.4 コマンド送信権 HT モード 1. コマンド送信権モード(HT 側がコマンド指定を行うモード) セッション確立後、HT 側は送信権を有し、PC(PC モードを含む。以後、PC とする)に各コマンドを送信する ことにより、各機能を実現します。この時、PC 側はサーバーモードにする必要があります。 2. アイドルモード(PC 側がコマンド指定を行うモード) 送信権を PC 側に譲渡する場合は IDLE 通知コマンドを送信します。その後、HT は PC からのコマンド受 信待ち状態となります。この時、HT はアイドルモード(FLKIdle 関数)にする必要があります。 実行状態は通信状態取得関数(FLKReadStatus)で取得します。 IDLE 通知コマンド送信の際、PC へスクリプトファイルの指定が行えます。但し、PC モードの HT(FLCE.
2.5 処理概要 以下に各関数内の処理概要及びエラー発生時の処理を示します。 エラー発生時は、直ちに通信を終了します。この場合、送信権の有無に関らず、先にエラーを検出した 側がエラー情報(カテゴリコード・エラー詳細コード)を終了指示コマンドに設定し、相手局へ送信します。 相手局は、受信した終了指示コマンドのエラー情報により、異常終了を検出します。 関数 ファイル送信 ファイル受信 ファイル追加 送信権局の処理 コマンド送信後、指定フ ァイルを順次送信。 コマンド送信後、指定フ ァイルを順次受信。 コマンド送信後、指定フ ァイルを送信。 被送信権局の処理 指定ファイルを順次受信。 指定ファイルを順次送信。 転送ファイルをテンポラリ ファイル (FL.
IDLE 通知 データ転送 (HT モードのみ) コマンドを送信後、 コマンド受信待ちとなる。 データ転送。 (PC モードのみ) コマンド送信権を取得す る。 データ転送要求を受信し たことをアプリケーションに 通知する。 53
3. ファイル送受信基本機能 複数ファイルの送信および受信を行うための、基本機能を提供します。 3.1 通信基本関数 ファイル送受信およびリモート操作関数を使用する際に必要となる基本関数を以下に示します。 通信ポートの初期化(FLKOpen 関数) 通信ポートの初期化を行います。 通信ポート毎のパラメータおよび設定値を以下に示します。 通信速度 データ長 パリティ ストップビット IrDA 設定値なし LAN 接続先 IP アドレ ス USB 設定値なし COM1 FLK_B1200(1200bps)/FLK_B2400(2400bps)/FLK_B19K(19.2kbps) FLK_B38K(38.4kbps)/FLK_B57K(57.6kbps)/FLK_B115K(115.
通信状態の取得(FLKReadStatus 関数) 通信の進捗状態(現在実行中の機能、ファイルの転送バイト数など)を取得できます。 最後に実行したコマンドが終了したか、実行中かを知ることができます。 55
(1) HT コマンド送信による通信 【HT モード基本フロー】 【PC モード基本フロー】 56
(2) PC コマンド送信による通信 【HT モード基本フロー】 57
3.
ファイル送信(FLKFileSend 関数) 複数ファイルの送信を一括して行います。 送信先に指定ディレクトリが存在しない場合は、自動的に作成します。 送信ファイルに対して以下のオプションを選択することができます。 • リードオンリーファイル強制上書きオプション 送信ファイルが、既に受信側にリードオンリーファイルとして存在していた場合、 強制的に上書きすることができます。この指定が無い場合にリードオンリーファイルへの 書き込みを行うと、エラーとなります。 • 再帰呼び出し指定オプション 送信ファイルパス名で指定したディレクトリ傘下のすべてのファイルが転送対象となります。 指定ディレクトリ傘下にサブディレクトリが存在した場合はサブディレクトリ名を付加して ファイルの送信を行います。 (例) [送信ファイル名] “¥SEND¥AAA.DAT” [送信先ディレクトリ名] ”¥RECV¥” (送信側ディレクトリ構成) ¥---SEND¥----SUB1¥-----AAA.DAT | -----SUB2¥-----BBB.DAT | -----AAA.DAT | -----BBB.
• 再帰呼び出し指定オプション 受信ファイルパス名で指定したディレクトリ傘下のすべてのファイルが転送対象となります。 指定ディレクトリ傘下にサブディレクトリが存在した場合はサブディレクトリ名を付加してファイルの受信を 行います。 • ワイルドカードの使用 受信ファイル名にはワイルドカード(*,?)を使用することができます。 アイドル通知(FLKIdle 関数) 相手局側に送信権を渡し、コマンド待ち状態となります。 終了指示コマンドを受信またはエラー発生まで、受信したコマンドを順次実行します。 また、PC のスクリプトファイルの実行を指示することができます。 [IDLE 遷移基本フロー] 相手局からの終了指示コマンド受信またはエラー発生まで、受信コマンドを順次実行する。 必要に応じて相手局からの終了指示コマンド詳細情報(フォーマット指示、リセット指示等)の取得が可能。 60
PC モードコマンド待ち(FLKCmdRecv 関数) HT からのコマンド受信待ち状態となります。PC モードでのみ使用可能です。 セッション確立直後は、HT 側に送信権があるため、PC モードではオープン直後にこの関数を用いてコマ ンド待ちとなる必要があります。 終了指示コマンドか、IDLE 通知コマンドを受信またはエラー発生まで、受信したコマンドを順次実行しま す。 [PC モード時の基本フロー] HT から終了指示コマンドまたは IDLE 通知コマンドを受信するか、エラーが発生するまで、受信コマンドを 順次実行する。 必要に応じて相手局からの終了指示コマンド詳細情報(フォーマット指示、リセット指示等)の取得が可能。 61
3.
システム情報の取得(FLKGetSysInfo 関数) 相手局側のシステム情報の取得を行います。 システム情報の項目は以下の通りです。 • セッション ID(通信時のセッション番号) • プロトコルバージョン(ファイル転送プロトコルのバージョン番号) • 相手局機種コード(HT/PC(AT 互換機)/PC(98 シリーズ)) • OS モデル情報(HT モデル種別/PC の OS 種別) なお、上記情報は回線オープン時のセッション確立直後に相手局より取得します。 画面表示メッセージの送信(FLKMsgSend 関数) 相手局へ画面表示用のメッセージを送信します。 ブザー鳴動要求の送信(FLKBeep 関数) 相手局へブザー鳴動コマンドを送信します。 [リモート操作関数の基本フロー] 63
4.
5. パス名の記述方法 パス名の記述は、対象マシン OS のパス名命名規則に従ってください。 パスを表現する場合、ドライブレターについて以下に従った記述をしてください。 1. HT 上のパス名はドライブレターを用いず、ルートディレクトリから記述してください。 (ホスト PC 用のアップダウンユーティリティから HT 上のファイルまたはディレクトリのパスを指定する場 合も同様です) 2. 通信相手から、ドライブレター付で指定されても、本ライブラリではドライブレターを無視します。 (ルートディレクトリからドライブレターなしで指定されたものと同等に扱われます) 3.
6. レジストリ レジストリに値を書き込むことにより以下の設定を変更することができます。 レジストリは、オープン時に読み込みます。 一部のレジストリは、FLCE.
機種により、名称が全角、半角、スペースの有無があります。 機種名 DT-5200 DT-X7 DT-9800 DT-5300 IT-300 DT-X8 IT-9000 ドライブ D E D E D E D E D E D E D E 名称 CF カード SD カード USBStorage USBStorage メモリ カード SD カード USBStorage SD カード USBStorage SD カード USBStorage SD カード USBStorage SD カード 詳細説明 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は全角、リとカの間は半角スペース SD は半角、カードは全角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) 文字は半角(スペース無し) • レジストリ位置 [HKEY_CURRENT_USER¥Software¥CASIO
カシオ計算機お問い合わせ窓口 製品に関する最新情報 ●製品サポートサイト(カシオペア・ハンディターミナル) http://casio.