イベントを使用すると、CAN通信でデータ受信した状態をアプリケーションプログラムへ通知することができます。
イベント通知の際に渡されるパラメータによって、どんなイベントが発生したのかを取得し、イベントによって処理を振り分けることができます。
イベントの通知には、次の2種類の方法があります。
ドライバから、Win32APIのPostMessage関数を実行してアプリケーションにメッセージを通知する方法です。
一般的によく使用されるイベント通知方法です。
API-CAN(WDM)では、対応していません。
あらかじめ作成したコールバック関数を登録しておき、通知の際ドライバーは登録された関数を直接呼び出します。
ポインタや関数ポインタの扱いが必要になりますが、コード量が少なくシンプルです。
Windowsメッセージ通知よりも高速に動作し、Windowハンドルを持たないアプリケーション(コンソールアプリケーション等)でも使用できます。
コールバック関数の作成方法
Visual Basic .NET
Visual C#
Visual C++ (MFC)