共用方式為


NDIS_SWITCH_PORT_PROPERTY_VLAN 結構 (ntddndis.h)

NDIS_SWITCH_PORT_PROPERTY_VLAN 結構會指定 Hyper-V 可延伸交換器埠的虛擬局域網路 (VLAN) 原則屬性。

語法

typedef struct _NDIS_SWITCH_PORT_PROPERTY_VLAN {
  NDIS_OBJECT_HEADER         Header;
  ULONG                      Flags;
  NDIS_SWITCH_PORT_VLAN_MODE OperationMode;
  union {
    struct {
      UINT16 AccessVlanId;
      UINT16 NativeVlanId;
      UINT64 PruneVlanIdArray[64];
      UINT64 TrunkVlanIdArray[64];
    } VlanProperties;
    struct {
      NDIS_SWITCH_PORT_PVLAN_MODE PvlanMode;
      UINT16                      PrimaryVlanId;
      union {
        UINT16 SecondaryVlanId;
        UINT64 SecondaryVlanIdArray[64];
      };
    } PvlanProperties;
  };
} NDIS_SWITCH_PORT_PROPERTY_VLAN, *PNDIS_SWITCH_PORT_PROPERTY_VLAN;

成員

Header

NDIS_SWITCH_PORT_PROPERTY_VLAN 結構的型別、修訂和大小。 此成員的格式為 NDIS_OBJECT_HEADER 結構。

HeaderType 成員必須設定為 NDIS_OBJECT_TYPE_DEFAULT。 若要指定NDIS_SWITCH_PORT_PROPERTY_VLAN結構的版本,標頭Revision 成員必須設定為下列值:

NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1

NDIS 6.30 和更新版本的原始版本。

Size 成員設定為 NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1。

Flags

包含旗標位 OR 的 ULONG 值。 此成員會保留給 NDIS。

OperationMode

指定 VLAN 作業模式 的NDIS_SWITCH_PORT_VLAN_MODE 列舉值。

VlanProperties

結構,指定 VLAN 的屬性,其作業模式為 NdisSwitchPortVlanModeAccessNdisSwitchPortVlanModeTrunk。 此結構包含下列成員:

VlanProperties.AccessVlanId

UINT16 值,指定在 VLAN 存取模式中運作之可延伸交換器埠的 VLAN 識別符。

注意 只有當 OperationMode 成員設定為 NdisSwitchPortVlanModeAccess 時,此成員才有效。
 

VlanProperties.NativeVlanId

UINT16 值,指定在 VLAN 主幹模式中運作之可延伸交換器埠的 VLAN 識別符。

VlanProperties.PruneVlanIdArray[64]

UINT64 項目的陣列,指定在可延伸交換器埠上封鎖封包的 VLAN 識別碼。

陣列有 64 個 UINT64 元素,代表 4096 個連續位。 每個具有 值的位都會指定 VLAN 標識符,其封包遭到封鎖,無法傳送或接收在可延伸交換器埠上。 例如,如果位三設為一,則來自 VLAN 標識碼 3 的封包流量會在埠上遭到封鎖。 同樣地,如果位 64 設定為零,則埠上不會封鎖來自 VLAN 標識碼 64 的封包流量。

注意 對應至一個位值的 VLANS 一律會遭到封鎖。 這會覆寫 主幹VlanIdArray 成員中 VLAN 標識碼的對等位設定。
 

VlanProperties.TrunkVlanIdArray[64]

UINT64 項目的數位,指定可延伸交換器埠上允許其封包的 VLAN 識別碼。

陣列有 64 個 UINT64 元素,代表 4096 個連續位。 每個具有值之位都會指定 VLAN 識別碼,其封包允許在可延伸交換器埠上傳送或接收。 例如,如果位二設為一,則埠上允許來自 VLAN 標識碼 2 的封包流量。 同樣地,如果位 1954 設定為零,則埠上不允許來自 VLAN 標識碼 1954 的封包流量。

PvlanProperties

結構,指定具有 NdisSwitchPortVlanModePrivate 作業模式之 VLAN 的屬性。 此結構包含下列成員:

PvlanProperties.PvlanMode

指定 PVLAN 作業模式 的NDIS_SWITCH_PORT_PVLAN_MODE 列舉值。

PvlanProperties.PrimaryVlanId

UINT16 值,指定可延伸交換器埠的主要 VLAN 識別碼。

注意 只有當 PvlanMode 成員設定為 NdisSwitchPortPvlanModeCommunity 時,此成員才有效。
 

PvlanProperties.SecondaryVlanId

UINT16 值,指定可延伸交換器埠的次要 VLAN 識別碼。

注意 只有當 PvlanMode 成員設定為 NdisSwitchPortPvlanModeIsolatedNdisSwitchPortPvlanModeCommunity 時,此成員才有效。
 

PvlanProperties.SecondaryVlanIdArray[64]

UINT64 專案的陣列,指定可延伸交換器埠的次要 VLAN 識別碼。

陣列有 64 個 UINT64 元素,代表 4096 個連續位。 每一個位的值都指定可延伸交換器埠的次要 VLAN 識別碼。 例如,如果位五設定為一,次要 VLAN 標識元為五。 同樣地,如果位 128 設定為零,則 128 不能當做次要 VLAN 標識碼使用。

注意 只有當 PvlanMode 成員設定為 NdisSwitchPortPvlanModePromiscuous 時,此成員才有效。
 

備註

NDIS_SWITCH_PORT_PROPERTY_VLAN 結構用於下列 OID 集合要求:

NDIS_SWITCH_PORT_PROPERTY_VLAN 結構遵循與這些 OID 集合要求相關聯的緩衝區中的NDIS_SWITCH_PORT_PROPERTY_PARAMETERS結構。 NDIS_OID_REQUEST 結構的 InformationBuffer 成員包含這個緩衝區的指標。

NDIS_SWITCH_PORT_PROPERTY_VLAN等埠屬性是由安裝為轉送延伸模組的可延伸交換器延伸模組強制執行。 這種類型的擴充功能會透過可延伸交換器驅動程式堆疊強制執行自己的規則,以轉送封包、OID 和狀態指示。 每個可延伸交換器實例只能有一個轉送延伸模組。

如需轉送延伸模組的詳細資訊,請參閱 轉送延伸模組

注意 如果未安裝轉送延伸模組,可延伸交換器介面會強制執行埠屬性本身。
 

規格需求

需求
最低支援的用戶端 NDIS 6.30 和更新版本支援。
標頭 ntddndis.h (包括 Ndis.h)

另請參閱

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

NDIS_SWITCH_PORT_PROPERTY_PARAMETERS

NDIS_SWITCH_PORT_VLAN_MODE

OID_SWITCH_PORT_PROPERTY_ADD

OID_SWITCH_PORT_PROPERTY_UPDATE