WDI Miniport 驅動程式設計指南

重要

WiFiCx是Windows 11中發行的新Wi-Fi驅動程式模型。 我們建議您使用 WiFiCx 來利用最新的功能。 WDI 驅動程式模型現在處於維護模式,而且只會收到高優先順序的修正。

WLAN 設備磁碟機介面 (WDI) 是適用于Wi-Fi驅動程式的新通用 Windows 驅動程式模型,適用于傳統型版本 Windows 10 (家用版、專業版、企業版和教育版) 和Windows 10 行動裝置版。 WLAN 裝置製造商會撰寫 WDI 迷你埠驅動程式,以使用 Windows 10 OS 實作。 WDI 可讓裝置製造商撰寫的程式碼少於先前的原生 WLAN 驅動程式模型。 Windows 10中引進的所有新 WLAN 功能都需要以 WDI 為基礎的驅動程式。

廠商提供的原生 WLAN 驅動程式會繼續在Windows 10中運作,但功能僅限於其開發的 Windows 版本。

WDI 需求和介面規格記載于此設計指南中。 新模型的主要目標是:

  • 改善 Windows WLAN 驅動程式的品質和可靠性。
  • 減少目前驅動程式模型的複雜度,進而減少 IHV 驅動程式的複雜度,並減少 IHV 驅動程式開發的整體成本。

本檔的重點在於指定 Windows 與 IHV 驅動程式元件之間Wi-Fi作業的流程和行為。 它並未涵蓋軟體介面簽章 (例如,設備磁碟機介面模型) ,以及 IHV 元件在 Windows 中載入方式的詳細資料。

設計原則

下列原則會引導此通訊協定的整體模型和設計。

  1. 將主機元件與 IHV 元件/裝置之間的流量交談降至最低。 這對於 SDIO 之類的匯流排實作特別重要,這原本就很交談。
  2. Wi-Fi功能 (特別是必須以低順延強制的功能,) 預期由裝置處理。
  3. 所有法規相關功能都位於 IHV 元件中,並由 IHV 控制。
  4. Windows 體驗是由主機元件和 Windows 作業系統所控制。
  5. Windows 能夠重新恢復無回應的裝置。 其狀態足以重新撰寫 IHV 元件,並在 10 秒內復原。
  6. 需要大量系統記憶體或快速處理器且不是廠商特定的作業是由主機處理。

定義

詞彙 描述

裝置

連接到匯流排的整個硬體片段。 裝置中可以有多個無線電, (特別Wi-Fi和藍牙) 。

Wi-Fi配接器

實作Wi-Fi功能之裝置的特定部分,如此規格所述。

連接埠

物件,表示特定連接的 MAC 和 PHY 狀態。

IHV 元件

IHV 開發的軟體元件,代表主機Wi-Fi配接器/裝置。

主機

與 IHV 元件互動的主機端 Microsoft/作業系統軟體,其使用此規格中所述的介面。

上邊緣驅動程式 (UE)

UE 是指本檔中稱為 WDI 的 WdiWiFi 驅動程式。 UE 和 Lower Edge (LE) IHV 驅動程式結合成完整的 NDIS 迷你埠驅動程式。 UE 會實作核心Wi-Fi邏輯。

Lower Edge Driver (LE)

LE 是指位於下邊緣的 IHV 驅動程式。 LE 和 UE 結合成完整的 NDIS 迷你埠驅動程式。 LE 會實作匯流排和硬體特定功能。

功能等級重設 (FLR)

功能等級重設,如 PCIe 規格所示。 此詞彙是指函式的重設,而不是具有複合函式之完整裝置的重設。 這類範圍的重設不會影響相同裝置上的其他功能。

平台層級重設 (PLR)

平台層級重設。 此重設方法會影響裝置上的所有功能。 在裝置上建置多個函式以降低成本和使用量非常受歡迎。 例如,藍牙通常會在晶片上建置Wi-Fi。 不過,這類重設方法會重設裝置上的所有函式單位。

重設復原 (RR)

RR 是指 Reset 和 Recovery 的事件順序。

針對 FLR,這包括:

  • NDIS 的要求,會將要求轉送至匯流排以重設Wi-Fi函式。
  • 驅動程式復原韌體內容。
  • 如果在重設之前連線到存取點,請重新連線到該存取點。

針對 PLR,這包括:

  • NDIS 的要求,會將要求轉送至匯流排。 公車會與 PnP 互動,以意外移除裝置。
  • 重新列舉裝置。
  • 重新建立裝置堆疊。
  • Wi-Fi重新開機並重新連線。

WDI 命令

UE 會傳送 WDI OID 並呼叫 LE 回呼。 所有這些命令稱為 WDI 命令。

MAC 位址隨機化

為了改善Windows 10使用者的隱私權,在某些情況下會使用已設定的Wi-Fi MAC 位址,例如連線到特定Wi-Fi網路之前,或在特定情況下起始掃描時。 這只適用于月臺埠。 系統會確保適當地使用隨機化,因此重要的連線案例不會中斷。 系統會在發出掃描或連線命令之前發出 OID_WDI_TASK_DOT11_RESET 命令來管理位址的變更。 重設命令參數包含選擇性的 MAC 位址引數。 如果引數存在,MAC 位址會重設為指定的值。 如果不存在,MAC 位址會保留為目前的值。 設定隨機 MAC 位址時,作業系統會使用針對 IEEE802 位址定義的「本機管理」格式。

ECSA

擴充通道交換器公告。

WDI Miniport 驅動程式參考