アナログ出力に関するWindowメッセージ通知のイベント要因を設定します。
Ret = AioSetAoEvent ( Id , hWnd , AoEvent )
Id 
 [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short 
 ]
AioInit 関数で取得したデバイスIDを指定します。
hWnd 
 [ VB.NET: IntPtr ] [ C, C++: HWND ] [ C#: IntPtr ] [ Python: ctypes.wintypes.HANDLE 
 ]
Windowハンドルを指定します。
AoEvent 
 [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long 
 ]
イベント要因を以下の範囲からマクロもしくは数値で指定します。
AoEventはビット単位で以下のような意味を持ち、これらを組み合わせて指定可能です。
デバイスバッファ使用時とユーザーバッファ使用時で使用可能なイベント要因が異なります。
イベント要因  | 
		デバイスバッファ使用時  | 
		ユーザーバッファ使用時  | 
		マクロ  | 
		値  | 
	
○  | 
		○  | 
		AOE_START  | 
		00000002H  | 
	|
○  | 
		○  | 
		AOE_RPTEND  | 
		00000010H  | 
	|
○  | 
		○  | 
		AOE_END  | 
		00000020H  | 
	|
○  | 
		×  | 
		AOE_DATA_NUM  | 
		00000080H  | 
	|
×  | 
		○  | 
		AOE_DATA_TSF  | 
		00000100H  | 
	|
○  | 
		○  | 
		AOE_SCERR  | 
		00020000H  | 
	|
○  | 
		○  | 
		AOE_DAERR  | 
		00040000H  | 
	
指定ジェネレーティング回数出力イベントを使用する場合、AioSetAoEventSamplingTimes関数でイベントを発生させるジェネレーティング回数を設定してください。指定転送数毎イベントを使用する場合、AioSetAoEventTransferTimes関数でイベントを発生させる転送回数を設定してください。
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
戻り値  | 
		内容  | 
	
0  | 
		正常終了  | 
	
7  | 
		スタンバイモードから復帰したため、AioResetDevice関数を実行してください  | 
	
10001  | 
		無効なIDが指定されました  | 
	
10002  | 
		ドライバを呼び出せません  | 
	
20001  | 
		使用しているデバイスではこの関数を使用することができません  | 
	
20002  | 
		デバイスが動作中のため実行できません  | 
	
20003  | 
		他のプロセスがデバイスを使用しているため、実行できません  | 
	
全てのデバイスでAoEvent = 0(イベント未使用)
この関数で設定されたイベント要因は、イベントメッセージルーチンにメッセージとして通知されます。
メッセージの種類は次の通りです。
アナログ出力メッセージ要因  | 
		マクロ  | 
		値  | 
	
AIOM_AOE_START  | 
		1020H  | 
	|
AIOM_AOE_RPTEND  | 
		1021H  | 
	|
AIOM_AOE_END  | 
		1022H  | 
	|
AIOM_AOE_DATA_NUM  | 
		1023H  | 
	|
AIOM_AOE_DATA_TSF  | 
		1027H  | 
	|
AIOM_AOE_SCERR  | 
		1025H  | 
	|
AIOM_AOE_DAERR  | 
		1026H  | 
	
アナログ出力機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。
コールバックルーチン(AioSetAoCallBackProc)との併用はできません。
Ethernetデバイスの場合
    デバイスとの通信が途切れるとプロセスの登録が解除され、イベントが通知されなくなります。
    イベント通知を再び行う場合、本関数で再度設定を行ってしてください。
デバイス動作終了イベント、指定ジェネレーティング回数格納イベントを設定します。
VB.NET  | 
		WndProc使用 Dim Ret As Integer  | 
	
C, C++  | 
		long Ret;  | 
	
C#  | 
		WndProc使用 int Ret;  | 
	
Python  | 
		Ret = ctypes.c_long()  | 
	
AioGetAoEvent AioSetAoEventSamplingTimes AioGetAoEventSamplingTimes
AioSetAoEvent関数で設定したイベント要因が発生すると、イベントメッセージルーチンが呼び出されます。
イベントメッセージルーチンで渡される引数には、3つ重要な値があります。[メッセージ番号]、[デバイスID]、[イベントごとの固有パラメータ]
各引数の詳細は、以下の通りです。
・メッセージ番号 (m.Msgプロパティ/message引数)
アナログ出力メッセージ要因  | 
		マクロ  | 
		値  | 
	
AIOM_AOE_START  | 
		1020H  | 
	|
AIOM_AOE_RPTEND  | 
		1021H  | 
	|
AIOM_AOE_END  | 
		1022H  | 
	|
AIOM_AOE_DATA_NUM  | 
		1023H  | 
	|
AIOM_AOE_DATA_TSF  | 
		1027H  | 
	|
AIOM_AOE_SCERR  | 
		1025H  | 
	|
AIOM_AOE_DAERR  | 
		1026H  | 
	
・デバイスID (m.WParamプロパティ/wParam引数)
同一PC上で複数デバイスを利用している場合、イベントメッセージルーチン内でデバイスIDを判別することで、イベントを発生させたデバイスが特定してください。
単一デバイスのみを利用している場合は、イベントメッセージルーチン内でデバイスIDを判別する必要はありません。
[メッセージ番号]と[イベントごとの固有パラメータ]とで、イベントメッセージルーチン内の処理を行うことができます。
・イベントごとの固有パラメータ (m.LParamプロパティ/lParam引数)
イベント要因  | 
		パラメータ  | 
	
DA変換開始条件成立イベント  | 
		なし  | 
	
リピート終了イベント  | 
		現在のリピート回数  | 
	
デバイス動作終了イベント  | 
		現在のジェネレーティング回数  | 
	
指定ジェネレーティング回数出力イベント  | 
		現在のジェネレーティング回数  | 
	
指定転送数毎イベント  | 
		現在の転送回数  | 
	
ジェネレーティングクロック周期エラーイベント  | 
		現在のジェネレーティング回数  | 
	
DA変換エラーイベント  | 
		現在のジェネレーティング回数  | 
	
イベントメッセージルーチン処理の記述方法は、利用している開発言語によって異なります。
以下に、イベントメッセージルーチンをオーバーライドする方法と、引数の概略を示します。
詳細は、Microsoft社から提供されているドキュメントを参照ください。
Visual Basic .NET使用時のイベントメッセージルーチン(WndProc使用)
オーバーライド方法
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
引数System.Windows.Forms.Message構造体の以下の3つのプロパティを参照ください。
m.Msg:メッセージ番号が渡されます。
m.WParam:下位2バイトにデバイスIDが渡されます。上位2バイトは現在使用しません。
m.LParam:イベントごとに固有のパラメータが渡されます。
Visual C# .NET使用時のイベントメッセージルーチン(WndProc使用)
オーバーライド方法
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, 
 Name="FullTrust")]
protected override void WndProc (ref Message m)
引数Message構造体内の以下の3つのプロパティを参照ください。
 
m.Msg:メッセージ番号が渡されます。
m.WParam:下位2バイトにIDが渡されます。上位2バイトは現在使用しません。
m.LParam:イベントごとに固有のパラメータが渡されます。
Visual C++使用時のイベントメッセージルーチン
オーバーライド方法
LRESULT CVC6Dlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam);
DefWindowsProcメッセージルーチンの3つの引数を参照ください。
各引数の詳細は、以下の通りです。
message:メッセージ番号が渡されます。
wParam:下位2バイトにIDが渡されます。上位2バイトは現在使用しません。
lParam:イベントごとに固有のパラメータが渡されます。