機能
任意のシグナルを設定し、設定したシグナルに変化があった場合に直ちにアプリケーションにイベントで通知します。
書式
Ret = GpibSetNotifySignal ( Id, hWnd, NotifySignalMask )
引数
Id [ VB.NET: Short ][ C, C++: short ][ C#: short ]
どちらを指定しても動作は変わりません。
hWnd [ VB.NET: Integer ][ C, C++: HANDLE ][ C#: uint ]
ウィンドウハンドルを指定します。VBの場合はCMessage.ocxのハンドルを指定します。
NotifySignalMask [ VB.NET: Integer ][ C, C++: unsigned long ][ C#: uint ]
シグナルをマスク値で設定します。複数シグナルを指定した場合には、一つでも変化があった場合にイベントが発生します。
イベントをキャンセルする場合は0を設定します。
マスタ(システムコントローラ)の場合:
マスクビット位置 |
16進値 |
説明 |
6 ~ 31 |
-- |
予約 |
5 |
20 |
SRQ受信を検出 |
0 ~ 4 |
-- |
予約 |
スレーブ(非コントローラ)の場合:
マスクビット位置 |
16進値 |
説明 |
10 ~ 31 |
-- |
予約 |
9 |
200 |
IFC受信を検出 |
8 |
100 |
|
7 |
80 |
ローカルロックアウトの変化を検出 |
6 |
40 |
リモート・ローカルの変化を検出 |
5 |
-- |
予約 |
4 |
10 |
デバイストリガ受信を検出 |
3 |
8 |
デバイスクリア受信を検出 |
2 |
4 |
データ受信を検出 |
1 |
2 |
リスナ指定を検出 |
0 |
1 |
トーカ指定を検出 |
イベントの引数
wParam [ VB.NET: Integer ][ C, C++: unsigned long ][ C#: uint ]
シグナルの有効になっているビットを取得します。
マスタ(システムコントローラ)の場合:
マスクビット位置 |
16進値 |
説明 |
6 ~ 31 |
-- |
予約 |
5 |
20 |
SRQ受信を検出 |
0 ~ 4 |
-- |
予約 |
スレーブ(非コントローラ)の場合:
マスクビット位置 |
16進値 |
説明 |
10 ~ 31 |
-- |
予約 |
9 |
200 |
IFC受信を検出 |
8 |
100 |
SRQ送出後のシリアルポール終了を検出 |
7 |
80 |
ローカルロックアウトの変化を検出 |
6 |
40 |
リモート・ローカルの変化を検出 |
5 |
-- |
予約 |
4 |
10 |
デバイストリガ受信を検出 |
3 |
8 |
デバイスクリア受信を検出 |
2 |
4 |
データ受信を検出 |
1 |
2 |
リスナ指定を検出 |
0 |
1 |
トーカ指定を検出 |
(NotifySignalMaskで設定していないビットが有効になる場合がありますが、これは正常です。有効状態を確認する場合は、該当ビットのみ確認してください。 )
lParam [ VB.NET: Integer ][ C, C++: unsigned long ][ C#: uint ]
シグナル情報以外で必要となる情報を取得します。
マスクビット位置 |
16進値 |
Data |
説明 |
4 ~ 31 |
-- |
-- |
予約 |
3 |
8 |
0 : 未ローカルロックアウト 1 : ローカルロックアウト |
ローカルロックアウトの状態 |
2 |
4 |
0 : ローカル 1 : リモート |
リモート・ローカルの状態 |
1 |
2 |
0 : 未リスナ 1 : リスナ |
リスナ指定の状態 |
0 |
1 |
0 : 未トーカ 1 : トーカ |
トーカ指定の状態 |
戻り値
Ret [ VB.NET: Integer ][ C, C++: long ][ C#: int ]
0 |
正常終了 |
10001 |
無効なIDが指定された |
10002 |
ドライバを呼び出せません |
15674 |
Eventオブジェクトの生成に失敗しました |
初期値
hWnd |
0 |
ウィンドハンドル |
NotifySignalMask |
0 |
シグナルマスク |
説明
使用例
関連項目
GpibGetNotifySignal, GpibSetNotifyMessage