DOT11_EXTSTA_RECV_CONTEXT 結構 (windot11.h)
DOT11_EXTSTA_RECV_CONTEXT 結構會定義 802.11 月臺所接收封包的 Native 802.11 屬性,並以在 Extensible Station (ExtSTA) 或 Network Monitor (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 設定為零。
如果以 NetMon 模式運作,則下列旗標值對迷你埠驅動程式有效。
DOT11_RECV_FLAG_RAW_PACKET
如果設定此位,封包會包含原本由802.11站接收的數據。 如需原始封包的詳細資訊,請參閱 指出原始 802.11 封包。
DOT11_RECV_FLAG_RAW_PACKET_FCS_FAILURE
如果設定此位,則原始封包數據會以畫面檢查順序接收, (FCS) 失敗。
DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP
如果設定此位,NIC 會在 ullTimestamp 成員中設定時間戳資訊。
uPhyId
802.11 月臺收到封包的 PHY 標識碼 (標識碼) 。
uChCenterFrequency
通道中心頻率,以 mbhertz (MHz) 為單位,這是 802.11 站接收封包的頻率帶。
usNumberOfMPDUsReceived
MAC () 通訊協定數據單位的媒體訪問控制數目, (MPDU) 封包的 802.11 月臺所接收和重新組譯的片段。 usNumberOfMPDUsReceived 的值必須是從一到 DOT11_MAX_NUM_OF_FRAGMENTS 的值。
lRSSI
收到的訊號強度指示 (RSSI) 802.11 封包最後收到的 MPDU 片段值。 RSSI 值為 1.0 milliwatts (dBm) 所參考的分貝單位。
ucDataRate
802.11 月臺接收封包的數據速率。 ucDataRate 的值是 802.11 月台數據速率對應數據表中 ucDataRateIndex 成員的值。 如需有關數據速率對應數據表的詳細資訊,請參閱 OID_DOT11_DATA_RATE_MAPPING_TABLE。
uSizeMediaSpecificInfo
pvMediaSpecificInfo 成員之媒體特定資訊的大小,以位元組為單位。 uSizeMediaSpecificInfo 支援複製媒體特定資訊,並將它傳遞至 IHV 擴充功能。
pvMediaSpecificInfo
包含媒體特定信息的緩衝區指標。 如果迷你埠驅動程式將媒體特定 OOB 數據傳遞至 IHV 特定的 802.3 通訊協定驅動程式,迷你埠驅動程式可以設定此成員。
原生 802.11 架構會將此指標複製到 NDIS 中 802.3 NET_BUFFER_LIST 結構之 NetBufferListInfo 成員的 MediaSpecificInformation 專案接收指示。
ullTimestamp
802.11 計時同步處理函式 (TSF) 定時器值,以微秒為單位,指定收到封包的時間。 此成員提供以支援 指出原始 802.11 封包。
如果 NIC 不支援 ullTimestamp,它不得在 uReceiveFlags 成員中設定DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP旗標。
備註
執行 Native 802.11 接收作業時,迷你埠驅動程式必須將每個收到的 802.11 封包格式化為 NET_BUFFER_LIST 結構,並將封包數據格式化為 NET_BUFFER 結構,並連結到NET_BUFFER_LIST結構。 每個NET_BUFFER_LIST結構都必須包含頻外 (OOB) 數據。 OOB 數據會指定無線 LAN (WLAN) 媒體專屬的已接收封包屬性。
迷你埠驅動程式會透過 NET_BUFFER_LIST_INFO 宏,使用下列參數來存取 Native 802.11 OOB 數據:
- _NBL 參數,它會將指標傳遞給接收的 802.11 封包所使用的NET_BUFFER_LIST結構。
- _ id 參數,它會傳遞 MediaSpecificInformation 的識別碼 (標識子) 值。
- 將 usNumberOfMPDUsReceived的值設定 為一個。
- 將 lRSSI 的值設定為原始封包本身的 RSSI 值。
- 將 ucDataRate 的值設定為原始封包本身的 ucDataRateIndex 值。
- 將 ucRSSI 的值設定為原始封包本身的標準化 RSSI 值。
如需 Native 802.11 接收作業的詳細資訊,請參閱 Native 802.11 接收作業。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
標頭 | windot11.h (包含 Ndis.h) |