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 中的最高位必須是零。
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 驅動程式可以使用等位的 TagHeader 或 WLanTagHeader 成員來存取特定類型的資訊,例如 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) |