estrutura DOT11_EXTSTA_RECV_CONTEXT (windot11.h)
A estrutura de 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 De Estação Extensível (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 miniporto deve definir os membros do Header 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 miniporto se estiver operando no modo NetMon.
DOT11_RECV_FLAG_RAW_PACKET
Se esse bit for definido, o pacote conterá os dados como foram recebidos originalmente 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 verificação de quadros).
DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP
Se esse bit for definido, a NIC definirá as informações do 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 MHz (megahertz), 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 para o pacote. O valor de usNumberOfMPDUsReceived deve ser de um por meio do valor de DOT11_MAX_NUM_OF_FRAGMENTS.
lRSSI
O valor de RSSI (indicação de força de sinal recebido) para o último fragmento de 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 ucDataRateIndex membro 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 miniport pode 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. Este membro é fornecido para dar suporte a indicando 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.
Observações
Ao executar uma operação de recebimento Nativa 802.11, o driver de miniporto deve formatar cada pacote 802.11 recebido como uma estrutura de NET_BUFFER_LIST, com os dados do pacote formatados como uma estrutura de NET_BUFFER e vinculados à estrutura NET_BUFFER_LIST. Cada estrutura NET_BUFFER_LIST deve incluir dados OOB (fora de banda). Os dados do OOB especificam os atributos do pacote recebido que são específicos para a mídia WLAN (LAN sem fio).
O driver de miniporto acessa os dados OOB nativos 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 de 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 com o valor RSSI do próprio pacote bruto.
- Defina o valor de ucDataRate para o valor ucDataRateIndex para o próprio pacote bruto.
- Defina o valor de ucRSSI com o valor RSSI normalizado para o próprio pacote bruto.
Para obter mais informações sobre operações de recebimento nativas 802.11, consulte operações de recebimento nativas 802.11.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows. |
cabeçalho | windot11.h (inclua Ndis.h) |