DioNotifyInterrupt関数で設定した割り込み監視によりイベントが発生した場合に呼び出されるコールバック関数を登録します。
Ret = DioSetInterruptCallBackProc ( Id , CallBackProc , Param )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
DioInitで取得したデバイスIDを指定します。
CallBackProc
[ VB.NET: IntPtr ] [ C, C++: long * ] [ C#: IntPtr ] [ Python: ctypes.POINTER(ctypes.c_long)
]
コールバック関数のアドレスを指定します。
NULLを指定するとコールバックによる通知設定をクリアします。
Param
[ VB.NET: IntPtr ] [ C, C++: void * ] [ C#: void * ] [ Python: ctypes.c_void_p
]
コールバックに渡すパラメータのアドレスを指定します。パラメータが必要ない場合は、NULLを指定してください。
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_SYS_RECOVERED_FROM_STANDBY |
7 |
スタンバイモードから復帰したため、DioResetDevice関数を実行してください |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
ドライバーを呼び出せません(デバイスI/Oコントロールに失敗)。 |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません。 |
その他のエラー(参照:エラーコード詳細)
この関数を使用してコールバック関数の登録を行うことで、割り込みイベントが発生した際にコールバック関数が呼び出されます。
コールバック関数の動作はイベントと似ていますが、イベントと異なりウィンドウハンドルを必要としないため、ウィンドウを持たないアプリケーションでも使用できます。
この関数は、DioNotifyInterrupt関数で設定した割り込み通知をコールバックにより行いたいときに使用します。
そのため、あらかじめDioNotifyInterrupt関数を使用して割り込み通知条件を設定しておく必要があります。
DioNotifyInterrupt関数用コールバック関数を登録します。
VB.NET |
VisualBasic.NETでご使用の際の注意点を参照してください。 |
C, C++ |
long Ret; |
C# |
VisualC#.NETでご使用の際の注意点を参照してください。 |
Python |
Ret = ctypes.c_long() |
void CallBackProc ( Id , wParam , lParam , Param )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
DioInit関数で取得したIDが渡されます。
wParam
[ VB.NET: Integer ] [ C, C++: WPARAM ] [ C#: int ] [ Python: ctypes.wintypes.WPARAM
]
ドライバーからパラメータが渡されます。現在は使用しません。
lParam
[ VB.NET: Integer ] [ C, C++: LPARAM ] [ C#: int ] [ Python: ctypes.wintypes.LPARAM
]
LOWORD(lParam)=割り込みビット番号
HIWORD(lParam)=立ち上がり:1、立ち下がり:2
※HIWORD、LOWORDは、それぞれ上位ワード、下位ワードを表します。
Param
[ VB.NET: IntPtr ] [ C, C++: void * ] [ C#: void * ] [ Python: ctypes.c_void_p
]
DioSetInterruptCallBackProc関数に指定したパラメータが渡されます。
パラメータにNULLが指定された場合、ここにはNULLが格納されます。
なし