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.1p 優先順序資訊,用來在共用媒體 802 網路中建立封包優先順序。 這個成員中的位會指定 802.1p 優先順序值。

TagHeader.CanonicalFormatId

此成員應設定為零,表示封包中的所有 MAC 位址資訊都是標準格式 (,也就是最簡單的格式) 。

TagHeader.VlanId

識別封包所屬的 VLAN。 傳出封包會以 VLAN 標識符標示。

TagHeader.Reserved

這個成員是保留的,而且應該設定為零。

WLanTagHeader

包含在 NDIS_NET_BUFFER_LIST_8021Q_INFO 中的等位成員。 原生 802.11 迷你埠驅動程式會使用 WLanTagHeader 來存取 802.1Q 資訊。 WLanTagHeader 是具有下列成員的位字段:

WLanTagHeader.UserPriority

指定 802.1p 優先順序資訊,用來在共用媒體 802 網路中建立封包優先順序。 這個成員中的位會指定 802.1p 優先順序值。

WLanTagHeader.CanonicalFormatId

此成員應設定為零,表示封包中的所有 MAC 位址資訊都是標準格式 (,也就是最簡單的格式) 。

WLanTagHeader.VlanId

識別封包所屬的 VLAN。 傳出封包會以 VLAN 標識符標示。

WLanTagHeader.WMMInfo

無線多媒體 (WMM) 整數值,與流量標識碼 (TID) 字段相同,這些字段出現在用來傳遞及控制 802.1Q 服務品質 (QoS) 數據的傳遞。 值 0 到 7 代表 MSDUs) MAC 服務數據單位 (的 QoS 使用者優先順序 (UP) 。 保留值 8 到 15。 因此, WMMInfo 中的最高位必須是零。

注意 不支援 TSPEC) 和流量分類 (TCLAS) 的流量 (規格。
 

WLanTagHeader.Reserved

這個成員是保留的,而且應該設定為零。

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 驅動程式可以使用等位的 TagHeaderWLanTagHeader 成員來存取特定類型的資訊,例如 802.1p 優先順序和 VLAN 識別符資訊。 WLanTagHeader 成員除了可透過 TagHeader 成員取得的資訊之外,還提供無線多媒體 (WMM) 資訊的存取權。

支援硬體中 802.1Q 標籤的迷你埠驅動程式必須使用NDIS_NET_BUFFER_LIST_8021Q_INFO結構來進行傳輸和接收作業:

  • 對於傳輸作業,迷你埠驅動程序必須檢查 NET_BUFFER_LIST結構中的 NDIS_NET_BUFFER_LIST_8021Q_INFO OOB 數據。 迷你埠驅動程式必須確定硬體會從NDIS_NET_BUFFER_LIST_8021Q_INFO規格建立 802.1Q 標籤,並將其插入乙太網路框架中。
  • 針對接收作業,迷你埠驅動程序必須從乙太網路框架移除 802.1Q 標籤,並將 802.1Q 標籤資訊對應至NET_BUFFER_LIST結構中的 NDIS_NET_BUFFER_LIST_8021Q_INFO OOB 數據,然後才能使用 NDIS 向 NDIS 指出數據 NdisMIndicateReceiveNetBufferLists 函式。

規格需求

需求
最低支援的用戶端 NDIS 6.0 和更新版本支援。
標頭 ndis/nbl8021q.h (include ndis.h)

另請參閱

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists