イベントの使用

イベントを使用すると、デバイス動作中に発生した様々な状態(変換終了、エラー発生など)をアプリケーションプログラムへ通知することができます。

イベント通知の際に渡されるパラメータによって、どんなイベントが発生したのかを取得し、イベントによって処理を振り分けることができます。

イベントの通知には次の2種類の方法があります。

 

メッセージ通知

デバイスドライバから、Win32APIのPostMessage関数を実行してアプリケーションにメッセージを通知する方法です。
一般的によく使用されるイベント通知方法です。
通知の際にコールされるハンドラの作成方法は、使用する開発言語によって異なります。
Windowハンドルを持たないアプリケーション(コンソールアプリケーション等)では使用できません。

イベントメッセージルーチンの作成方法
Visual Basic .NET
Visual C#
Visual C++ (MFC)

 

コールバック関数

あらかじめ作成したコールバック関数を登録しておき、通知の際デバイスドライバは登録された関数を直接呼び出します。
ポインタや関数ポインタの扱いが必要になりますが、コード量が少なくシンプルです。
Windowsメッセージ通知よりも高速に動作し、Windowハンドルを持たないアプリケーション(コンソールアプリケーション等)でも使用できます。

コールバック関数の作成方法
Visual Basic .NET
Visual C#
Visual C++ (MFC)
Python

 

コールバック関数内の処理は簡素にし、すぐにOSへ処理を戻すようにしてください。
特に、USBデバイスを利用する場合、コールバック処理中は各ステータスが更新されません。あらかじめ、ご了承願います。

  ボードデバイス USBデバイス
デバイスステータス
AioGetAiStatus
AioGetAoStatus
AioGetCntStatus
 
常に更新されます ステータスは更新されません
エラーステータス
 
常に更新されます ステータスは更新されません
サンプリング回数
AioGetAiSamplingCount
AioGetAiSamplingData
常に更新されます サンプリング回数は更新されません