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 以降でサポートされています。 |
ヘッダー | ndis/nbl8021q.h (ndis.h を含む) |