Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les messages de commande WiFiCx sont basés sur les commandes de modèle WDI précédentes.
All Wi-Fi command messages must start with a WDI_MESSAGE_HEADER structure. L’en-tête de commande est suivi de zéro ou plusieurs structures TLV (type-length-value).
Les ID de message de commande définis pour les messages envoyés de l’hôte à l’appareil Wi-Fi sont documentés dans les OID de la tâche WiFiCx, les OID de propriété WiFiCx et les indications d’état WiFiCx.
TLVs
La structure des TLVs est définie dans le tableau suivant. Les données des TLVs sont dans l’ordre d’octets little-endian.
| Field | Type | Description |
|---|---|---|
| Type | UINT16 | Type de la structure TLV. Les types TLV non reconnus doivent être ignorés sans déclencher d’erreurs. |
| Longueur de la mémoire tampon valeur | UINT16 | Taille de la mémoire tampon Valeur en octets. |
| Value | BYTE[*] | Mémoire tampon de charge utile, qui peut contenir une structure, une liste de structures ou d’autres TLV. S’il existe plus de données que prévu dans une TLV, les données supplémentaires doivent être ignorées sans déclencher d’erreurs. |
Il existe deux types de regroupements TLV : les listes TLV de taille statique et les groupes multi-TLV.
Listes TLV de taille statique
Les listes TLV de taille statique contiennent plusieurs membres de taille statique. Ils sont analogues aux tableaux de style C standard.
In this example, WDI_TLV_UNICAST_ALGORITHM_LIST is defined as a list of WDI_ALGO_PAIRS.
Type: WDI_TLV_UNICAST_ALGORITHM_LIST
Length: N * sizeof(WDI_ALGO_PAIRS)
Value: WDI_ALGO_PAIRS[N]
Cette utilisation est spécifiée dans les rubriques de référence TLV avec la notation de tableau.
Multi-TLV groups
Lorsque la taille d’un objet donné n’est pas connue à l’avance, les groupes multi-TLV sont utilisés. Ce modèle d’utilisation spécifie que N différentes TLV de taille variable sont attendues dans une mémoire tampon donnée. Le nombre d’entrées (N) n’est pas connu à l’avance et est déduit par le nombre de TLVs correspondants dans la mémoire tampon donnée.
In this example, the parent buffer is a WDI_MESSAGE_HEADER, which defines the end of the TLV buffer. Note that WDI_TLV_BSS_ENTRY may be interspersed between other different TLV types in the parent buffer.
| Offset | Field | Type |
|---|---|---|
| 0 | WDI_MESSAGE_HEADER | Message header |
| sizeof(WDI_MESSAGE_HEADER) | TLV₀ (WDI_TLV_BSS_ENTRY) | WDI_BSS_ENTRY |
| TLV₀ + L₀ + sizeof(en-tête TLV) | TLV₁ (WDI_TLV_BSS_ENTRY) | WDI_BSS_ENTRY |
| TLV₁ + L₁ + sizeof(en-tête TLV) | TLV₂ (WDI_TLV_BSS_ENTRY) | WDI_BSS_ENTRY |
| TLV² + L² + sizeof(en-tête TLV) | TLV₃ (OTHER_TLV_TYPE) | Autre type TLV |
| TLV₃ + L₃ + sizeof(en-tête TLV) | TLV₄ (WDI_TLV_BSS_ENTRY) | WDI_BSS_ENTRY |
Pour les TLVs qui contiennent d’autres TLVs, les rubriques de référence TLV ont une colonne de référence sur plusieurs instances TLV autorisées . Si cette colonne est cochée, la valeur TLV spécifiée est autorisée à apparaître plusieurs fois. For an example of this, see WDI_TLV_CONNECT_PARAMETERS.