AioGetAiSamplingDataSize


機能

ユーザーバッファモードでの転送時に、1サンプリングあたりで必要となるデータサイズを取得します。
このデータサイズは、使用するチャネル数、バスマスタ転送を使用するデバイスでは添付データの設定により決定されます。
したがって、この関数でデータサイズを取得する場合には、先にチャネル数の設定( AioSetAiChannels )と添付データの設定を行ってください。

書式

Ret = AioGetAiSamplingDataSize ( Id , DataSize )

引数

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

DataSize [ VB.NET: Short ] [ C, C++: short * ] [ C#: out short ] [ Python: ctypes.POINTER(ctypes.c_short) ]
データサイズを格納する変数のアドレスを指定します。
データサイズはパケットの個数で格納されます。1パケット=4バイトです。

戻り値

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

戻り値

内容

0

正常終了

7

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

10001

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

10002

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

12020

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

20001

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

20002

デバイスが動作中のため実行できません
この関数を使用するには、アナログ入力動作が停止している必要があります。

20003

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

初期値

すべてのデバイスでDataSize = 1

説明

アナログ入力機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。

使用例

1サンプリングで必要となるデータサイズを取得します。

VB.NET

Dim Ret As Integer
Dim DataSize As Short
Ret = AioGetAiSamplingDataSize ( Id , DataSize )
 

C, C++

long Ret;
short DataSize;
Ret = AioGetAiSamplingDataSize ( Id , &DataSize );
 

C#

int Ret;
short DataSize;
Ret = aio.GetAiSamplingDataSize ( Id , out DataSize );
 

Python

Ret = ctypes.c_long()
DataSize = ctypes.c_short()
Ret.value = caio.AioGetAiSamplingDataSize ( Id , ctypes.byref(DataSize) )