NDIS_NET_BUFFER_LIST_8021Q_INFO構造体 (ndis/nbl8021q.h)
NDIS_NET_BUFFER_LIST_8021Q_INFO構造体は、 NET_BUFFER_LIST 構造体に関連付けられている 802.1Q 情報を指定します。
構文
typedef struct _NDIS_NET_BUFFER_LIST_8021Q_INFO {
union {
struct {
UINT32 UserPriority : 3;
UINT32 CanonicalFormatId : 1;
UINT32 VlanId : 12;
UINT32 Reserved : 16;
} TagHeader;
struct {
UINT32 UserPriority : 3;
UINT32 CanonicalFormatId : 1;
UINT32 VlanId : 12;
UINT32 WMMInfo : 4;
UINT32 Reserved : 12;
} WLanTagHeader;
PVOID Value;
};
} NDIS_NET_BUFFER_LIST_8021Q_INFO, *PNDIS_NET_BUFFER_LIST_8021Q_INFO;
メンバー
TagHeader
NDIS_NET_BUFFER_LIST_8021Q_INFOに含まれる共用体内のメンバー。 802.3 イーサネット ミニポート ドライバーは 、TagHeader を使用して 802.1Q 情報にアクセスします。 TagHeader は、次のメンバーを持つビット フィールドです。
TagHeader.UserPriority
共有メディア 802 ネットワークでパケット優先度を確立するために使用される 802.1p 優先度情報を指定します。 このメンバーのビットは、802.1p 優先度値を指定します。
TagHeader.CanonicalFormatId
このメンバーは 0 に設定する必要があります。これは、パケットに存在するすべての MAC アドレス情報が正規形式 (つまり最も単純な形式) であることを示します。
TagHeader.VlanId
パケットが属する VLAN を識別します。 送信パケットは VLAN 識別子でマークされます。
TagHeader.Reserved
このメンバーは予約済みであり、0 に設定する必要があります。
WLanTagHeader
NDIS_NET_BUFFER_LIST_8021Q_INFOに含まれる共用体内のメンバー。 ネイティブ 802.11 ミニポート ドライバーは 、WLanTagHeader を使用して 802.1Q 情報にアクセスします。 WLanTagHeader は、次のメンバーを持つビット フィールドです。
WLanTagHeader.UserPriority
共有メディア 802 ネットワークでパケット優先度を確立するために使用される 802.1p 優先度情報を指定します。 このメンバーのビットは、802.1p 優先度値を指定します。
WLanTagHeader.CanonicalFormatId
このメンバーは 0 に設定する必要があります。これは、パケットに存在するすべての MAC アドレス情報が正規形式 (つまり最も単純な形式) であることを示します。
WLanTagHeader.VlanId
パケットが属する VLAN を識別します。 送信パケットは VLAN 識別子でマークされます。
WLanTagHeader.WMMInfo
802.1Q サービス品質 (QoS) データの配信を制御するために使用される特定のフレームに表示されるトラフィック識別子 (TID) フィールドと同じワイヤレス マルチメディア (WMM) 整数値。 値 0 から 7 は、MAC サービス データ ユニット (MSDU) の QoS ユーザー優先度 (IP) を表します。 値 8 から 15 は予約されています。 したがって、 WMMInfo の最上位ビットは 0 である必要があります。
WLanTagHeader.Reserved
このメンバーは予約済みであり、0 に設定する必要があります。
Value
NDIS_NET_BUFFER_LIST_8021Q_INFOに含まれる共用体内のメンバー。 Value には、NET_BUFFER_LIST構造体の NetBufferListInfo メンバーと型互換のポインター値が含まれます。
注釈
NET_BUFFER_LIST構造体に関連付けられている 802.1Q 情報を取得または挿入するために、NDIS ドライバーは NET_BUFFER_LIST_INFO マクロを呼び出し、Ieee8021QNetBufferListInfo 情報型を指定します。
NET_BUFFER_LIST_INFO マクロは、NDIS_NET_BUFFER_LIST_8021Q_INFO構造体の Value メンバーで指定されたポインターを返します。 NDIS ドライバーは、共用体の TagHeader または WLanTagHeader メンバーを使用して、802.1p 優先度や VLAN 識別子情報などの特定の種類の情報にアクセスできます。 WLanTagHeader メンバーは、TagHeader メンバーから入手できる情報に加えて、ワイヤレス マルチメディア (WMM) 情報へのアクセスを提供します。
ハードウェアで 802.1Q タグをサポートするミニポート ドライバーは、送受信操作にNDIS_NET_BUFFER_LIST_8021Q_INFO構造を使用する必要があります。
- 送信操作の場合、ミニポート ドライバーは、NET_BUFFER_LIST構造の OOB データNDIS_NET_BUFFER_LIST_8021Q_INFOチェックする必要があります。 ミニポート ドライバーは、ハードウェアがNDIS_NET_BUFFER_LIST_8021Q_INFO仕様から 802.1Q タグを作成し、イーサネット フレームに挿入することを確認する必要があります。
- 受信操作の場合、ミニポート ドライバーはイーサネット フレームから 802.1Q タグを削除し、802.1Q タグ情報を、データを NDIS に示す前に、NET_BUFFER_LIST構造のNDIS_NET_BUFFER_LIST_8021Q_INFO OOB データにマップする必要があります。 NdisMIndicateReceiveNetBufferLists 関数。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | NDIS 6.0 以降でサポートされています。 |
Header | ndis/nbl8021q.h (ndis.h を含む) |