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