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 機能拡張関数の詳細については、「 ネイティブ 802.11 IHV 機能拡張関数」を参照してください。
Dot11ExtIhvAdapterReset 関数が呼び出された場合、IHV 拡張機能 DLL は Dot11ExtPreAssociateCompletion を呼び出して事前関連付け操作をキャンセルする必要があります。 リセット操作の詳細については、 802.11 WLAN アダプタ リセットを参照してください。
Dot11ExtIhvDeinitAdapter 関数が呼び出された場合、IHV 拡張機能 DLL は、内部的に事前関連付け操作を取り消す必要があります。 ただし、 Dot11ExtPreAssociateCompletion など、アダプターの初期化後にのみ呼び出すことができる IHV 拡張関数を呼び出してはなりません。