ユーザー操作の要求
Dot11ExtIhvInitAdapter呼び出した後、IHV 拡張機能 DLL は、Dot11ExtSendUIRequest 関数を呼び出すことによって、ユーザーとの対話を要求できます。 オペレーティング システムは、すべてのユーザー操作要求を IHV UI 拡張機能 DLL に転送します。これによって要求が処理され、適切なユーザー インターフェイス (UI) ページがユーザーに表示されます。
要求が完了すると、オペレーティング システムは Dot11ExtIhvProcessUIResponse 関数を呼び出して、ユーザー操作のために IHV UI 拡張機能 DLL から結果を転送します。 IHV UI 拡張機能 DLL の詳細については、「Native 802.11 IHV UI Extensions DLL」を参照してください。
たとえば、IHV 拡張機能 DLL は、次のいずれかのユーザー操作を要求できます。
関連付け前または関連付け後の操作のステージについてユーザーに通知します。
関連付け後の操作中に、認証用の資格情報を入力するようにユーザーに求めます。
Dot11ExtSendUIRequest 関数を呼び出すと、IHV 拡張機能 DLL は、pIhvUIRequest パラメーターに DOT11EXT_IHV_UI_REQUEST 構造体へのポインターを渡します。 DOT11EXT_IHV_UI_REQUEST構造体は、UI 要求を識別するグローバル一意 ID (GUID) や、この要求を処理するターゲット UI ページの COM クラス ID (CLSID) などの要求を指定します。
IHV UI 拡張機能 DLL がユーザー通知を完了すると、オペレーティング システムは、Dot11ExtIhvProcessUIResponse 関数を呼び出します。 ユーザーが通知を通じてデータを入力した場合、オペレーティング システムは、データを含むバッファーへのポインターを、pvResponseBuffer パラメーターに渡します。
オペレーティング システムは、保留中の通知要求の状態を定期的に照会する場合があります。 この状況では、オペレーティング システムは Dot11ExtIhvIsUIRequestPending を呼び出し、UI 要求の GUID を guidUIRequest パラメーターに渡します。
Dot11ExtSendUIRequest呼び出す場合、IHV 拡張機能 DLL は次のガイドラインに従う必要があります。
IHV 拡張機能 DLL は、Dot11ExtSendUIRequest呼び出しをシリアル化する必要はありません。 DLL は、いつでも複数の保留中の UI 要求を持つことができます。
特定の GUID の UI 要求は、その GUID に対して Dot11ExtIhvProcessUIResponse呼び出された場合にのみ完了します。 このような状況では、IHV 拡張機能 DLL は、UI 要求で割り当てられたリソースを、 Dot11ExtIhvProcessUIResponse が呼び出されるまで解放することはできません。
Dot11ExtIhvAdapterReset または Dot11ExtIhvDeinitAdapter が呼び出されるたびに、保留中のすべての UI 要求が取り消されます。 uEventType パラメーターをWTS_SESSION_LOGOFFに設定して Dot11ExtIhvProcessSessionChangeが呼び出されるたびに、保留中のすべての UI 要求も取り消されます。
このような状況では、IHV 拡張機能 DLL は、保留中の UI 要求ごとに割り当てられたすべてのリソースを解放する必要があります。
オペレーティング システムは、基本サービス セット (BSS) ネットワークで接続状態が変化するたびに、ユーザー操作自体を開始できます。 このような状況では、オペレーティング システムは、Dot11ExtIhvQueryUIRequest 関数を呼び出します。 IHV 拡張機能 DLL はバッファーを割り当て、DOT11EXT_IHV_UI_REQUEST 構造体として書式設定します。 DLL は、接続状態の変更に適した UI ページを参照するように、DOT11EXT_IHV_UI_REQUEST構造体のメンバーを設定します。 オペレーティング システムは、UI ページの表示を担当します。
注意 IHV 拡張機能は、Dot11ExtAllocateBufferを通じて、DOT11EXT_IHV_UI_REQUEST 構造体を含むバッファー割り当てる必要があります。 DLL は、Dot11ExtIhvQueryUIRequestから戻った後バッファーを解放してはなりません。