DOT11_EXTSTA_RECV_CONTEXT Struktur (windot11.h)
Die DOT11_EXTSTA_RECV_CONTEXT Struktur definiert die Native 802.11-Attribute eines empfangenen Pakets von der Station 802.11 und wird durch den Miniporttreiber angegeben, der entweder im Extensible Station (ExtSTA)- oder Network Monitor (NetMon)-Modus (NetMon) ausgeführt wird. Weitere Informationen zu diesen Vorgangsmodi finden Sie unter Native 802.11 Operation Modes.
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
Der Typ, die Überarbeitung und die Größe der DOT11_EXTSTA_RECV_CONTEXT Struktur. Dieses Element ist als NDIS_OBJECT_HEADER Struktur formatiert.
Der Miniporttreiber muss die Member Header- auf die folgenden Werte festlegen:
Dieses Element muss auf NDIS_OBJECT_TYPE_DEFAULT festgelegt werden.
Dieses Element muss auf DOT11_EXTSTA_RECV_CONTEXT_REVISION_1 festgelegt werden.
Dieses Element muss auf sizeof(DOT11_EXTSTA_RECV_CONTEXT)
festgelegt werden.
Weitere Informationen zu diesen Mitgliedern finden Sie unter NDIS_OBJECT_HEADER.
uReceiveFlags
Die Attribute der empfangenen Paketdaten, die über eine Bitmaske angegeben wurden.
Wenn der Miniporttreiber im ExtSTA-Modus ausgeführt wird, muss der Treiber immer uReceiveFlags auf Null festlegen.
Die folgenden Flagwerte sind für den Miniporttreiber gültig, wenn er im NetMon-Modus ausgeführt wird.
Wenn dieses Bit festgelegt ist, enthält das Paket die Daten, die ursprünglich von der Station 802.11 empfangen wurden. Weitere Informationen zu unformatierten Paketen finden Sie unter Angeben von Unformatierten 802.11-Paketen.
Wenn dieses Bit festgelegt ist, wurden die unformatierten Paketdaten mit FcS-Fehlern (Frame Check Sequence) empfangen.
Wenn dieses Bit festgelegt ist, legt die NIC die Zeitstempelinformationen im ullTimestamp Member fest.
uPhyId
Der Bezeichner (ID) des PHY, auf dem die 802.11-Station das Paket empfangen hat.
uChCenterFrequency
Die Kanalmittelfrequenz in Einheiten von Megahertz (MHz) des Frequenzbands, auf dem die 802.11-Station das Paket empfangen hat.
usNumberOfMPDUsReceived
Die Anzahl der MPDU-Fragmente (Media Access Control), die von der 802.11-Station für das Paket empfangen und neu zusammengesetzt wurden. Der Wert von usNumberOfMPDUsReceived muss zwischen dem Wert DOT11_MAX_NUM_OF_FRAGMENTS sein.
lRSSI
Der RssI-Wert (Received Signal Strength Indication) für das letzte empfangene MPDU-Fragment des Pakets 802.11. Der RSSI-Wert ist in Einheiten von Dezibeln, auf die auf 1,0 Milliwatt (dBm) verwiesen wird.
ucDataRate
Die Datenrate, mit der die 802.11-Station das Paket empfangen hat. Der Wert ucDataRate ist der Wert des ucDataRateIndex Member der Datenrate aus der Datenratetabelle 802,11 der Station. Weitere Informationen zur Datenratenzuordnungstabelle finden Sie unter OID_DOT11_DATA_RATE_MAPPING_TABLE.
uSizeMediaSpecificInfo
Die Größe der medienspezifischen Informationen im pvMediaSpecificInfo Member in Bytes. uSizeMediaSpecificInfo unterstützt das Kopieren der medienspezifischen Informationen und das Übergeben an eine IHV-Erweiterung.
pvMediaSpecificInfo
Ein Zeiger auf einen Puffer, der medienspezifische Informationen enthält. Der Miniporttreiber kann dieses Element festlegen, wenn der Miniporttreiber medienspezifische OOB-Daten an einen IHV-spezifischen 802.3-Protokolltreiber übergibt.
Das systemeigene 802.11-Framework kopiert diesen Zeiger in den MediaSpecificInformation Eintrag im NetBufferListInfo Member der 802.3-NET_BUFFER_LIST Strukturen in NDIS erhalten Hinweise.
ullTimestamp
Ein 802.11-Zeitgeberwert (Timing Synchronization Function, TSF) in Mikrosekunden, der die Uhrzeit angibt, zu der das Paket empfangen wurde. Dieses Mitglied wird bereitgestellt, um anzugeben, dass unformatierte 802.11-Pakete.
Wenn eine NIC ullTimestamp-nicht unterstützt, darf das DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP Flag im uReceiveFlags-Element nicht festgelegt werden.
Beim Ausführen eines Native 802.11-Empfangsvorgangs muss der Miniporttreiber jedes empfangene 802.11-Paket als NET_BUFFER_LIST Struktur formatieren, wobei die Paketdaten als NET_BUFFER Struktur formatiert und mit der NET_BUFFER_LIST Struktur verknüpft sind. Jede NET_BUFFER_LIST Struktur muss Out-of-Band-Daten (Out-of-Band, OOB) enthalten. Die OOB-Daten geben die Attribute des empfangenen Pakets an, die für die WLAN-Medien (Wireless LAN) spezifisch sind.
Der Miniporttreiber greift über das NET_BUFFER_LIST_INFO-Makro mit den folgenden Parametern auf die OOB-Daten native 802.11 zu:
- Der parameter _NBL, der den Zeiger an die NET_BUFFER_LIST Struktur übergeben wird, die für das empfangene 802.11-Paket verwendet wird.
- Die _id Parameter, der den ID-Wert MediaSpecificInformationübergeben wird.
- Legen Sie den Wert von usNumberOfMPDUsReceived auf eins fest.
- Legen Sie den Wert von lRSSI- auf den RSSI-Wert für das rohe Paket selbst fest.
- Legen Sie den Wert ucDataRate- auf den ucDataRateIndex- Wert für das unformatierte Paket selbst fest.
- Legen Sie den Wert von ucRSSI- auf den normalisierten RSSI-Wert für das rohe Paket selbst fest.
Weitere Informationen zu Native 802.11-Empfangsvorgängen finden Sie unter Native 802.11 Empfangsvorgänge.
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Header- | windot11.h (include Ndis.h) |