次の方法で共有


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 である必要があります。

注意 トラフィック仕様 (TSPEC) とトラフィック分類 (TCLAS) はサポートされていません。
 

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 を含む)

関連項目

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists