SRIOV_DEVICE_INTERFACE_STANDARD structure (pcivirt.h)

Stores function pointers to callback functions implemented by the physical function (PF) driver in the device stack for the of the SR-IOV device.

Syntax

typedef struct _SRIOV_DEVICE_INTERFACE_STANDARD {
  USHORT                           Size;
  USHORT                           Version;
  PVOID                            Context;
  PINTERFACE_REFERENCE             InterfaceReference;
  PINTERFACE_REFERENCE             InterfaceDereference;
  PSRIOV_READ_CONFIG               ReadVfConfig;
  PSRIOV_WRITE_CONFIG              WriteVfConfig;
  PSRIOV_READ_BLOCK                ReadVfConfigBlock;
  PSRIOV_WRITE_BLOCK               WriteVfConfigBlock;
  PSRIOV_QUERY_PROBED_BARS         QueryProbedBars;
  PSRIOV_GET_VENDOR_AND_DEVICE_IDS GetVendorAndDevice;
  PSRIOV_GET_DEVICE_LOCATION       GetDeviceLocation;
  PSRIOV_RESET_FUNCTION            ResetVf;
  PSRIOV_SET_POWER_STATE           SetVfPowerState;
  PSRIOV_GET_RESOURCE_FOR_BAR      GetResourceForBar;
  PSRIOV_QUERY_LUID                QueryLuid;
} SRIOV_DEVICE_INTERFACE_STANDARD, SRIOV_DEVICE_INTERFACE_STANDARD;

Members

Size

Size of this structure.

Version

Version of this structure

Context

Driver-defined context passed by the driver.

InterfaceReference

Pointer to a routine that increments the number of references to this interface. For more information about this routine, see InterfaceReference.

InterfaceDereference

Pointer to a routine that decrements the number of references to this interface. For more information about this routine, see InterfaceDereference.

ReadVfConfig

Pointer to the driver's implementation of the SRIOV_READ_CONFIG callback function that serves as a handler for reading the VF’s configurations space from the non-privileged VM.

WriteVfConfig

Pointer to the driver's implementation of the SRIOV_WRITE_CONFIG callback function that serves as a handler for writing the VF’s configuration space from the non-privileged VM.

ReadVfConfigBlock

Pointer to the driver's implementation of the SRIOV_READ_BLOCK callback function that serves as a handler for reading blocks of configuration data from the non-privileged VM.

WriteVfConfigBlock

Pointer to the driver's implementation of the SRIOV_WRITE_BLOCK callback function that serves as a handler for writing blocks of configuration data from the non-privileged VM..

QueryProbedBars

Pointer to the driver's implementation of the SRIOV_QUERY_PROBED_BARS callback function that allows a non-privileged VM to determine the value of the VF’s Base Address Registers if the value of -1 previously is written.

GetVendorAndDevice

Pointer to the driver's implementation of the SRIOV_GET_VENDOR_AND_DEVICE_IDS callback function that supplies the values from which the Plug and Play IDs for device is derived.

GetDeviceLocation

Pointer to the driver's implementation of the SRIOV_GET_DEVICE_LOCATION callback function that allows a non-privileged VM to determine the bus to which the device is attached.

ResetVf

Pointer to the driver's implementation of the SRIOV_RESET_FUNCTION callback function that causes the VF to be reset.

SetVfPowerState

Pointer to the driver's implementation of the SRIOV_SET_POWER_STATE callback function that serves as a handle for changing the device’s power state from the non-privileged VM.

GetResourceForBar

Pointer to the driver's implementation of the SRIOV_GET_RESOURCE_FOR_BAR callback function that gets the translated resource for a specific BAR.

QueryLuid

Pointer to the driver's implementation of the SRIOV_QUERY_LUID callback function that gets the unique identifier of the VF.

Requirements

Requirement Value
Header pcivirt.h

See also

WdfDeviceAddQueryInterface

WDF_QUERY_INTERFACE_CONFIG_INIT