初期化と終了処理

初期化と終了処理は、全てのプログラミングで必要となる共通の処理です。
初期化処理はAioInit関数で行います。この関数はドライバファイルの作成や必要なメモリの確保などを行います。

AioInit関数には引数が2つあります。第1引数はデバイス名です。
デバイス名は設定ツール(コンフィグレーション)に登録した"AIO000"などの文字列になります。
Linuxの場合、デバイス名の設定には設定ツールを使用します。

第2引数はIDです。IDはドライバより渡される数字で、以降の関数を使用するにはこのIDが必要になります。
関数が正常終了すると、戻り値にが0が返ります。関数の実行に失敗した場合、0以外の値が返ります。

終了処理はAioExit関数で行います。この関数はデバイス、ドライバ動作を停止し、メモリ、スレッドなどの使用していた全てのリソースを開放します。
アプリケーションは必ずこの関数を実行してから終了してください。そうしないと、ドライバが使用していたリソースが開放されないまま残ることがあります。

Cでのプログラミング例

デバイス"Aio000"に対して、初期化と終了処理を行います。

long Ret;
short Id;

Ret = AioInit( "Aio000" , &Id );
if(Ret != 0){
    printf("AioInitでエラーが発生しました %d\n", Ret);
}

Ret = AioExit( Id );
if(Ret != 0){
    printf("AioExitでエラーが発生しました %d\n", Ret);
}

 

Pythonでのプログラミング例

デバイス"Aio000"に対して、初期化と終了処理を行います。

Ret = ctypes.c_long()

Id = ctypes.c_short()

 

Ret.value = caio.AioInit ( b"AIO000" , ctypes.byref(Id))

if Ret.value != 0:

    print(f"AioInitでエラーが発生しました {Ret.value}\n")

 

Ret.value = caio.AioExit ( Id )

if Ret.value != 0:

    print(f"AioExitでエラーが発生しました {Ret.value}\n")