共用方式為


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 作業的流程和行為。 它未涵蓋軟體介面簽章(例如設備驅動器介面模型)以及 Windows 中 IHV 元件載入方式的詳細數據。

設計原則

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

  1. 將主機組件與 IHV 元件/裝置之間的流量閒聊降至最低。 這對於 SDIO 等公交車上的實作特別重要,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配接器/裝置。

Host

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

Upper Edge Driver (UE)

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

下邊緣驅動程式 (LE)

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

功能等級重設 (FLR)

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

平台層級重設 (PLR)

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

重設復原 (RR)

RR 是指 Reset and 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 驅動程序參考