CASSIOPEIA DT-5100 シリーズ .NET ライブラリマニュアル 【概要編】 Ver 3.
変 更 履 歴 No Revision 更新日 項 1 1.00 03/1/20 初版 2 3.00 05/03/15 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 改訂内容 初版発行 カシオライブラリマニュアル(.
目次 1 概要 .................................................................................................................................................................................1 1.1 1.2 2 カシオライブラリ.......................................................................................................................................................1 提供ファイルの構成 .............................................................................................................................................
DT-5100 .NET ライブラリマニュアル 【概要編】 1 概要 本マニュアルは DT-870/5100 用に、 C#.NET および VB.NET 言語を使ってアプリケーションを開発する場合に、 カシオライブラリを利用できるように、WindowsCE .NET コンパクトフレームワークに対応した C#.NET およ び VB.NET 用のクラスライブラリを提供する方法について述べたものです。 1.1 カシオライブラリ 今回対象となる DT-870/5100 カシオライブラリの構成と機種対応を以下に示します。 ライブラリ名 構成 関数の数 DT-870 DT-5100 システムライブラリ Clibsys.lib Clibsys.dll Clibsys.h 34 ○ ○ OBR ライブラリ LCUDRV.lib LCUDRV.dll OBRREQ.h 55 2D スキャナライブラリ TDdecodece.dll TDdecodece.lib TDdecodece.h 92 ○ Bluetooth ライブラリ BTLib.lib BTLib.dll BTLib.
DT-5100 .NET ライブラリマニュアル 【概要編】 1.2 提供ファイルの構成 各ソフトウェアの関連図を下図に示します。 カシオライブラリ(DLL 内の関数)の呼び出しは、VB 用、C#用のラッパー関数を介して「プラットフォー ム呼び出しし(PInvoke:Platform Invocation Service)」で行います。プラットフォーム呼び出しは DLL から エクスポートされる関数を呼び出す汎用的なメカニズムです。 ラッパー関数はコンパクトフレームワークからカシオライブラリを呼び出すコードを記述し、アプリケーシ ョンがカシオライブラリDLLを利用できるように抽象化された関数インターフェースを提供し、コンパクト フレームのワーククラスライブラリコンポーネントとして位置づけられます。※ VB.NET アプリケーション (IL) C#.NET アプリケーション (IL) カシオライブラリ VB 用ラッパー関数クラスライブラリ カシオライブラリ C#用ラッパー関数クラスライブラ リ コンパクトフレームワーク (CLR+クラスライブラリ) システム ライブラリ (Clibsys.
DT-5100 .NET ライブラリマニュアル 【概要編】 2 CE.NET 用クラスライブラリ 2.1 機能 VisualStudio .NET 上で、C#.NET および VB.NET によるアプリケーション開発(ビルド)においてカシオライ ブラリを利用できるようにコンパクトフレームワーク用のクラスライブラリを提供します。 各関数の機能は ・DT-870 各ライブラリマニュアル ・DT-5100 各ライブラリマニュアル を参照してください。 2.2 開発環境 ・Microsoft Visual Studio .NET 2003 2.3 提供ファイル 2.3.1 C#.NET 用クラスライブラリ C#.NET でアプリケーションを開発する場合に各ライブラリ関数呼び出しの引数と戻り値の調整を行います。 ・ClbSysCs.dll システムライブラリ用クラスライブラリ ・LCUDRVCs OBR ライブラリ用クラスライブラリ ・TDDecodeceCs.dll 2D スキャナ用クラスライブラリ ・BTLibCs.dll Bluetooth ライブラリ用クラスライブラリ ・LDTBCDCs.
DT-5100 .NET ライブラリマニュアル 【概要編】 2.4 使用方法 各ライブラリ関数を C#.NET および VB.NET から利用するには、プロジェクトを作成し、使用したいライブラリのク ラスライブラリをソリューションエクスプローラ内の「参照設定」に追加します。 下図は VB.NET でカシオライブラリを利用する例です。 C#.NET の場合も同様に C#.NET 用のクラスライブラリ を参照設定に追加します。 なお、プログラムコーディング例、各クラスライブラリインターフェイスは、(ライブラリマニュアル for C#.NET)お よび(ライブラリマニュアル for VB.
DT-5100 .NET ライブラリマニュアル 【概要編】 3 C#.NET 用クラスライブラリ 3.1 C#.NET 用クラスライブラリの機能 C#.NET 用クラスライブラリが提供するラッパー関数は以下の処理を行います。 1) アプリケーションから受け取った引数をエクスポート関数用に変換します。 2) エクスポート関数を呼び出します。 3) エクスポート関数の戻り値をアプリケーション用に変換します。 4) 戻り値を設定してアプリケーションに制御を戻します。 dll_func アプリケーション 引数の変換 xxx dll_func( p1); 実関数呼び出し 戻り値の変換 retrn xxx 3.2 ラッパーにおける DLL 関数を呼び出し方の記述 ソースコードの先頭に以下の記述を行います。 using System.Runtime.InteropServices; 3.3 エクスポート関数の宣言 DLL からエクスポートされる関数を利用するために以下の記述をします。 [DllImport( “user.
DT-5100 .NET ライブラリマニュアル 【概要編】 3.4 カシオライブラリと C#での関数引数の対応表 カシオライブラリ関数に渡す引数の対応を表にしたものを以下に示します。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 カシオライブラリの引数 void char (8 ビット符号付き) C#呼び出し時の引数 void sbyte (8 ビット符号付き) BYTE (8 ビット符号なし) TCHAR (16 ビット) Short (16 ビット符号付) WORD (16 ビット符号なし) Int (32 ビット符号付) Long (32 ビット符号付) DWORD (32 ビット符号なし) struct _bbb{ ... } bbb char* BYTE* TCHAR* short* WORD* int* long* DWORD* struct _bbb{ ...
DT-5100 .NET ライブラリマニュアル 【概要編】 3.
DT-5100 .NET ライブラリマニュアル 【概要編】 3.6 C#.NET アプリケーションでの使用例 カシオライブラリのシステムライブラリ関数を利用する場合のサンプルを以下に示します。 アプリケーション作成時に提供クラスライブラリファイル(CalibCs.dll)をプロジェクトに追加します。 アプリケーション側の記述例 using System; using CalibCs; namespace ClbsysSmp1 { ・・・・・・・・・・・・・・・・・ public class CeApiSample { public void ApiCe1( ) { uint a1 = new uint(); // Wakeup 要因による電源許可禁止の取得 // BOOL CLBGetBootableButtons( DWORD * ) bool x2 = ClbSysCs.CLBGetBootableButtons( ref a1 ); // 左トリガーキーによる電源 ON は有効に uint a2 = (a1 | (uint)ClbSysCs.
DT-5100 .NET ライブラリマニュアル 【概要編】 ClbsysCs.cs の内容 using System; using System.Windows.Forms; using System.Runtime.InteropServices; namespace ClbsysCs { /// /// Summary description for ClbsysCs.
DT-5100 .NET ライブラリマニュアル 【概要編】 4 VB.NET 用クラスライブラリ開発 4.1 VB.NET 用クラスライブラリの機能 VB.NET 用クラスライブラリが提供するラッパー関数は以下の処理を行います。 5) アプリケーションから受け取った引数をエクスポート関数用に変換します。 6) エクスポート関数を呼び出します。 7) エクスポート関数の戻り値をアプリケーション用に変換します。 8) 戻り値を設定してアプリケーションに制御を戻します。 アプリケーション dll_func 引数の変換 xxx dll_func( p1); 実関数呼び出 戻り値の変 retrn xxx 4.2 ラッパーにおける DLL 関数を呼び出し方の記述 ソースコードの先頭に以下の記述を行います。 import System.Runtime.InteropServices 4.
DT-5100 .NET ライブラリマニュアル 【概要編】 4.3.1 VB.
DT-5100 .NET ライブラリマニュアル 【概要編】 4.3.
DT-5100 .NET ライブラリマニュアル 【概要編】 16 int* 17 long* 18 DWORD* 19 構造体* ※ Dim ptr As IntPtr Dim dat As Int32 ptr = function() dat=Marshal.ReadInt32(ptr) Dim ptr As IntPtr Dim dat As Int32 ptr = function() dat=Marshal.ReadInt32(ptr) Dim ptr As IntPtr Dim dat As UInt32 Dim dmy() as UInt32 ptr = function() Marshal.Copy(ptr,dat,0,1) dat = dmy(0) Dim ptr As IntPtr Dim stc As struct1 ptr = function() stc = Marshal.
DT-5100 .NET ライブラリマニュアル 【概要編】 4.4 VB.NET アプリケーションでの使用例 カシオライブラリのシステムライブラリ関数を利用する場合のサンプルを以下に示します。 アプリケーション作成時に提供ソースファイル(VBClibsys.vb)を組み込む。 VBClibsys.vb の内容 Imports System.Runtime.
DT-5100 .NET ライブラリマニュアル 【概要編】 DT-5100 .NET ライブラリマニュアル 【概要編】 Ver3.