アナログ出力に関するイベントが発生した際に呼び出されるコールバック関数を登録します。
Ret = AioSetAoCallBackProc ( Id , CallBackProc , AoEvent , Param)
Id 
 [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] 
 [ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。
CallBackProc 
 [ VB.NET: IntPtr ] [ C, C++: long * ] [ C#: IntPtr 
 ] [ Python: ctypes.POINTER(ctypes.c_long) ]
コールバック関数のアドレスを指定します。
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関数でイベントを発生させるジェネレーティング回数を設定してください。
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 ]
戻り値  | 
		内容  | 
	
0  | 
		正常終了  | 
	
7  | 
		スタンバイモードから復帰したため、AioResetDevice関数を実行してください  | 
	
10001  | 
		無効なIDが指定されました  | 
	
10002  | 
		ドライバを呼び出せません  | 
	
20001  | 
		使用しているデバイスではこの関数を使用することができません  | 
	
20002  | 
		デバイスが動作中のため実行できません  | 
	
20003  | 
		他のプロセスがデバイスを使用しているため、実行できません  | 
	
この関数を使用してコールバック関数の登録を行うことで、デバイスで何らかのイベントが発生した際にコールバック関数が呼び出されます。
コールバック関数の動作はイベントと似ていますが、イベントと異なりウィンドウハンドルを必要としないため、ウィンドウを持たないアプリケーションでも使用できます。
アナログ出力機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。
Windowメッセージ通知(AioSetAoEvent)との併用はできません。
AioStopAo関数を実行した時には、コールバック関数は呼ばれません。
コールバックルーチン内では、デバイスの動作を開始・停止する関数を実行することはできません。
デバイス動作終了、指定ジェネレーティング回数出力イベント要因でコールバック関数を登録します。
VB.NET  | 
		VisualBasic.NETでご使用の際の注意点を参照してください。 
  | 
	
C, C++  | 
		long 
		 Ret;  | 
	
C#  | 
		VisualC#.NETでご使用の際の注意点を参照してください。  | 
	
Python  | 
		Ret 
		 = ctypes.c_long()  | 
	
Ret = CallBackProc ( Id , Message , wParam , lParam , Param )
Id 
 [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] 
 [ Python: ctypes.c_short ]
AioInit 関数で取得したIDが渡されます。
Message 
 [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: 
 ctypes.c_short ]
コールバック関数呼び出しの原因となるメッセージ番号が渡されます。
メッセージ番号は、以下のいずれかの値です。
アナログ出力メッセージ要因  | 
		マクロ  | 
		値  | 
	
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  | 
	
wParam 
 [ VB.NET: Integer ] [ C, C++: WPARAM ] [ C#: int ] [ Python: ctypes.wintypes.WPARAM 
 ][ C, C++: long ] [ Python: ctypes.c_long ]
デバイスドライバからパラメータが渡されます。現在は使用しません。
lParam 
 [ VB.NET: Integer ] [ C, C++: LPARAM ] [ C#: int ] [ Python: ctypes.wintypes.LPARAM 
 ][ C, C++: long ] [ Python: ctypes.c_long ]
イベントごとに固有のパラメータが渡されます。
イベント要因  | 
		パラメータ  | 
	
DA変換開始条件成立イベント  | 
		なし  | 
	
リピート終了イベント  | 
		現在のリピート回数  | 
	
デバイス動作終了イベント  | 
		現在のジェネレーティング回数  | 
	
指定ジェネレーティング回数出力イベント  | 
		現在のジェネレーティング回数  | 
	
指定転送数毎イベント  | 
		現在の転送回数  | 
	
ジェネレーティングクロック周期エラーイベント  | 
		現在のジェネレーティング回数  | 
	
DA変換エラーイベント  | 
		現在のジェネレーティング回数  | 
	
Param 
 [ VB.NET: IntPtr ] [ C, C++: void * ] [ C#: void * 
 ] [ Python: ctypes.c_void_p]
AioSetAoCallBackProc関数に指定したパラメータが渡されます。
パラメータにNULLが指定された場合、ここにはNULLが格納されます。