WCM_BeginSearchAsync

構文


#include <nitroWiFi/wcm.h>

s32   WCM_BeginSearchAsync(  void* bssid , void* essid , u32 option );
				

説明

無線アクセスポイント自動探索の開始シーケンスを開始する非同期関数です。
非同期処理が正常に開始された場合に内部状態は WCM_PHASE_IDLE から WCM_PHASE_IDLE_TO_SEARCH に変化し、 非同期処理が正常に完了した際に WCM_PHASE_SEARCH となります。当関数はこれらの内部状態である時のみ実行することができます。
引数として指定した自動探索の設定は既に当関数によって設定がされている場合であっても更新され、内部動作に反映されます。

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

引数

bssid 探索する無線アクセスポイントの BSS-ID を 6 バイトのデータへのポインタという形で指定します。 NULL もしくは WCM_BSSID_ANY を指定した場合には、BSS-ID によるフィルターを行わない設定となります。
essid 探索する無線アクセスポイントの ESS-ID を最大 32 バイトのデータへのポインタという形で指定します。 NULL もしくは WCM_ESSID_ANY を指定した場合には、ESS-ID によるフィルターを行わない設定となります。
option オプション設定フォーマットに従った 32 ビットのオプション更新設定を指定します。詳細については WCM_UpdateOption()の解説を参照して下さい。

返り値

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

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

非同期処理結果

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

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

非同期通知

無線アクセスポイントの自動的な探索の途中経過として、WCM_StartupAsync()で指定したコールバック関数に 以下のいずれかの途中経過通知が行われることがあります。

WCM_NOTIFY_FOUND_AP WCM_RESULT_SUCCESS 無線アクセスポイントを発見した際に通知されます。 設定されている複数チャンネルを自動的に巡回探索していますので、同じ無線アクセスポイントを発見した際にも繰り返し通知されます。
発見された無線アクセスポイントの情報はコールバック関数の引数に含まれる詳細パラメータ parameter[0]WMBssDesc 型へのポインタとして示されます。
WCM_NOTIFY_FOUND_AP WCM_RESULT_FAILURE 自動探索処理中に WM ライブラリからなんらかのエラー通知を受けたことを示します。 自動探索は停止し、内部状態は WCM_PHASE_IRREGULAR となるか、もしくは WCM_PHASE_IDLE に戻ります。
WCM_NOTIFY_FOUND_AP WCM_RESULT_FATAL_ERROR 自動探索処理中に復旧不可能なエラーが発生したことを示します。 自動探索は停止し、内部状態は WCM_PHASE_FATAL_ERROR となり、以後変更されません。
WCM_NOTIFY_SEARCH_AROUND WCM_RESULT_SUCCESS 設定されている複数チャンネルの自動的な巡回探索が一巡した ( 全チャンネルを一通り探索した ) 際に通知されます。 一巡した後も自動的な探索を継続しますので、繰り返し通知されます。
なお、この通知はオプション設定ですので、デフォルトでは通知されません。

参照

WCM_EndSearchAsync, WCM_SearchAsync, WCM_TerminateAsync, WCM_UpdateOption

履歴

2005/07/22 初版