DOT11_EXTSTA_RECV_CONTEXT構造体 (windot11.h)
DOT11_EXTSTA_RECV_CONTEXT構造体は、802.11 ステーションによって受信されたパケットのネイティブ 802.11 属性を定義し、拡張可能なステーション (ExtSTA) またはネットワーク モニター (NetMon) モードで動作しているミニポート ドライバーによって示されます。 これらの操作モードの詳細については、「Native 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_TIMESTAMP
このビットが設定されている場合、NIC は、ullTimestamp メンバーのタイムスタンプ情報を設定します。
uPhyId
802.11 ステーションがパケットを受信した PHY の識別子 (ID)。
uChCenterFrequency
802.11 ステーションがパケットを受信した周波数帯域のチャネル 中心周波数 (メガヘルツ (MHz) 単位)。
usNumberOfMPDUsReceived
パケットの 802.11 ステーションによって受信および再構成されたメディア アクセス制御 (MAC) プロトコル データ ユニット (MPDU) フラグメントの数。 usNumberOfMPDUsReceived 値は、DOT11_MAX_NUM_OF_FRAGMENTSの値から 1 つまでの値である必要があります。
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 エントリにコピーします。
ullTimestamp
パケットが受信された時刻を指定する 802.11 タイミング同期関数 (TSF) タイマー値 (マイクロ秒単位)。 このメンバーは、生の 802.11 パケット を示すをサポートするために提供されます。
NIC が ullTimestamp サポートしていない場合は、uReceiveFlags メンバーにDOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP フラグを設定しないでください。
備考
ネイティブ 802.11 受信操作を実行する場合、ミニポート ドライバーは、NET_BUFFER 構造体として書式設定され、NET_BUFFER_LIST構造体にリンクされたパケット データを使用して、受信した各 802.11 パケットを 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) 値渡されます。
- usNumberOfMPDUsReceived の値 1 に設定します。
- lRSSI の値を、生パケット自体の RSSI 値に設定します。
- ucDataRate の値を、生パケット自体の ucDataRateIndex 値に設定します。
- ucRSSI の値を、生パケット自体の正規化された RSSI 値に設定します。
Native 802.11 の受信操作の詳細については、「Native 802.11 Receive Operations」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ヘッダー | windot11.h (Ndis.h を含む) |