共用方式為


WiFiCx 訊息結構

WiFiCx 命令訊息是以先前的 WDI 模型命令為基礎。

所有Wi-Fi命令訊息都必須以 WDI_MESSAGE_HEADER 結構開頭。 命令標頭後面接著零個或多個類型長度值, (TLV) 結構。

針對從主機傳送至Wi-Fi裝置之訊息所定義的命令訊息識別碼記載于 WiFiCx 工作 OIDWiFiCx 屬性 OIDWiFiCx 狀態指示中。

TLV

下表定義了 TLV 的結構。 TLV 中的資料以小到小的位元組順序排列。

欄位 類型 描述
類型 UINT16 TLV 結構的型別。 必須略過無法辨識的 TLV 類型,而不會觸發錯誤。
Value 緩衝區的長度 UINT16 Value 緩衝區的大小,以位元組為單位。
BYTE[*] 承載緩衝區,可能包含結構、結構清單或其他 TLV。 如果 TLV 中的資料超過預期,應該略過其他資料,而不會觸發錯誤。

TLV 群組有兩種類型:靜態大小的 TLV 清單和多 TLV 群組。

靜態大小的 TLV 清單

靜態大小 TLV 清單包含數個靜態大小的成員。 它們類似于標準 C 樣式陣列。

在此範例中, WDI_TLV_UNICAST_ALGORITHM_LIST 定義為WDI_ALGO_PAIRS的清單。

類型:WDI_TLV_UNICAST_ALGORITHM_LIST

長度:N * sizeof (WDI_ALGO_PAIRS)

:WDI_ALGO_PAIRS[N]

此用法是在具有陣列標記法的 TLV 參考主題中指定。

多 TLV 群組

當預先不知道指定物件的大小時,會使用多 TLV 群組。 此使用模式會指定指定緩衝區內預期會有 N 個不同的可變大小TLV。 (N 個) 的專案數目事先不知道,而且是由指定緩衝區中相符的 TLV 數目推斷。

在此範例中,父緩衝區是定義 TLV 緩衝區結尾的 WDI_MESSAGE_HEADER。 請注意 ,WDI_TLV_BSS_ENTRY 可能會在父緩衝區中的其他不同 TLV 類型之間交錯。

Offset 欄位 類型
0 WDI_MESSAGE_HEADER 訊息標頭
sizeof (WDI_MESSAGE_HEADER) TLV₀ (WDI_TLV_BSS_ENTRY) WDI_BSS_ENTRY
TLV₀ + L₀ + sizeof (TLV 標頭) TLV₁ (WDI_TLV_BSS_ENTRY) WDI_BSS_ENTRY
TLV₁ + L₁ + sizeof (TLV 標頭) TLVー (WDI_TLV_BSS_ENTRY) WDI_BSS_ENTRY
TLV$ + LLv + sizeof (TLV 標頭) TLV₃ (OTHER_TLV_TYPE) 一些其他 TLV 類型
TLV₃ + L₃ + sizeof (TLV 標頭) TLV₄ (WDI_TLV_BSS_ENTRY) WDI_BSS_ENTRY

對於包含其他 TLV 的 TLV,TLV 參考主題具有 多個 TLV 實例允許的資料 行。 如果核取此資料行,則允許顯示指定的 TLV 多次。 如需此範例,請參閱 WDI_TLV_CONNECT_PARAMETERS