SmcWIrqEvent


機能

拡張イベントを設定します。

書式

Ret = SmcWIrqEvent( Id , AxisNo , hWnd , EventMode , EventType )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
SmcWInit 関数で取得したデバイスIDを指定します。

AxisNo [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
軸番号を指定します。

hWnd [ VB.NET: IntPtr ] [ C, C++: HWND ] [ C#: IntPtr ] [ Python: ctypes.wintypes.HANDLE ]
イベントを発行するウィンドウのハンドルを設定してください。

EventMode [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
イベントの有効/無効を設定してください。

0

イベントを無効

1

イベントを有効

EventType [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
イベントを発行する拡張イベントを設定してください。

0

LTC入力によるカウントのラッチ時にイベント発生(LTC入力イベント)

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

0

正常終了

0以外

異常終了

参照:エラーコード詳細

説明

EventTypeに指定した要因が発生した場合にイベントが発行されます。

イベント発生関数は1度実行すれば、その後要因が発生する度にイベントが発生します。
イベントを停止させる目的以外で、複数回実行する必要はありません。

メッセージ番号は固定です。
LTC入力イベント発生時には、指定したウィンドウハンドルにメッセージ番号「8704H」のメッセージがPostMessageされます。
メッセージのパラメータである、wParam、lParamには、それぞれ以下の情報が入ります。

LOWORD(wParam)=SmcWInit関数で取得したID
LOWORD(lParam)=軸番号
※HIWORD、LOWORDは、それぞれ上位ワード、下位ワードを表します。

SMC-2/4/8DL シリーズ使用時、
LTC入力イベント発生には、SmcWSetCounterModeでラッチするカウンタを設定する必要があります。(LtcMode=0以外)

使用例

軸番号1に対してLTC入力イベントを設定します。

VB.NET
Dim Ret As Integer
Ret = SmcWIrqEvent( Id , 1 , Handle , 1 , 0)

C, C++
long Ret;
Ret = SmcWIrqEvent( Id , 1 , hWnd , 1 , 0);

C#
int Ret;
Ret = Smc.WIrqEvent( Id , 1 , hWnd , 1 , 0);

Python
Ret = ctypes.c_long()
Ret.value = csmc.SmcWIrqEvent( Id , 1 , hWnd , 1 , 0)