WCM_ConnectAsync

構文


#include <nitroWiFi/wcm.h>

void  WCM_ConnectAsync( void* bssDesc , void* wepDesc , u32 option );
                

説明

無線アクセスポイントへの接続シーケンスを開始する非同期関数です。
非同期処理が正常に開始された場合に内部状態は WCM_PHASE_IDLE から WCM_PHASE_IDLE_TO_DCF に変化し、 非同期処理が正常に完了した際に WCM_PHASE_DCF となります。当関数はこれらの内部状態である時のみ実行することができます。
内部状態が WCM_PHASE_IDLE である時に呼び出した場合のみ、引数として指定した設定がライブラリの内部動作に反映されます。

返り値が WCM_RESULT_ACCEPT であった場合には、対応する非同期処理通知が必ず一回発生し、コールバック関数が呼び出されます。

引数

bssDesc 接続しようとする無線アクセスポイントの情報を WCMBssDesc 構造体へのポインタという形で指定します。 無線アクセスポイントの情報は、自動探索の非同期発見通知に渡された情報、もしくは WCM_PointApList()により得られる情報を使用して下さい。
wepDesc 無線アクセスポイントに接続する際に使用する暗号化設定を WCMPrivacyDesc 構造体へのポインタという形で指定します。 NULL を指定した場合は、暗号化を行わない設定となります。
option オプション設定フォーマットに従った 32 ビットのオプション更新設定を指定します。詳細については WCM_UpdateOption()の解説を参照して下さい。

返り値

以下のいずれかの処理結果を返します。

WCM_RESULT_ACCEPT 非同期シーケンス開始要求が受け付けられ、正常に非同期処理が開始されたことを示します。 非同期処理が終了した際に必ず一回コールバック関数が呼び出されます。
WCM_RESULT_PROGRESS 当関数によって開始された非同期シーケンスが既に実行中であり、多重呼び出しであったことを示します。 多重に呼び出しても非同期処理終了通知は一回しか発生しません。
WCM_RESULT_SUCCESS 無線アクセスポイントへの接続シーケンスが既に完了しており、内部状態が WCM_PHASE_DCF であったことを示します。 非同期処理は開始されませんので、非同期処理終了通知も発生しません。
WCM_RESULT_REJECT 無線アクセスポイントへの接続シーケンスを開始しようとした際に、ARM7 への PXI 処理要求の発行に失敗したことを示します。 内部状態は WCM_PHASE_IDLE のままですので、リトライすることができます。
WCM_RESULT_FAILURE WCM ライブラリが初期化されていない、内部状態が WCM_PHASE_IDLEWCM_PHASE_IDLE_TO_DCFWCM_PHASE_DCF のいずれかでない、 引数に有効な情報が指定されていない、などの原因で処理に失敗したことを示します。
WCM_RESULT_FATAL_ERROR 復旧不可能なエラーが発生したことを示します。内部状態は WCM_PHASE_FATAL_ERROR となり、以後変更されません。

非同期処理結果

WCM_StartupAsync()で指定したコールバック関数に以下のいずれかの非同期処理結果が渡されます。 通知種別は WCM_NOTIFY_CONNECT に固定となります。

WCM_RESULT_SUCCESS 非同期処理に成功し、正常に無線アクセスポイントへ接続されたことを示します。内部状態は WCM_PHASE_DCF となります。
WCM_RESULT_FAILURE 非同期処理の途中で WM ライブラリから何らかのエラー通知を受けたことを示します。 内部状態は WCM_PHASE_IRREGULAR となるか、もしくは WCM_PHASE_IDLE に戻ります。
WCM_RESULT_FATAL_ERROR 非同期処理の途中で復旧不可能なエラーが発生したことを示します。内部状態は WCM_PHASE_FATAL_ERROR となり、以後変更されません。

非同期通知

無線アクセスポイントへ接続し通信している最中に、WCM_StartupAsync()で指定したコールバック関数に 以下のいずれかの途中経過通知が行われることがあります。
WCM_DisconnectAsync()による無線アクセスポイントからの切断要求に対する非同期処理結果通知と同じ通知種別である点に注意して下さい。

WCM_NOTIFY_DISCONNECT WCM_RESULT_SUCCESS 無線アクセスポイントから切断された、もしくは一定期間無線アクセスポイントからのビーコンを受信できずタイムアウトしたことを示します。 無線アクセスポイントとの接続はリセットされ、内部状態は WCM_PHASE_IDLE に戻ります。
WCM_NOTIFY_DISCONNECT WCM_RESULT_FAILURE 無線アクセスポイントから切断された場合当に自動的に無線アクセスポイントとの接続をリセットしようとしますが、 このリセット処理中に WM ライブラリからなんらかのエラー通知を受けたことを示します。 内部状態は WCM_PHASE_IRREGULAR となります。
WCM_NOTIFY_DISCONNECT WCM_RESULT_FATAL_ERROR 無線アクセスポイントへ接続し通信している最中に復旧不可能なエラーが発生したことを示します。 内部状態は WCM_PHASE_FATAL_ERROR となり、以後変更されません。

参照

WCM_DisconnectAsync, WCM_TerminateAsync, WCM_UpdateOption, WCM_PointApList, WCMWepDesc

履歴

2005/07/22 初版