AioGetCntEvent


機能

カウンタに関するWindowメッセージ通知のイベント要因を取得します。

書式

Ret = AioGetCntEvent ( Id , CntChannel , hWnd , CntEvent )

引数

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

CntChannel [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
カウンタのチャネルを設定します。

hWnd [ VB.NET: IntPtr ] [ C, C++: HWND * ] [ C#: out IntPtr ] [ Python: ctypes.POINTER(ctypes.wintypes.HANDLE) ]
Windowハンドルを格納する変数のアドレスを指定します。
ハンドルを取得する必要がない場合は、NULLを指定してください。

CntEvent [ VB.NET: Integer ] [ C, C++: long * ] [ C#: out int ] [ Python: ctypes.POINTER(ctypes.c_long) ]
イベント要因を格納する変数のアドレスを指定します。
CntEventはビット単位で以下のような意味を持ちます。

イベント要因

マクロ

比較カウント一致イベント

CNTE_DATA_NUM

00000010H

カウントオーバーランイベント

CNTE_ORERR

00010000H

カウンタ動作エラー

CNTE_ERR

00020000H

戻り値

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

戻り値

内容

0

正常終了

7

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

10001

無効なIDが指定されました
関数に指定するIDは、AioInitで取得したIDを使用してください。

10002

ドライバを呼び出せません
始めにAioInit関数を実行しください。

15090

CntChannelの値が関数の指定範囲外です

15091

CntEventのポインタがNULLです
パラメータには変数のアドレスを指定してください。

20001

使用しているデバイスではこの関数を使用することができません

20002

デバイスが動作中のため実行できません
この関数を使用するには、カウンタ動作が停止している必要があります。

20003

他のプロセスがデバイスを使用しているため、実行できません
他のプロセスがデバイスを使用しているときは、マルチプロセス対応関数以外実行できません。

25090

CntChannelの値がデバイスの指定範囲外です

初期値

全てのデバイスでCntEvent = 0

説明

カウンタ機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。

使用例

チャネル0に設定されているイベント要因を取得します。

VB.NET

Dim Ret As Integer
Dim hWnd As IntPtr
Dim CntEvent As Integer
Ret = AioGetCntEvent ( Id , 0 , hWnd , CntEvent )
 

C, C++

long Ret;
HWND hWnd;
long CntEvent;
Ret = AioGetCntEvent ( Id , 0 , &hWnd , &CntEvent );
 

C#

int Ret;
IntPtr hWnd;
int CntEvent;
Ret = aio.GetCntEvent ( Id , 0 , out hWnd , out CntEvent );
 

Python

Ret = ctypes.c_long()
handle = ctypes.windll.user32.FindWindowW(0, "割り込み")
CntEvent = ctypes.c_long()
Ret.value = caio.AioGetCntEvent ( Id , 0 , ctypes.byref(handle) , ctypes.byref(CntEvent) )
 

関連項目

AioSetCntEvent