非同期イベント通知の概要

NI-488.2

非同期イベント通知の概要

NI-488.2アプリケーションは、ibnotify関数を使って、イベント通知を非同期で受信することができます。この関数は、1つまたは複数のGPIBイベントの発生を非同期でアプリケーションに通知したい場合に使用します。たとえば、GPIBデバイスがサービスを要求しているときだけにアプリケーションがGPIBデバイスと通信する必要がある場合などに、ibnotifyを使用します。ibnotifyをコールた後は、アプリケーションでGPIBデバイスの状態をチェックする必要はありません。GPIBデバイスがサービスを要求すると、NI-488.2ドライバは自動的にコールバック関数を呼び出すことによって、そのイベントの発生をアプリケーションに通知します。コールバック関数は、ibnotifyコールが行われたときにNI-488.2ドライバに登録されます。

NI-488.2ドライバはボードレベルとデバイスレベルのibnotifyコールの両方をサポートします。デバイスレベルのコールを使うときは、udのデバイスハンドルとRQS、CMPL、END、またはTIMOのmaskを指定してibnotifyをコールします。ボードレベルのコールを使うときは、udのボードハンドルおよび、RQS以外のmaskを指定してibnotifyをコールします。ibnotifyマスクビットはibwaitマスクビットとまったく同じです。GPIBデバイスがサービスを要求するまで待つ例では、RQS(デバイスレベル)またはSRQI(ボードレベル)のmaskibnotifyに渡すことができます。ibnotifyに渡されたマスクビットの1つ以上がTRUEの場合に、ibnotifyコールで登録されたコールバック関数がNI-488.2ドライバによって呼び出されます。

使用方法についての詳細は、ibnotifyの使用またはGpibNotifyの使用の項目を参照してください。ibnotifyについての詳細は、ibnotify関数の定義を参照してください。GpibNotify OLEコントロールについての詳細は、GpibNotify関数の定義を参照してください。