虛擬月臺
從 NDIS 6.20 (Windows 7) 開始,作業系統會提供可與 802.11 迷你埠驅動程式互動的虛擬月臺 (VSTA) 。
獨立硬體廠商 (IHV) 透過 IHV 擴充性架構 使用 VSTA 功能,而不是透過 win32 應用程式開發介面 (API) 。
當 IHV 延伸模組 DLL 呼叫 Dot11ExtRequestVirtualStation 函式時,就會起始虛擬網路站的建立。 作業系統一次只會在電腦上建立一個虛擬月臺,而且只有在 IHV 延伸模組 DLL 發出 Dot11ExtRequestVirtualStation 要求時。
作業系統會呼叫 Dot11ExtIhvInitVirtualStation 函式,以初始化虛擬站作業的 IHV 延伸模組 DLL。 此呼叫也會初始化作業系統與 DLL 之間的使用者模式 API 介面。
注意 為了確保以一致的方式建立虛擬月臺,電腦應該只有一個 IHV 延伸模組 DLL 安裝嘗試使用虛擬月臺功能。 即使已安裝多個 DLL,仍只能建立一個虛擬月臺。 作業系統無法保證電腦重新開機之後,哪些 DLL 可以存取虛擬網路。 請注意,如果已在一個 DLL 要求建立虛擬站,而第二個 DLL 則會呼叫 Dot11ExtRequestVirtualStation,可能會傳回成功碼,但不會建立第二個虛擬站。 IHV Extensions DLL 在呼叫 Dot11ExtRequestVirtualStation 函式之後,應該設定兩分鐘的計時器。 如果計時器在虛擬站配接器抵達事件之前過期,DLL 應該假設尚未建立虛擬站。
可延伸的 AP/虛擬月臺互動
如果您的驅動程式實作虛擬站功能,但無法在不同埠上同時維持 可延伸存取點 (ExtAP) 和虛擬站連線,驅動程式應該執行下列動作。
通知作業系統,指出用於 ExtAP 的埠是否隨時都能維持功能。 特別是,驅動程式應該在 ExtAP 埠上發出下列狀態指示,使用適當的狀態碼 ( NDIS_STATUS_INDICATION-StatusCode>) 和原因代碼:
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 狀態執行,且發生下列其中一種情況,則虛擬站埠連線會失敗:
- 一或多個用戶端位於 ExtAP 埠上。
- 虛擬網路會嘗試啟動重複 無線託管網路 設定的連線。
支援虛擬站的原生 802.11 IHV 擴充性函式
Dot11ExtQueryVirtualStationProperties
Dot11ExtSetVirtualStationAPProperties
支援虛擬站的結構
DOT11EXT_VIRTUAL_STATION_AP_PROPERTY