コールバックルーチンの作成
コールバック関数の作成
コールバック関数は次の書式になります。関数名は任意です。
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 使用時の注意点をご参照ください。