# WVR_TerminateAsync

## 構文

      #include <nitro/wvr.h>

      WVRResult WVR_TerminateAsync(
          WVRCallbackFunc callback ,
          void*           arg
      );

## 引数

callback | 非同期処理が完了した時に呼び出されるコールバック関数を指定します。 このコールバックは割り込みハンドラ内から呼び出されます。
arg | 非同期処理が完了した時に呼び出されるコールバック関数に渡される任意の引数を指定します。

## 返り値

WVRResult列挙型の処理結果を返します。

## 説明

ARM7側で動作している無線ドライバを強制停止し、使用していたVRAMバンクを解放します。 返り値がWVR_RESULT_OPERATINGであった場合、非同期処理完了時にPXI受信割り込みハンドラ内からコールバック関数が呼び出されます。
VRAM上で無線ドライバを動作させる機能を持つ ichneumon / ichneumon.TWL コンポーネントを使用している場合にのみ意味を持ち、 その他のコンポーネントの場合はWVR_RESULT_DISABLEを返してこの関数は失敗します。 ichneumon / ichneumon.TWL コンポーネントを使用している場合は、WVR_StartUpAsync( )によって 無線ドライバを起動している場合にのみドライバの停止処理を行います。
この関数の非同期処理が正常に完了すると、無線通信機能が使用できなくなります。 WVR_StartUpAsync( )によってドライバを起動後にWMライブラリを用いて通信処理を行っていた場合は、 WMライブラリの内部状態が強制的にREADYステートになり、 再度WVR_StartUpAsync( )により無線ドライバが再起動されない限りは、 以後のWM非同期操作関数にはコールバックにWM_ERRCODE_DISABLEが返されるようになります。 WMライブラリが"初期化前の状態"にリセットされる訳ではない点に注意して下さい。 WMライブラリを完全に終了させる必要がある場合は、この関数のコールバック内でWM_Finish( )を呼び出して下さい。

## 参照

`WVR_StartUpAsync, WM_Finish`

## 履歴

2009/06/15 ichneumon.TL コンポーネントに関する記述を追加 2005/06/27 コールバックが割り込みハンドラから呼び出される旨を補足
2005/03/08 用語統一 [割込み] → [割り込み]
2005/02/16 初版