共用方式為


DOT11_EXTSTA_RECV_CONTEXT 結構 (windot11.h)

重要原生 802.11 無線 LAN 介面在 Windows 10 和更新版本中已被取代。 請改用 WLAN 設備驅動器介面 (WDI) 。 如需 WDI 的詳細資訊,請參閱 WLAN 通用 Windows 驅動程式模型

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_FCS_FAILURE時,迷你埠驅動程序必須設定DOT11_RECV_FLAG_RAW_PACKET。

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 專案接收指示。

注意 IHV 擴充功能目前無法接收 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 的識別碼 (標識子) 值。
如果迷你埠驅動程式在 uReceiveFlags 成員中設定DOT11_RECV_FLAG_RAW_PACKET,驅動程式必須在準備DOT11_EXTSTA_RECV_CONTEXT結構時遵循下列指導方針:
  • usNumberOfMPDUsReceived的值設定 為一個。
  • lRSSI 的值設定為原始封包本身的 RSSI 值。
  • ucDataRate 的值設定為原始封包本身的 ucDataRateIndex 值。
  • ucRSSI 的值設定為原始封包本身的標準化 RSSI 值。
如需原始封包的詳細資訊,請參閱 指出原始 802.11 封包

如需 Native 802.11 接收作業的詳細資訊,請參閱 Native 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