// dispmprt.h
typedef struct _DXGKDDI_SRIOV_INTERFACE {
IN USHORT Size;
IN USHORT Version;
OUT PVOID Context;
OUT PINTERFACE_REFERENCE InterfaceReference;
OUT PINTERFACE_DEREFERENCE InterfaceDereference;
OUT PDXGKDDI_READVIRTUALFUNCTIONCONFIG DxgkDdiReadVirtualFunctionConfig;
OUT PDXGKDDI_WRITEVIRTUALFUNCTIONCONFIG DxgkDdiWriteVirtualFunctionConfig;
OUT PDXGKDDI_READVIRTUALFUNCTIONCONFIGBLOCK DxgkDdiReadVirtualFunctionConfigBlock;
OUT PDXGKDDI_WRITEVIRTUALFUNCTIONCONFIGBLOCK DxgkDdiWriteVirtualFunctionConfigBlock;
OUT PDXGKDDI_QUERYPROBEDBARS DxgkDdiQueryProbedBars;
OUT PDXGKDDI_GETVENDORANDDEVICE DxgkDdiGetVendorAndDevice;
OUT PDXGKDDI_GETDEVICELOCATION DxgkDdiGetDeviceLocation;
OUT PDXGKDDI_RESETVIRTUALFUNCTION DxgkDdiResetVirtualFunction;
OUT PDXGKDDI_SETVIRTUALFUNCTIONPOWERSTATE DxgkDdiSetVirtualFunctionPowerState;
OUT PDXGKDDI_GETRESOURCEFORBAR DxgkDdiGetResourceForBar;
OUT PDXGKDDI_QUERYVIRTUALFUNCTIONLUID DxgkDdiQueryVirtualFunctionLuid;
} DXGKDDI_SRIOV_INTERFACE, *PDXGKDDI_SRIOV_INTERFACE;
View the official Windows Driver Kit DDI referenceNo description available.
The SRIOV device interface exposes the PCIe virtual devices.
Functions to interact with the virtual device’s (GPU partitions) configuration space are exposed along with how the device will appear in the guest (BARs, vendor ID etc.). Finally, power state control functions are exposed to enable/disable/reset VFs. This interface is exposed even for devices that do not directly support SR-IOV in hardware. In the case of no hardware SR-IOV support, the virtual functions are managed by the kernel mode driver itself and are in effect virtualized themselves.
A miniport driver must support all functions in this group.
SizeSize.
VersionVersion.
ContextThe context.
InterfaceReferenceReference.
InterfaceDereferenceDeference.
DxgkDdiReadVirtualFunctionConfigDxgkDdiReadVirtualFunctionConfig
DxgkDdiWriteVirtualFunctionConfigDxgkDdiWriteVirtualFunctionConfig
DxgkDdiReadVirtualFunctionConfigBlockDxgkDdiReadVirtualFunctionConfigBlock
DxgkDdiWriteVirtualFunctionConfigBlockDxgkDdiWriteVirtualFunctionConfigBlock
DxgkDdiQueryProbedBarsDxgkDdiGetVendorAndDeviceDxgkDdiGetDeviceLocationDxgkDdiResetVirtualFunctionDxgkDdiSetVirtualFunctionPowerStateDxgkDdiSetVirtualFunctionPowerState
DxgkDdiGetResourceForBarDxgkDdiQueryVirtualFunctionLuidDxgkDdiQueryVirtualFunctionLuid