共用方式為


DOT11_EXTSTA_RECV_CONTEXT結構(windot11.h)

重要 Windows 10 和更新版本中已淘汰 Native 802.11 無線 LAN 介面。 請改用 WLAN 裝置驅動器介面 (WDI)。 如需 WDI 的詳細資訊,請參閱 WLAN 通用 Windows 驅動程式模型。

DOT11_EXTSTA_RECV_CONTEXT 結構會定義 802.11 月臺所接收封包的 Native 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 設定為零。

如果以 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

PHY 的標識碼(ID),802.11 月臺接收封包。

uChCenterFrequency

通道中心頻率,單位為兆赫(MHz),802.11 站接收封包的頻率頻帶。

usNumberOfMPDUsReceived

封包的 802.11 站所接收和重新組合的媒體存取控制 (MAC) 通訊協定資料單位 (MPDU) 片段數目。 usNumberOfMPDUsReceived 的值必須從一個值到 DOT11_MAX_NUM_OF_FRAGMENTS 的值。

lRSSI

上次接收之 802.11 封包之 MPDU 片段的接收訊號強度指示 (RSSI) 值。 RSSI 值是以 1.0 千瓦特 (dBm) 參考的分貝單位為單位。

ucDataRate

802.11 月臺接收封包的數據速率。 ucDataRate 的值是 802.11 月臺數據速率對應數據表中數據速率 成員 ucDataRateIndex 的值。 如需有關數據速率對應數據表的詳細資訊,請參閱 OID_DOT11_DATA_RATE_MAPPING_TABLE

uSizeMediaSpecificInfo

pvMediaSpecificIn fo 成員之媒體特定資訊的大小,以位元組為單位。 uSizeMediaSpecificInfo 支援複製媒體特定資訊,並將其傳遞至 IHV 擴充功能。

注意 此成員目前保留供日後使用,且必須包含零。

pvMediaSpecificInfo

包含媒體特定信息的緩衝區指標。 如果迷你埠驅動程式將媒體特定的 OOB 數據傳遞至 IHV 特定的 802.3 通訊協定驅動程式,則迷你埠驅動程式可以設定此成員。

原生 802.11 架構會將此指標複製到 NDIS 中 802.3 NET_BUFFER_LIST 結構的 NetBufferListInfo 成員 MediaSpecificInform ation 專案。

附註 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 結構。
  • _標識符 參數,這個參數會傳遞 mediaSpecificInformation 標識符 (ID) 值。
如果迷你埠驅動程式在 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