структура DOT11_EXTSTA_RECV_CONTEXT (windot11.h)

ВажноСобственный интерфейс беспроводной локальной сети 802.11 не рекомендуется использовать в Windows 10 и более поздних версиях. Вместо этого используйте интерфейс WLAN Device Driver Interface (WDI). Дополнительные сведения о WDI см. в статье Модель универсального драйвера WLAN для Windows.

Структура DOT11_EXTSTA_RECV_CONTEXT определяет собственные атрибуты 802.11 для полученного пакета на станции 802.11 и указывается драйвером мини-порта, работающим в режимах Расширяемая станция (ExtSTA) или Сетевой монитор (NetMon). Дополнительные сведения об этих режимах работы см. в разделе Собственные режимы работы 802.11.

Синтаксис

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;

Члены

Header

Тип, редакция и размер структуры DOT11_EXTSTA_RECV_CONTEXT. Этот элемент отформатирован как структура NDIS_OBJECT_HEADER .

Драйвер мини-порта должен задать для членов Header следующие значения:

Тип

Для этого элемента необходимо задать значение NDIS_OBJECT_TYPE_DEFAULT.

Редакция

Для этого элемента необходимо задать значение DOT11_EXTSTA_RECV_CONTEXT_REVISION_1.

Размер

Для этого элемента должно быть задано значение sizeof(DOT11_EXTSTA_RECV_CONTEXT).

Дополнительные сведения об этих элементах см. в разделе NDIS_OBJECT_HEADER.

uReceiveFlags

Атрибуты полученных данных пакета, указанные с помощью битовой маски.

Если драйвер мини-порта работает в режиме ExtSTA, драйвер должен всегда устанавливать для uReceiveFlags значение 0.

Следующие значения флагов допустимы для драйвера мини-порта, если работает в режиме NetMon.

DOT11_RECV_FLAG_RAW_PACKET

Если этот бит задан, пакет содержит данные, которые были первоначально получены станцией 802.11. Дополнительные сведения о необработанных пакетах см. в разделе Указание необработанных пакетов 802.11.

DOT11_RECV_FLAG_RAW_PACKET_FCS_FAILURE

Если этот бит задан, необработанные данные пакета были получены со сбоями последовательности кадров проверка (FCS).

Примечание Драйвер мини-порта должен задать DOT11_RECV_FLAG_RAW_PACKET при настройке DOT11_RECV_FLAG_RAW_PACKET_FCS_FAILURE.

DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP

Если этот бит задан, сетевой адаптер задает сведения о метке времени в элементе ullTimestamp .

uPhyId

Идентификатор PHY, в котором станция 802.11 получила пакет.

uChCenterFrequency

Центральная частота канала в единицах мегагерц (МГц) диапазона частот, в котором станция 802.11 получила пакет.

usNumberOfMPDUsReceived

Количество фрагментов mpdu, полученных и повторно собираемых станцией 802.11 станции 802.11 для пакета. Значение usNumberOfMPDUsReceived должно быть от единицы до значения DOT11_MAX_NUM_OF_FRAGMENTS.

lRSSI

Значение RSSI для последнего полученного фрагмента MPDU пакета 802.11. Значение RSSI находится в единицах децибел, на которые ссылается 1,0 милливатта (dBm).

ucDataRate

Скорость передачи данных, с которой станция 802.11 получила пакет. Значение ucDataRate — это значение элемента ucDataRateIndex скорости данных из таблицы сопоставления скорости данных станции 802.11. Дополнительные сведения о таблице сопоставления скорости данных см. в разделе OID_DOT11_DATA_RATE_MAPPING_TABLE.

uSizeMediaSpecificInfo

Размер (в байтах) сведений о носителе в элементе pvMediaSpecificInfo . uSizeMediaSpecificInfo поддерживает копирование сведений о носителях и их передачу в расширение IHV.

Примечание Этот элемент в настоящее время зарезервирован для использования в будущем и должен содержать ноль.

pvMediaSpecificInfo

Указатель на буфер, содержащий сведения о носителях. Драйвер мини-порта может установить этот член, если драйвер минипорта передает данные OOB для конкретного носителя драйверу протокола 802.3 для IHV.

Собственная платформа 802.11 копирует этот указатель на запись MediaSpecificInformation в элементе NetBufferListInfoNET_BUFFER_LIST структур 802.3 в указаниях получения NDIS.

Примечание Расширения IHV в настоящее время не могут получить MediaSpecificInformation.

ullTimestamp

Значение таймера синхронизации времени (TSF) 802.11 в микросекундах, указывающее время получения пакета. Этот член предоставляется для поддержки указания необработанных пакетов 802.11.

Если сетевой адаптер не поддерживает ullTimestamp, он не должен устанавливать флаг DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP в элементе uReceiveFlags .

Комментарии

При выполнении операции получения в собственном коде 802.11 драйвер мини-порта должен отформатировать каждый полученный пакет 802.11 как NET_BUFFER_LIST структуру, при этом данные пакета отформатированы в виде структуры NET_BUFFER и связаны со структурой NET_BUFFER_LIST. Каждая NET_BUFFER_LIST структура должна включать внеполосные (OOB) данные. Данные OOB указывают атрибуты полученного пакета, относящиеся к носителю беспроводной локальной сети (WLAN).

Драйвер мини-порта обращается к данным OOB native 802.11 с помощью макроса NET_BUFFER_LIST_INFO со следующими параметрами:

  • Параметр _NBL , который передает указатель на структуру NET_BUFFER_LIST , используемую для полученного пакета 802.11.
  • Параметр _ id , которому передается значение идентификатора (ID) объекта MediaSpecificInformation.
Если драйвер мини-порта задает DOT11_RECV_FLAG_RAW_PACKET в элементе uReceiveFlags , драйвер должен следовать следующим рекомендациям при подготовке структуры DOT11_EXTSTA_RECV_CONTEXT:
  • Задайте для параметра usNumberOfMPDUsReceived значение one.
  • Задайте для lRSSI значение RSSI для самого необработанного пакета.
  • Задайте для параметра ucDataRate значение ucDataRateIndex для самого необработанного пакета.
  • Задайте для параметра ucRSSI нормализованное значение RSSI для самого необработанного пакета.
Дополнительные сведения о необработанных пакетах см. в разделе Указание необработанных пакетов 802.11.

Дополнительные сведения об операциях получения в машинной версии 802.11 см. в разделе Операции получения в машинной версии 802.11.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Верхняя часть windot11.h (включая Ndis.h)

См. также раздел

NdisMIndicateReceiveNetBufferLists

NET_BUFFER_LIST

NET_BUFFER

NET_BUFFER_LIST_INFO

OID_DOT11_DATA_RATE_MAPPING_TABLE

NDIS_OBJECT_HEADER