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) 整數值,與用於傳遞及控制傳遞 802.1Q 服務品質 (QoS) 資料的特定畫面格中顯示的流量標識碼 (TID) 字段相同。 0 到 7 的值代表 MAC 服務數據單位 (MSTU) 的 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) |