Visual C#でご使用の際の注意点

関数仕様

C#用のインターフェースとしてクラスライブラリを提供しています。ドライバーの関数は、クラスライブラリのメソッドから呼び出されます。

クラスライブラリ中のメソッドは、元の関数からプレフィクスを除いた形で定義されています。
元の関数からプレフィクスを除いた名称のメソッドを呼び出してください。

例)TimInit関数の場合
Ret = tim.Init();

 

関数引数、戻り値

関数引数、戻り値の内容はご使用になる開発言語に依存せず共通になります。
詳細は[関数のリファレンス]を参照下さい。

 

コールバック関数使用時の注意点

Visual C#ではコールバック関数によるインターバルタイマイベントの通知を行う場合は、コールバック関数のメモリアドレスを固定するための処理を追加する必要があります。

ここでは、これらの処理のために必要なコード例として、インターバルタイマイベント処理の場合を例として示します。
詳細はサンプルプログラムを参照してください。

■グローバル変数として宣言します。

GCHandle                           gCh;
PTM_INTERVAL_CALLBACK  pdelegate_func;
IntPtr                                pfunc;

■Loadメソッドの中で割り込み処理用デリゲートを初期化し、ガベージコレクションにより破棄されないように参照を追加。

pdelegate_func = new PTM_INTERVAL_CALLBACK(CallBackProc);
gCh= GCHandle.Alloc(pdelegate_func);

■Closedメソッドの中でハンドルを開放します。

gCh.Free();

■関数の固定ポインタを取得します。

pfunc = Marshal.GetFunctionPointerForDelegate(pdelegate_func);

■TimTimerCallBackProcでは取得した固定ポインタを指定します。

Ret = timerw.TimerCallBackProc(Id, pfunc, Temp);