// ntddndis.h
typedef struct _NDIS_NIC_SWITCH_VF_INFO {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_NIC_SWITCH_ID SwitchId;
NDIS_VM_NAME VMName;
NDIS_VM_FRIENDLYNAME VMFriendlyName;
NDIS_SWITCH_NIC_NAME NicName;
USHORT MacAddressLength;
UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
NDIS_SRIOV_FUNCTION_ID VFId;
NDIS_VF_RID RequestorId;
} NDIS_NIC_SWITCH_VF_INFO, *PNDIS_NIC_SWITCH_VF_INFO;
View the official Windows Driver Kit DDI referenceNo description available.
The NDIS_NIC_SWITCH_VF_INFO structure specifies the information about a PCI Express (PCIe) Virtual Function (VF) that has been allocated on the network adapter.
HeaderThe type, revision, and size of the NDIS_NIC_SWITCH_VF_INFO structure. This member is formatted as an NDIS_OBJECT_HEADER structure.
The miniport driver must set the Type member of Header to NDIS_OBJECT_TYPE_DEFAULT. To specify the version of the NDIS_NIC_SWITCH_VF_INFO structure, the driver must set the Revision member of Header to the following value:
Original version for NDIS 6.30.
Set the Size member to NDIS_SIZEOF_NIC_SWITCH_VF_INFO_REVISION_1.
FlagsA ULONG value that contains a bitwise OR of flags. This member is reserved for NDIS.
SwitchIdAn NDIS_NIC_SWITCH_ID value that specifies a switch identifier. The switch identifier is an integer between zero and the number of switches that the network adapter supports. An NDIS_DEFAULT_SWITCH_ID value indicates the default network adapter switch.
Note Starting with Windows Server 2012, the single root I/O virtualization (SR-IOV) interface only supports the default network adapter switch on the network adapter. The value of this member must be set to NDIS_DEFAULT_SWITCH_ID.
VMNameAn NDIS_VM_NAME value that specifies the name of the Hyper-V child partition that is attached to the VF. This member contains the user-friendly description of the partition.
Note The Hyper-V child partition is also known as a virtual machine (VM).
VMFriendlyNameAn NDIS_VM_FRIENDLYNAME value that specifies the external name of the Hyper-V child partition that is attached to the VF. This member contains the user-friendly description of the partition.
NicNameAn NDIS_SWITCH_NIC_NAME value that specifies the name of the virtual machine (VM) network adapter. This member contains the user-friendly description of the network adapter.
The VM network adapter is a virtual device that is exposed in the guest operating system that runs in a Hyper-V child partition. The VM network adapter teams with the VF network adapter to provide the hardware-based VF data path over the SR-IOV interface.
For more information about the VF data path, see SR-IOV VF Data Path.
MacAddressLengthA USHORT value that specifies the length of the PermanentMacAddress and CurrentMacAddress members.
PermanentMacAddressThe permanent MAC address of the VF. This is the permanent MAC address for the VF network adapter that is exposed in the guest operating system.
CurrentMacAddressThe current MAC address of the VF. This is the current MAC address for the VF network adapter that is exposed in the guest operating system.
VFIdAn NDIS_SRIOV_FUNCTION_ID value that specifies the unique identifier of the VF on the network adapter.
RequestorIdAn NDIS_VF_RID that specifies the PCI Express (PCIe) Requestor ID (RID) of the VF.
An NDIS_NIC_SWITCH_VF_INFO structure contains information about a VF that was previously created through an OID method request of OID_NIC_SWITCH_ALLOCATE_VF. When this OID request is issued, one or more NDIS_NIC_SWITCH_VF_INFO structures are returned within an NDIS_NIC_SWITCH_VF_INFO_ARRAY structure.
For more information about the SR-IOV interface, see Overview of Single Root I/O Virtualization (SR-IOV).