VPCI_INTERFACE_STANDARD structure

The VPCI_INTERFACE_STANDARD interface structure enables device drivers to access blocks of configuration data that is specific to a PCI Express (PCIe) virtual function (VF) of devices that support the single root I/O virtualization (SR-IOV) interface.

This structure describes the GUID_VPCI_INTERFACE_STANDARD interface.

Note  The location of the VF configuration block and the format of the configuration data are defined by the independent hardware vendor (IHV) of the device. They are used only by the drivers of the PCIe physical function (PF) and the VF.

 

Syntax

typedef struct _VPCI_INTERFACE_STANDARD {
  USHORT                 Size;
  USHORT                 Version;
  PVOID                  Context;
  PINTERFACE_REFERENCE   InterfaceReference;
  PINTERFACE_DEREFERENCE InterfaceDereference;
  PVPCI_READ_BLOCK       WriteVfConfigBlock;
  PVPCI_READ_BLOCK       ReadVfConfigBlock;
  UINT32                 SerialNumber;
} VPCI_INTERFACE_STANDARD, *PVPCI_INTERFACE_STANDARD;

Members

  • Size
    The size, in bytes, of this structure.

  • Version
    The driver-defined interface version.

  • Context
    A pointer to interface-specific context information.

  • InterfaceReference
    A pointer to an InterfaceReference routine that increments the interface's reference count.

  • InterfaceDereference
    A pointer to an InterfaceDereference routine that decrements the interface's reference count.

  • WriteVfConfigBlock
    A pointer to a WriteVfConfigBlock routine that writes a block of configuration data for a PCIe VF.

  • ReadVfConfigBlock
    A pointer to a ReadVfConfigBlock routine that reads a block of configuration data for a PCIe VF.

  • SerialNumber
    A UINT32 value that contains the serial number for the PCIe VF on the device. The virtualization stack generates a unique serial number for each VF that is exposed on the device.

Remarks

The GUID_VPCI_INTERFACE_STANDARD interface is provided by the virtual PCI (VPCI) bus driver that creates the physical device objects (PDOs) that are layered below the loaded drivers for the VFs. These drivers are loaded in the guest operating system that runs in a Hyper-V child partition.

A driver obtains a pointer to the VPCI_INTERFACE_STANDARD structure by sending an IRP_MN_QUERY_INTERFACE IRP to its bus driver with InterfaceType set to GUID_VPCI_INTERFACE_STANDARD.

Requirements

Version

Available in Windows Server 2012 and later versions of Windows.

Header

Vpci.h (include Wdm.h)

See also

GUID_VPCI_INTERFACE_STANDARD

InterfaceDereference

InterfaceReference

IRP_MN_QUERY_INTERFACE

ReadVfConfigBlock

WriteVfConfigBlock

 

 

Send comments about this topic to Microsoft