GpibSetNotifySignal


機能

任意のシグナルを設定し、設定したシグナルに変化があった場合に直ちにアプリケーションにイベントで通知します。

書式

Ret = GpibSetNotifySignal (  Id, hWnd, NotifySignalMask )

引数

Id [ VB.NET: Short ][ C, C++: short ][ C#: short ]

DevIDまたはEqpIDを指定します。

どちらを指定しても動作は変わりません。

 

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

SRQ送出後のシリアルポール終了を検出

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