CntNotifyTimer


機能

タイマーの通知を設定します。マルチプロセス対応関数です。

書式

Ret = CntNotifyTimer ( Id , TimeValue , hWnd )

引数

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

TimeValue [ VB.NET: Integer ] [ C, C++: unsigned long ] [ C#: uint ] [ Python: ctypes.c_ulong ]
タイマ値をms単位で指定してください。
指定可能範囲:
CNT24-4(PCI)H,CNT24-4D(PCI)H :1<=TimeValue<=200000
サンプリング機能搭載デバイス :1<=TimeValue<=6553

hWnd [ VB.NET: IntPtr ] [ C, C++: HWND ] [ C#: IntPtr ] [ Python: ctypes.wintypes.HANDLE ]
タイマーの通知を受け取るウィンドウハンドルを指定します。ウィンドウハンドルは、VCの場合は、m_hWndで取得できます。
ウインドウメッセージを使用せず、コールバックを使用する場合は0を指定してください。

戻り値

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

定義

意味

CNT_ERR_SUCCESS

0

正常終了

CNT_ERR_SYS_RECOVERED_FROM_STANDBY

7

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

CNT_ERR_DLL_INVALID_ID

10001

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

CNT_ERR_DLL_CALL_DRIVER

10002

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

CNT_ERR_DLL_CREATE_THREAD

10005

スレッドの作成に失敗しました(CreateThread失敗)

CNT_ERR_DLL_HWND

10200

ウィンドウハンドルが指定可能範囲外です

CNT_ERR_SYS_NOT_SUPPORTED

20001

このデバイスではこの関数は使用できません

CNT_ERR_SYS_TIMER_VALUE

20300

タイマ値が設定可能範囲外です

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

説明

・CntResetDeviceを呼び出すと、割り込みは無効になります。

・割り込みが発生すると、指定したウィンドウハンドルに、以下のメッセージがPostMessageされます。

定義

CNTM_TIMER

1140H

メッセージのパラメータである、wParam、lParamには、それぞれ以下の情報が入ります。
※HIWORD、LOWORDは、それぞれ上位ワード、下位ワードを表します。

定義

意味

LOWORD(wParam)

CntInit関数で取得したID

メッセージ処理の記述方法詳細については、各言語のサンプルプログラムを参照してください。

使用例

タイマー通知を100msec単位で設定します。

VB.NET

Dim Ret As Integer
Ret = CntNotifyTimer ( Id , 100 , Handle )
 

C, C++

long Ret;
Ret = CntNotifyTimer ( Id , 100 , m_hWnd );
 

C#

int Ret;
Ret = cnt.CntNotifyTimer ( Id , 100 , Handle );
 

Python

Ret = ctypes.c_long()
handle = ctypes.windll.user32.FindWindowW(0, "割り込み")
Ret.value = ccnt.CntNotifyTimer ( Id , 100 , handle )
 

関連項目

CntStopNotifyTimer CntTimerCallbackProc