関連付け前の操作の概要
ユーザーが基本サービス セット (BSS) ネットワーク接続のプロファイルを選択した後、オペレーティング システムは Dot11ExtIhvPerformPreAssociate 関数を呼び出して、関連付け前の操作を開始します。 この関数が呼び出されると、IHV 拡張機能 DLL は次の処理を行います。
接続とセキュリティ プロファイルに対する IHV で定義された拡張機能を検証します。
IHV 拡張機能 DLL は、プロファイルが正しくないと判断した場合、Winerror.h で定義されている適切なエラー コードを返します。 この状況では、オペレーティング システムは、ネットワーク プロファイルを使用できないことをユーザーに通知します。
接続プロファイルとセキュリティ プロファイルに対する IHV で定義された拡張機能に基づいて、関連付け前の操作を開始します。
関連付け前操作が開始されたら、Dot11ExtIhvPerformPreAssociateの呼び出しから非同期的に完了する必要があります。
IHV 拡張 DLL は、Dot11ExtPreAssociateCompletion の呼び出しを通じて関連付け前の操作を完了します。 この呼び出しの後、オペレーティング システムは、WLAN アダプターを管理するネイティブ 802.11 ミニポート ドライバーに OID_DOT11_CONNECT_REQUEST のセット要求を発行することによって接続操作を開始します。
次の図は、関連付け前操作中に関連する手順を示しています。
Dot11ExtIhvPerformPreAssociate が呼び出されると、オペレーティング システムは、次のパラメーターを使用して、IHV で定義された拡張機能を接続とセキュリティ プロファイルに渡します。
pIhvProfileParams
このパラメーターには、ネットワーク プロファイルを適用する基本サービス セット (BSS) ネットワークの属性を指定する DOT11EXT_IHV_PROFILE_PARAMS 構造体へのポインターが渡されます。 たとえば、 DOT11EXT_IHV_PROFILE_PARAMS 構造体は、BSS ネットワークのサービス セット識別子 (SSID) と種類を指定します。
pIhvConnProfile
このパラメーターには、接続プロファイルの設定を含む DOT11EXT_IHV_CONNECTIVITY_PROFILE 構造体へのポインターが渡されます。 オペレーティング システムは、IHV によって定義され、ユーザーによって選択された接続プロファイルにのみ拡張機能を渡します。
pIhvSecProfile
このパラメーターには、セキュリティ プロファイルの設定を含む DOT11EXT_IHV_SECURITY_PROFILE 構造体へのポインターが渡されます。 オペレーティング システムは、IHV によって定義され、ユーザーによって選択されたセキュリティ プロファイルにのみ拡張機能を渡します。
pConnectableBssid
このパラメーターには、DLL が関連付け前の操作を実行する BSS ネットワークのサービス セット識別子 (SSID) の 1 つ以上の 802.11 ビーコンまたはプローブ応答フレームを含む DOT11_BSS_LIST 構造体へのポインターが渡されます。
関連付け前の操作を実行すると、IHV 拡張機能 DLL で次の操作を実行できます。
Dot11ExtNicSpecificExtension 関数を呼び出して、ネイティブ 802.11 ミニポート ドライバーへのネットワーク接続に対する独自の構成要求を発行します。
pIhvConnProfile パラメーターと pIhvProfileParams パラメーターを使用して、IHV 拡張機能 DLL は、ユーザーが選択した独自の接続設定を決定できます。
pConnectableBssid パラメーターを使用して、IHV 拡張機能 DLL は BSS ネットワークの属性を決定し、それに応じて独自のネットワーク設定を構成できます。
BSS ネットワーク接続経由で使用する独自の認証および暗号アルゴリズムを使用して WLAN アダプターを構成します。
pszXmlFragmentIhvSecurity パラメーターを使用して、IHV 拡張機能 DLL は、ユーザーが選択した独自のセキュリティ アルゴリズムを決定できます。
次の IHV 拡張機能関数を呼び出して、セキュリティ アルゴリズムを設定できます。
Dot11ExtSendUIRequest 関数を呼び出して、ユーザーの資格情報などのセキュリティ パラメーターをユーザーに求める IHV UI 拡張機能 DLL を要求します。
Dot11ExtSetEtherTypeHandling 関数を呼び出して、DLL が受信するセキュリティ パケットの IEEE EtherType の一覧を登録します。 リストが登録されると、オペレーティング システムは、EtherType がリスト内のエントリと一致するすべてのパケットに対して Dot11ExtIhvReceivePacket IHV ハンドラー関数を呼び出します。
IHV 拡張機能 DLL では、ペイロードの暗号化解除から除外される EtherType の一覧を指定することもできます。 EtherType の登録の詳細については、「IEEE EtherType の処理」を参照してください。
Dot11ExtSetProfileCustomUserData 関数を呼び出して、ユーザーと現在の BSS ネットワーク プロファイルに固有のデータをレジストリに保存します。
Dot11ExtGetProfileCustomUserData 関数を呼び出して、ユーザーと現在の BSS ネットワーク プロファイルに固有のデータをレジストリから取得します。
IHV Extensibility 関数の詳細については、「Native 802.11 IHV Extensibility 関数」 をご覧ください。
BSS ネットワークでの接続操作の詳細については、「接続操作」を参照してください。