次の方法で共有


仮想ステーション

 

NDIS 6.20 (Windows 7) 以降では、オペレーティング システムは、802.11 ミニポート ドライバーと対話できる仮想ステーション (VSTA) を提供します。

独立系ハードウェア ベンダー (IHV) は、Win32 アプリケーション プログラミング インターフェイス (API) ではなく、IHV 拡張機能フレームワークを介した VSTA 機能を使用します。

仮想ステーションの作成は、IHV 拡張機能 DLL が Dot11ExtRequestVirtualStation 関数を呼び出すときに開始されます。 オペレーティング システムは、IHV 拡張機能 DLL が Dot11ExtRequestVirtualStation 要求を発行 した場合にのみ、一度に 1 つの仮想ステーションのみをコンピューターに作成します。

オペレーティング システムは Dot11ExtIhvInitVirtualStation 関数を呼び出して、仮想ステーション操作用の IHV 拡張機能 DLL を初期化します。 この呼び出しにより、オペレーティング システムと DLL の間のユーザー モード API インターフェイスも初期化されます。

注: 仮想ステーションが一貫した方法で作成されるようにするには、コンピューターに、仮想ステーション機能の使用を試みる IHV 拡張機能 DLL のインストールが 1 つのみ必要です。 複数の DLL がインストールされている場合でも、作成できる仮想ステーションは 1 つのみです。 オペレーティング システムは、コンピューターの再起動後に仮想ステーションにアクセスできる DLL を保証できません。 1 つの DLL と 2 つ目の DLL の要求で仮想ステーションが既に作成されている場合に Dot11ExtRequestVirtualStation を呼び出すと、成功コードが返される可能性がありますが、2 つ目の仮想ステーションは作成されません。 IHV 拡張機能 DLL は、Dot11ExtRequestVirtualStation 関数を 呼び出した後で 2 分間のタイマーを設定する必要があります。 仮想ステーション アダプター到着イベントの前にタイマーが切れた場合、DLL は仮想ステーションが作成されなかったと想定する必要があります。

 

拡張可能な AP/仮想ステーションの相互作用

ドライバーが仮想ステーション機能を実装しているけれども異なるポートで拡張可能アクセス ポイント (ExtAP) と仮想ステーション接続の両方を同時に維持できない場合、ドライバーは次のアクションを実行する必要があります。

  • ExtAP に使用されているポートが常に機能を維持できるかどうかをオペレーティング システムに通知します。 特に、ドライバーは、適切な状態コード (NDIS_STATUS_INDICATION->StatusCode) と理由コードを使用して、ExtAP ポートで次の状態表示を発行する必要があります。

    NDIS_STATUS_DOT11_STOP_AP
    ExtAP ポートで AP 機能を維持できないことを示します。 この場合、DOT11_STOP_AP_PARAMETERS->ulReason を DOT11_STOP_AP_REASON_AP_ACTIVE の値に設定します。 この状態表示を次の状況で発行します。

    • 仮想ステーション ポートが、同時仮想ステーションと ExtAP 接続をブロックする共有リソースの使用を開始する前
    • ExtAP ポートが ExtAP INIT 状態に移行し、仮想ステーション リソースを使用すると、ExtAP ポートの初期化が正常に完了しなくなります。

    NDIS_STATUS_DOT11_CAN_SUSTAIN_AP
    仮想ステーション ポートが切断されていること、または仮想ステーション リソースを使用して、ExtAP INIT 状態へのポートの正常な移行を妨げていないことを示します。

  • 仮想ステーション ポートへの接続中に、Dot11ExtSetVirtualStationAPProperties 関数を呼び出して、仮想ステーション接続によってホストされる AP 実装に関する情報を提供します。

  • ExtAP ポートが OP 状態で実行されていて、次のいずれかの状況が発生した場合、仮想ステーション ポート接続は失敗します。

仮想ステーションをサポートするネイティブ 802.11 IHV 拡張関数

Dot11ExtQueryVirtualStationProperties

Dot11ExtReleaseVirtualStation

Dot11ExtRequestVirtualStation

Dot11ExtSetVirtualStationAPProperties

仮想ステーションをサポートする構造体

DOT11EXT_VIRTUAL_STATION_AP_PROPERTY

DOT11EXT_VIRTUAL_STATION_APIS