estrutura DOT11_EXTSTA_RECV_CONTEXT (windot11.h)
A estrutura DOT11_EXTSTA_RECV_CONTEXT define os atributos Native 802.11 de um pacote recebido pela estação 802.11 e indicada pelo driver de miniporto que opera nos modos Extensible Station (ExtSTA) ou Monitor de Rede (NetMon). Para obter mais informações sobre esses modos de operação, consulte Modos de operação nativos 802.11.
Sintaxe
typedef struct DOT11_EXTSTA_RECV_CONTEXT {
NDIS_OBJECT_HEADER Header;
ULONG uReceiveFlags;
ULONG uPhyId;
ULONG uChCenterFrequency;
USHORT usNumberOfMPDUsReceived;
LONG lRSSI;
UCHAR ucDataRate;
ULONG uSizeMediaSpecificInfo;
PVOID pvMediaSpecificInfo;
ULONGLONG ullTimestamp;
} DOT11_EXTSTA_RECV_CONTEXT, *PDOT11_EXTSTA_RECV_CONTEXT;
Membros
Header
O tipo, a revisão e o tamanho da estrutura DOT11_EXTSTA_RECV_CONTEXT. Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER .
O driver de miniporte deve definir os membros de Cabeçalho para os seguintes valores:
Tipo
Esse membro deve ser definido como NDIS_OBJECT_TYPE_DEFAULT.
Revisão
Esse membro deve ser definido como DOT11_EXTSTA_RECV_CONTEXT_REVISION_1.
Tamanho
Esse membro deve ser definido como sizeof(DOT11_EXTSTA_RECV_CONTEXT)
.
Para obter mais informações sobre esses membros, consulte NDIS_OBJECT_HEADER.
uReceiveFlags
Os atributos dos dados de pacote recebidos especificados por meio de uma máscara de bits.
Se o driver de miniporto estiver operando no modo ExtSTA, o driver sempre deverá definir uReceiveFlags como zero.
Os valores de sinalizador a seguir são válidos para o driver de miniporte se estiver operando no modo NetMon.
DOT11_RECV_FLAG_RAW_PACKET
Se esse bit estiver definido, o pacote conterá os dados, pois eles foram originalmente recebidos pela estação 802.11. Para obter mais informações sobre pacotes brutos, consulte Indicando pacotes brutos 802.11.
DOT11_RECV_FLAG_RAW_PACKET_FCS_FAILURE
Se esse bit for definido, os dados brutos do pacote foram recebidos com falhas de fcs (sequência de marcar de quadro).
DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP
Se esse bit estiver definido, a NIC definirá as informações de carimbo de data/hora no membro ullTimestamp .
uPhyId
O identificador (ID) do PHY no qual a estação 802.11 recebeu o pacote.
uChCenterFrequency
A frequência da central de canais, em unidades de megahertz (MHz), da faixa de frequência na qual a estação 802.11 recebeu o pacote.
usNumberOfMPDUsReceived
O número de fragmentos de MPDU (unidade de dados de protocolo) de controle de acesso de mídia (MAC) recebidos e remontados pela estação 802.11 do pacote. O valor de usNumberOfMPDUsReceived deve ser de um por meio do valor de DOT11_MAX_NUM_OF_FRAGMENTS.
lRSSI
O valor RSSI (indicação de força de sinal) recebido para o último fragmento MPDU recebido do pacote 802.11. O valor RSSI está em unidades de decibéis referenciadas a 1,0 miliwatts (dBm).
ucDataRate
A taxa de dados na qual a estação 802.11 recebeu o pacote. O valor de ucDataRate é o valor do membro ucDataRateIndex da taxa de dados da tabela de mapeamento de taxa de dados da estação 802.11. Para obter mais informações sobre a tabela de mapeamento de taxa de dados, consulte OID_DOT11_DATA_RATE_MAPPING_TABLE.
uSizeMediaSpecificInfo
O tamanho, em bytes, das informações específicas da mídia no membro pvMediaSpecificInfo . uSizeMediaSpecificInfo dá suporte à cópia das informações específicas da mídia e à passagem para uma extensão IHV.
pvMediaSpecificInfo
Um ponteiro para um buffer que contém informações específicas da mídia. O driver de miniporto poderá definir esse membro se o driver de miniporto passar dados OOB específicos da mídia para um driver de protocolo 802.3 específico do IHV.
A estrutura nativa 802.11 copia esse ponteiro para a entrada MediaSpecificInformation no membro NetBufferListInfo das estruturas de NET_BUFFER_LIST 802.3 no NDIS recebem indicações.
ullTimestamp
Um valor de temporizador TSF (função de sincronização de tempo) 802.11, em microssegundos, que especifica a hora em que o pacote foi recebido. Esse membro é fornecido para dar suporte à indicação de pacotes brutos 802.11.
Se uma NIC não der suporte a ullTimestamp, ela não deverá definir o sinalizador DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP no membro uReceiveFlags .
Comentários
Ao executar uma operação de recebimento do Native 802.11, o driver de miniporto deve formatar cada pacote recebido 802,11 como uma estrutura de NET_BUFFER_LIST , com os dados do pacote formatados como uma estrutura NET_BUFFER e vinculados à estrutura NET_BUFFER_LIST. Cada estrutura NET_BUFFER_LIST deve incluir dados OOB (fora de banda). Os dados OOB especificam os atributos do pacote recebido que são específicos para a mídia WLAN (LAN sem fio).
O driver de miniporte acessa os dados OOB do Native 802.11 por meio da macro NET_BUFFER_LIST_INFO com os seguintes parâmetros:
- O parâmetro _NBL , que é passado o ponteiro para a estrutura NET_BUFFER_LIST usada para o pacote 802.11 recebido.
- O parâmetro _ id , que é passado o valor do identificador (ID) de MediaSpecificInformation.
- Defina o valor de usNumberOfMPDUsReceived como um.
- Defina o valor de lRSSI como o valor RSSI do próprio pacote bruto.
- Defina o valor de ucDataRate como o valor ucDataRateIndex para o próprio pacote bruto.
- Defina o valor de ucRSSI como o valor RSSI normalizado para o próprio pacote bruto.
Para obter mais informações sobre operações de recebimento do Native 802.11, consulte Operações de recebimento nativas 802.11.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows. |
Cabeçalho | windot11.h (inclua Ndis.h) |