共用方式為


NDIS_SWITCH_NIC_PARAMETERS結構 (ntddndis.h)

NDIS_SWITCH_NIC_PARAMETERS 結構會指定連接到 Hyper-V 可延伸交換器埠之網路適配器 (NIC) 的組態參數。

語法

typedef struct _NDIS_SWITCH_NIC_PARAMETERS {
  NDIS_OBJECT_HEADER           Header;
  ULONG                        Flags;
  NDIS_SWITCH_NIC_NAME         NicName;
  NDIS_SWITCH_NIC_FRIENDLYNAME NicFriendlyName;
  NDIS_SWITCH_PORT_ID          PortId;
  NDIS_SWITCH_NIC_INDEX        NicIndex;
  NDIS_SWITCH_NIC_TYPE         NicType;
  NDIS_SWITCH_NIC_STATE        NicState;
  NDIS_VM_NAME                 VmName;
  NDIS_VM_FRIENDLYNAME         VmFriendlyName;
  GUID                         NetCfgInstanceId;
  ULONG                        MTU;
  USHORT                       NumaNodeId;
  UCHAR                        PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  UCHAR                        VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  UCHAR                        CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
  BOOLEAN                      VFAssigned;
  ULONG64                      NdisReserved[2];
} NDIS_SWITCH_NIC_PARAMETERS, *PNDIS_SWITCH_NIC_PARAMETERS;

成員

Header

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

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

NDIS_SWITCH_NIC_PARAMETERS_REVISION_1

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

Size 成員設定為 NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1

Flags

ULONG 值,其中包含旗標的位 OR。 定義下列旗標值。

價值 意義
NDIS_SWITCH_NIC_FLAGS_NIC_INITIALIZING
當 VM NIC 物件的存留期中第一次發出 OID_SWITCH_NIC_CREATE OID 時,就會設定此旗標。 如果已設定此旗標:
  • Hyper-V Extensible Switch 擴充功能可選擇性地減少 NDIS_SWITCH_NIC_PARAMETERS 結構中 MTU 成員的值,如果它需要保留封存空間,再將 OID 傳遞至堆疊。 延伸模組將無法為任何其他類型的 NIC 保留封裝前端空間。
  • 延伸模組不應增加 MTU 值。
只有當 NicType 成員 NdisSwitchNicTypeSynthetic時,才會設定此旗標。

NicName

NDIS_SWITCH_NIC_NAME值,指定連接到可延伸交換器埠之網路適配器的唯一內部名稱。

如需詳細資訊,請參閱一節。

NicFriendlyName

NDIS_SWITCH_NIC_FRIENDLYNAME值,指定網路適配器的用戶易記描述。

PortId

NDIS_SWITCH_PORT_ID值,其中包含網路適配器所連線之可延伸交換器埠的唯一標識符。

NicIndex

NDIS_SWITCH_NIC_INDEX值,指定連接到 PortId 成員所指定之可延伸交換器埠的網路適配器索引。

如需NDIS_SWITCH_NIC_INDEX值的詳細資訊,請參閱 網路配接器索引值

NicType

NDIS_SWITCH_NIC_TYPE 值,指定連接到可延伸交換器埠的網路適配器類型。

NicState

指定網路配接器目前狀態的 NDIS_SWITCH_NIC_STATE 值。

VmName

NDIS_VM_NAME值,指定 Hyper-V 子分割區的唯一內部名稱,其中公開網路適配器的客體作系統正在執行。

Hyper-V 子分割也稱為虛擬機(VM)。

注意 只有當 NicType 成員包含 NdisSwitchNicSyntheticNicNdisSwitchNicEmulatedNic 時,這個成員才有效。
 

VmFriendlyName

NetCfgInstanceId

GUID 值,指定基礎網路適配器的 NetCfgInstanceId 登錄值。

注意 只有當 NicType 成員設定為 NdisSwitchNicTypeExternalNdisSwitchNicTypeInternal時,這個成員才有效。 NetCfgInstanceId 在虛擬網路適配器初始化之後才會有效。
 

MTU

ULONG 值,指定網路適配器的最大傳輸單位 (MTU) 大小。

附註 此成員的值可以在 VM NIC 的存留期間變更。 因此,延伸模組應該讀取以下列 OID 傳遞之 NDIS_SWITCH_NIC_PARAMETERS 結構的這個成員:
 

NumaNodeId

USHORT 值,指定 CPU 慣用非統一記憶體存取 (NUMA) 節點的識別碼。 在支援 NUMA 架構的電腦上,慣用的 NUMA 節點是具有網路適配器最小距離的 CPU。

注意 只有當 NicType 成員設定為 NdisSwitchNicTypeSyntheticNdisSwitchNicTypeEmulated時,這個成員才有效。
 

PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

UCHAR 數位列,指定網路適配器主機分割區上所設定的媒體存取控制 (MAC) 位址。 這與網路適配器目前使用的 MAC 位址不同。

VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

UCHAR 陣列,指定 VM 本身內網路配接器上設定的 MAC 位址。 欄位是非 VM NIC 的所有零。 如果 AllowMacSpoofing (從 NDIS_SWITCH_PORT_PROPERTY_SECURITY) 為 TRUE,此位址也會套用至 CurrentMacAddress。

CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]

UCHAR 陣列,指定網路適配器交換器中目前正在使用的 MAC 位址。 如果 AllowMacSpoofingAllowTeaming 都是 FALSE,則此值會等於 PermanentMacAddress。 如果 AllowMacSpoofing 為 TRUE,這個值會等於 VMMacAddress。 如果 AllowTeaming 為 TRUE,且 VM 內已發生小組故障轉移,則 CurrentMacAddress 會等於故障轉移至網路適配器的 MAC 位址,或未發生故障轉移時 PermanentMacAddress

VFAssigned

BOOLEAN 值,如果設定為 TRUE,則指定網路適配器會附加至 PCI Express (PCIe) 虛擬函式 (VF)。 VF 是由支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面的基礎實體網路適配器所公開。

如需詳細資訊,請參閱一節。

附注 只有當 NicType 成員包含 NdisSwitchNicTypeEmulatedNdisSwitchNicTypeSynthetic時,VFAssigned 成員才有效。 如果 NicType 成員包含 NdisSwitchNicTypeExternalNdisSwitchNicTypeInternal,這個成員必須設定為 false
 

NdisReserved[2]

言論

OID_SWITCH_NIC_ARRAY 的 OID 查詢要求會傳回包含零個或多個專案的 NDIS_SWITCH_NIC_ARRAY 結構。 每個項目都會格式化為 NDIS_SWITCH_NIC_PARAMETERS 結構。

NDIS_SWITCH_NIC_PARAMETERS 結構也會用於下列 OID 要求:

NoteNDIS_SWITCH_NIC_NAMENDIS_SWITCH_NIC_FRIENDLYNAMENDIS_VM_NAMENDIS_VM_FRIENDLYNAME 資料類型是由 IF_COUNTED_STRING 結構所定義。 這個結構所定義的字串不必以 Null 結尾。 不過,字串的長度必須在這個 結構的 Length 成員中設定。 如果字串為 null 終止,則 Length 成員不得包含終止的 Null 字元。
 

NicTypeNicName 成員的指導方針

根據 NicType 成員的值NicName 成員的格式如下所示:
  • 如果 NicType 成員設定為 NdisSwitchNicTypeExternal,則 NicName 成員的值是系結至外部網路適配器之實體網路適配器的唯一實例標識符(InstanceId)。 這種類型的網路適配器會公開在 Hyper-V 父分割區中執行的管理作系統中。

    外部網路適配器會提供與主機上可用之實體網路介面的連線。 外部網路適配器可由 Hyper-V 父分割區和所有子分割區存取。

    NoteInstanceId 值是由在管理作系統中執行的 即插即用管理員 所產生。
     
  • 如果 NicType 成員設定為 NdisSwitchNicTypeInternal,則 NicName 成員的值是識別內部網路適配器的裝置顯示名稱。 這種類型的網路適配器會在 Hyper-V 父分割區的管理作系統中公開。

    內部網路適配器可由 Hyper-V 父分割區和所有子分割區存取。 不過,內部網路適配器不會連線到主機上可用的實體網路介面。

    注意 裝置顯示名稱是由在管理作系統中執行的 Hyper-V WMI 管理層所產生。
     
  • 對於所有其他 NicType 成員值,NicName 成員的值會由原則管理介面唯一指派給綜合或仿真的網路適配器。 這些類型的網路適配器會在客體作系統中公開,其執行是 Hyper-V 子分割區。

VFAssigned 成員的指導方針

PCIe VF 是由支援 SR-IOV 介面的基礎實體適配卡所建立和配置。 建立PCIe VF之後,虛擬化堆疊會連結或 指派,Hyper-V 子分割區指派給 VF。 此分割區中執行的客體作系統會公開連結的虛擬機 (VM) 網路適配器,或 指派給基礎 SR-IOV 實體適配卡

如果 VFAssigned 成員設定為 TRUE,封包會直接在基礎 SR-IOV 實體網路適配器與虛擬適配卡之間路由傳送。 不過,因為可延伸交換器未涉及封包傳遞,因此可延伸交換器埠原則,例如訪問控制清單 (ACL),不會套用至這些封包。

延伸模組可以發出 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 狀態指示來移除 VF 指派。 此指示會導致封包透過可延伸交換器埠傳遞,而不是直接在 VM 網路適配器與 SR-IOV 實體適配卡之間傳遞。 這可讓可延伸交換器埠原則套用至透過可延伸交換器埠接收或傳送的封包。 當擴充功能發出 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 狀態指示時,它會指定虛擬網路適配器所連接的可延伸交換器埠。

如需詳細資訊,請參閱 NDIS_STATUS_SWITCH_PORT_REMOVE_VF

要求

要求 價值
最低支援的用戶端 NDIS 6.30 和更新版本支援。
標頭 ntddndis.h (include Ndis.h, Fwpsk.h)

另請參閱

NDIS_OBJECT_HEADER

NDIS_STATUS_SWITCH_PORT_REMOVE_VF

NDIS_SWITCH_NIC_ARRAY

NDIS_SWITCH_NIC_PARAMETERS

NDIS_SWITCH_NIC_STATE

NDIS_SWITCH_NIC_TYPE

OID_SWITCH_NIC_ARRAY

OID_SWITCH_NIC_CONNECT

OID_SWITCH_NIC_CREATE

OID_SWITCH_NIC_DELETE

OID_SWITCH_NIC_DISCONNECT

OID_SWITCH_NIC_SAVE

OID_SWITCH_NIC_SAVE_COMPLETE

OID_SWITCH_NIC_UPDATED