DOT11_EXTSTA_RECV_CONTEXT構造 (windot11.h)
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_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 エントリにこのポインターをコピーします。
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) 値が渡されます。
- usNumberOfMPDUsReceived の値を 1 に設定します。
- lRSSI の値を、生パケット自体の RSSI 値に設定します。
- ucDataRate の値を、生パケット自体の ucDataRateIndex 値に設定します。
- ucRSSI の値を、生パケット自体の正規化された RSSI 値に設定します。
Native 802.11 の受信操作の詳細については、「 Native 802.11 Receive Operations」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
Header | windot11.h (Ndis.h を含む) |