структура DOT11_EXTSTA_RECV_CONTEXT (windot11.h)
Структура 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_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.
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.
- Задайте для параметра usNumberOfMPDUsReceived значение one.
- Задайте для lRSSI значение RSSI для самого необработанного пакета.
- Задайте для параметра ucDataRate значение ucDataRateIndex для самого необработанного пакета.
- Задайте для параметра ucRSSI нормализованное значение RSSI для самого необработанного пакета.
Дополнительные сведения об операциях получения в машинной версии 802.11 см. в разделе Операции получения в машинной версии 802.11.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Верхняя часть | windot11.h (включая Ndis.h) |