Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As mensagens de comando WiFiCx são baseadas nos comandos de modelo WDI anteriores.
All Wi-Fi command messages must start with a WDI_MESSAGE_HEADER structure. O cabeçalho de comando é seguido por zero ou mais estruturas TLV (type-length-value).
As IDs de mensagem de comando definidas para mensagens enviadas do host para o dispositivo Wi-Fi são documentadas em OIDs da Tarefa WiFiCx, OIDs de Propriedade WiFiCx e indicações de status WiFiCx.
TLVs
A estrutura de TLVs é definida na tabela a seguir. Os dados em TLVs estão em ordem de bytes little-endian.
| Field | Tipo | Description |
|---|---|---|
| Tipo | UINT16 | O tipo da estrutura TLV. Tipos de TLV não reconhecidos devem ser ignorados sem disparar erros. |
| Comprimento do buffer de valor | UINT16 | O tamanho do buffer De valor em bytes. |
| Value | BYTE[*] | O buffer de carga, que pode conter uma estrutura, uma lista de estruturas ou outras TLVs. Se houver mais dados do que o esperado em um TLV, os dados adicionais deverão ser ignorados sem disparar erros. |
Há dois tipos de agrupamentos TLV: listas TLV dimensionadas estaticamente e grupos de vários TLV.
Listas TLV dimensionadas estaticamente
As listas TLV de tamanho estatica contêm vários membros de tamanho estatica. Elas são análogas às matrizes de estilo C padrão.
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]
Esse uso é especificado nos tópicos de referência TLV com notação de matriz.
Multi-TLV groups
Quando o tamanho de um determinado objeto não é conhecido com antecedência, grupos de vários TLV são usados. Esse padrão de uso especifica que N diferentes TLVs de tamanho variavelmente são esperadas em um determinado buffer. O número de entradas (N) não é conhecido antecipadamente e é inferido pelo número de TLVs correspondentes no buffer fornecido.
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 | Tipo |
|---|---|---|
| 0 | WDI_MESSAGE_HEADER | Message header |
| sizeof(WDI_MESSAGE_HEADER) | TLV₀ (WDI_TLV_BSS_ENTRY) | WDI_BSS_ENTRY |
| TLV₀ + L₀ + sizeof(Cabeçalho TLV) | TLV₁ (WDI_TLV_BSS_ENTRY) | WDI_BSS_ENTRY |
| TLV₁ + L₁ + sizeof(Cabeçalho TLV) | TLV₂ (WDI_TLV_BSS_ENTRY) | WDI_BSS_ENTRY |
| TLV₂ + L₂ + sizeof(Cabeçalho TLV) | TLV₃ (OTHER_TLV_TYPE) | Algum outro tipo de TLV |
| TLV₃ + L₃ + sizeof(Cabeçalho TLV) | TLV₄ (WDI_TLV_BSS_ENTRY) | WDI_BSS_ENTRY |
Para TLVs que contêm outras TLVs, os tópicos de referência TLV têm uma coluna de várias instâncias TLV permitidas . Se essa coluna for marcada, o TLV especificado poderá aparecer várias vezes. For an example of this, see WDI_TLV_CONNECT_PARAMETERS.