estrutura DOT11_EXTSTA_RECV_CONTEXT (windot11.h)

Importante A interface lan sem fio Native 802.11 foi preterida em Windows 10 e posteriores. Em vez disso, use a WDI (Interface do Driver de Dispositivo) WLAN. Para obter mais informações sobre o WDI, consulte WLAN Modelo de driver Universal do Windows.

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).

Nota O driver de miniporte deve definir DOT11_RECV_FLAG_RAW_PACKET ao definir DOT11_RECV_FLAG_RAW_PACKET_FCS_FAILURE.

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.

Nota No momento, esse membro está reservado para uso futuro e deve conter zero.

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.

Nota No momento, as extensões IHV não podem receber a MediaSpecificInformation.

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.
Se o driver de miniporto definir DOT11_RECV_FLAG_RAW_PACKET no membro uReceiveFlags , o driver deverá seguir estas diretrizes ao preparar a estrutura DOT11_EXTSTA_RECV_CONTEXT:
  • 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 pacotes brutos, consulte Indicando pacotes brutos 802.11.

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)

Confira também

NdisMIndicateReceiveNetBufferLists

NET_BUFFER_LIST

NET_BUFFER

NET_BUFFER_LIST_INFO

OID_DOT11_DATA_RATE_MAPPING_TABLE

NDIS_OBJECT_HEADER