関連付け前の操作ガイドライン
IHV 拡張機能 DLL は、関連付け前の操作を実行するときに、これらのガイドラインに従う必要があります。
Dot11ExtIhvPerformPreAssociate 関数が呼び出されると、IHV 拡張機能 DLL は次の操作を行う必要があります。
- 接続とセキュリティ プロファイルの IHV 拡張機能を検証します。 プロファイル パラメーターが無効な場合、 Dot11ExtIhvPerformPreAssociate 関数は Winerror.h で定義されている適切なエラー コードを返します。
- 関連付け前操作を完了するための新しいスレッドを作成して開始します。 関連付け前操作は、Dot11ExtIhvPerformPreAssociate 呼び出しから非同期的に完了する必要があるため、IHV 拡張機能 DLL は、操作の完了後にこのスレッドから Dot11ExtPreAssociateCompletion を呼び出す必要があります。
- 関数呼び出しから ERROR_SUCCESS を返します。 この時点で、ネットワーク プロファイルが有効であり、関連付け前の操作が進行中であることがオペレーティング システムに通知されます。
IHV 拡張機能 DLL は、Dot11ExtNicSpecificExtension 関数を呼び出して、ワイヤレス LAN (WLAN) アダプターを構成できます。 この関数は、Dot11ExtIhvPerformPreAssociate の呼び出し内から、または Dot11ExtIhvPerformPreAssociate が返された後に関連付け前操作を処理するスレッドから呼び出すことができます。
Dot11ExtSetProfileCustomUserData、Dot11ExtGetProfileCustomUserData、Dot11ExtSetCurrentProfile の呼び出しは、Dot11ExtIhvPerformPreAssociate の呼び出し内から行う必要があります。 これらの関数は、Dot11ExtIhvPerformPreAssociate が ERROR_SUCCESS を返した後にのみ呼び出すことができます。
IHV 拡張機能 DLL が Dot11ExtPreAssociateCompletion を呼び出して関連付け前の操作を完了すると、接続セッションのハンドルは無効になります。 オペレーティング システムは、Dot11ExtIhvPerformPreAssociate の hConnectSession パラメーターを介してこのハンドルを渡します。 hConnectSession パラメーターを宣言する IHV 機能拡張関数を呼び出すときは、DLL でこのハンドル値を使用しないでください。
IHV Extensibility 関数の詳細については、「Native 802.11 IHV Extensibility 関数」 をご覧ください。
Dot11ExtIhvAdapterReset 関数が呼び出された場合、IHV 拡張機能 DLL は Dot11ExtPreAssociateCompletion を呼び出して関連付け前の操作をキャンセルする必要があります。 リセット操作の詳細については、802.11 WLAN アダプタ リセット を参照してください。
Dot11ExtIhvDeinitAdapter 関数が呼び出された場合、IHV 拡張機能 DLL は、内部的に関連付け前操作を取り消す必要があります。 ただし、Dot11ExtPreAssociateCompletion など、アダプターの初期化後にのみ呼び出すことができる IHV 拡張関数を呼び出してはなりません。