DOT11_EXTSTA_RECV_CONTEXT構造 (windot11.h)

大事なネイティブ 802.11 ワイヤレス LAN インターフェイスは、Windows 10 以降では非推奨となりました。 代わりに WLAN デバイス ドライバー インターフェイス (WDI) を使用してください。 WDI の詳細については、「 WLAN ユニバーサル Windows ドライバー モデル」を参照してください。

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 構造体として書式設定されます。

ミニポート ドライバーは、 ヘッダー のメンバーを次の値に設定する必要があります。

このメンバーは、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_FCS_FAILUREを設定するときにDOT11_RECV_FLAG_RAW_PACKETを設定する必要があります。

DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP

このビットが設定されている場合、NIC は ullTimestamp メンバーのタイムスタンプ情報を設定します。

uPhyId

802.11 ステーションがパケットを受信した PHY の識別子 (ID)。

uChCenterFrequency

802.11 ステーションがパケットを受信した周波数帯域のチャネル中心周波数 (メガヘルツ (MHz) 単位)。

usNumberOfMPDUsReceived

パケットの 802.11 ステーションによって受信および再構成されたメディア アクセス制御 (MAC) プロトコル データ ユニット (MPDU) フラグメントの数。 usNumberOfMPDUsReceived の値は、1 から 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

pvMediaSpecificInfo メンバーのメディア固有情報のサイズ (バイト単位)。 uSizeMediaSpecificInfo では、メディア固有の情報のコピーと IHV 拡張機能への渡しがサポートされています。

メモ このメンバーは現在、将来使用するために予約されており、ゼロを含める必要があります。

pvMediaSpecificInfo

メディア固有の情報を含むバッファーへのポインター。 ミニポート ドライバーは、ミニポート ドライバーが IHV 固有の 802.3 プロトコル ドライバーにメディア固有の OOB データを渡す場合、このメンバーを設定できます。

ネイティブ 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 マクロを介してネイティブ 802.11 OOB データにアクセスします。

  • _NBL パラメーター。受信した 802.11 パケットに使用されるNET_BUFFER_LIST構造体へのポインターが渡されます。
  • _ id パラメーター。 MediaSpecificInformation の識別子 (ID) 値が渡されます。
ミニポート ドライバーが uReceiveFlags メンバーでDOT11_RECV_FLAG_RAW_PACKETを設定する場合、ドライバーは、DOT11_EXTSTA_RECV_CONTEXT構造を準備するときに、次のガイドラインに従う必要があります。
  • usNumberOfMPDUsReceived の値を 1 に設定します。
  • lRSSI の値を、生パケット自体の RSSI 値に設定します。
  • ucDataRate の値を、生パケット自体の ucDataRateIndex 値に設定します。
  • ucRSSI の値を、生パケット自体の正規化された RSSI 値に設定します。
生パケットの詳細については、「 生 802.11 パケットを示す」を参照してください。

Native 802.11 の受信操作の詳細については、「 Native 802.11 Receive Operations」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。
Header windot11.h (Ndis.h を含む)

こちらもご覧ください

NdisMIndicateReceiveNetBufferLists

NET_BUFFER_LIST

NET_BUFFER

NET_BUFFER_LIST_INFO

OID_DOT11_DATA_RATE_MAPPING_TABLE

NDIS_OBJECT_HEADER