Visual Basic .NET

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

コールバック関数の作成

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

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

デリゲートの使用

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

カウント一致の通知

PCOUNTUPCALLBACK

カウンタエラーの通知

PCOUNTERERRORCALLBACK

キャリー/ボローの通知

PCARRYBORROWCALLBACK

タイマーの通知

PTIMERCALLBACK

サンプリング停止の通知

PSAMPLINGSTOPCALLBACK

指定個数サンプリング完了の通知

PSAMPLINGCOUNTCALLBACK

コールバック関数の登録

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

カウント一致の通知

CntCountUpCallbackProc

カウンタエラーの通知

CntCounterErrorCallbackProc

キャリー/ボローの通知

CntCarryBorrowCallbackProc

タイマーの通知

CntTimerCallbackProc

サンプリング停止の通知

CntSamplingStopCallbackProc

指定個数サンプリング完了の通知

CntSamplingCountCallbackProc

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

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

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