CanNotifyEvent


機能

受信データがある場合に通知します。

書式

Ret = CanNotifyEvent ( Id , ChannelNo , EventType , CallBackProc , Param)

引数

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

ChannelNo [ VB.NET: UShort ] [ C, C++: unsigned short ] [ C#: ushort ] [ Python: ctypes.c_ushort ]
チャネル番号を指定します。

EventType [ VB.NET: UShort ] [ C, C++: unsigned short ] [ C#: ushort ] [ Python: ctypes.c_ushort ]
イベントタイプを指定します。

定義


[Hex]

意味

CCAN_EVENT_RECEIVE

0x01

受信イベント

CallBackProc [ VB.NET: IntPtr ] [ C, C++: PCAN_EVENT_CALLBACK ] [ C#: IntPtr ] [ Python: PCAN_EVENT_CALLBACK ]
コールバック関数ポインタを指定します。

Param [ VB.NET: IntPtr ] [ C, C++: void * ] [ C#: void * ] [ Python: ctypes.c_void_p ]
コールバック用追加パラメータを指定します。

戻り値

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

定義

戻り値
[Dec]

内容

CAN_ERR_SUCCESS

0

正常終了

CAN_ERR_SYS_RECOVERED_FROM_STANDBY

7

スタンバイモードから復帰したため、CanResetDevice関数を実行してください

CAN_ERR_DLL_INVALID_ID

10001

無効なIDが指定されました。

CAN_ERR_DLL_CALL_DRIVER

10002

ドライバーを呼び出せません(デバイスI/Oコントロールに失敗)。

CAN_ERR_DLL_EVENT_TYPE

10300

イベントタイプが指定可能範囲外です。

CAN_ERR_SYS_CH_NO

20101

チャネル番号が設定可能範囲外です

その他のエラー(参照:エラーコード詳細

初期値

なし

説明

この関数を使用してコールバック関数の登録を行うことで、イベントが発生した際にコールバック関数が呼び出されます。

使用例

ChannelNo = 1に、メッセージ受信(CCAN_EVENT_RECEIVE)した際、呼び出されるコールバック関数を登録します。

VB.NET

Visual Basic .NET 使用時の注意点 をご参照ください。
 

C, C++

long Ret;
Ret = CanNotifyEvent ( Id , 1 , CCAN_EVENT_RECEIVE , CallBackProc , NULL );
 

C#

Visual C# 使用時の注意点 をご参照ください。
 

Python

Ret = ctypes.long()
Ret.value = ccan.CanNotifyEvent ( Id , 1 , ccan.CCAN_EVENT_RECEIVE , CallBackProc , 0 )

関連項目

CanStopNotifyEvent


コールバック関数

書式

void CallBackProc ( Id , wParam , lParam , Param )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
イベント通知の対象となるデバイスIDが、ドライバーから渡されます。

wParam [ VB.NET: Integer ] [ C, C++: WPARAM ] [ C#: int ] [Python: ctypes.wintypes.WPARAM]
ドライバーからパラメータが渡されます。

定義


[Dec]

意味

CCAN_EVENT_RECEIVE

0x01

受信イベント

lParam [ VB.NET: Integer ] [ C, C++: LPARAM ] [ C#: int ] [Python: ctypes.c_int]
受信データあるチャネル番号が渡されます。

Param [ VB.NET: IntPtr ] [ C, C++: void * ] [ C#: void * ] [Python: ctypes.c_void_p]
CanNotifyEvent 関数で指定したパラメータが渡されます。
パラメータにNULLが指定された場合、ここにはNULLが格納されます。

戻り値

なし