Visual Basic .NET

コールバックルーチンの作成

コールバック関数の作成

コールバック関数は次の書式になります。関数名は任意です。

Protected Sub CallBackProc(ByVal Id As Short, ByVal Message As Short, ByVal wParam As Integer, ByVal lParam As Integer, ByVal Param As IntPtr)

デリゲートの使用

Visual Basicで関数ポインタを扱うには、デリゲートを使用します。
各コールバックルーチン用のデリゲート宣言は、CDIO.vbファイル中に記述されています。

アナログ入力

PAICALLBACK

アナログ出力

PAOCALLBACK

カウンタ

PCNTCALLBACK

タイマ

PTMCALLBACK

コールバック関数の登録

コールバック関数の登録には以下の関数を使用します。

アナログ入力

AioSetAiCallBackProc

アナログ出力

AioSetAoCallBackProc

カウンタ

AioSetCntCallBackProc

タイマ

AioSetTmCallBackProc

コールバック関数登録の流れ

・デリゲートの初期化
・ガベージコレクション対策のため、割り込み処理用デリゲートに対するGCHandleを取得
・割り込み処理用デリゲートの固定ポインタを取得
・取得した固定ポインタを AioSetAiCallBackProc関数等のコールバック関数登録用関数で登録
・割り込み処理用デリゲートに対するGCHandleが必要なくなった時点で解放(アプリケーション終了時など)

これらの具体的なコーディング内容につきましては、サンプルプログラムおよび、Visual Basic .NET 使用時の注意点をご参照ください。