SET_VIRTUAL_DEVICE_DATA callback function (wdm.h)
The SetVirtualFunctionData routine writes data to the PCI Express (PCIe) configuration space of a virtual function (VF) on a device that supports the single root I/O virtualization (SR-IOV) interface.
Syntax
SET_VIRTUAL_DEVICE_DATA SetVirtualDeviceData;
ULONG SetVirtualDeviceData(
[in, out] PVOID Context,
[in] USHORT VirtualFunction,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
)
{...}
Parameters
[in, out] Context
A pointer to interface-specific context information. The caller passes the value that is passed as the Context member of the PCI_VIRTUALIZATION_INTERFACE structure for the interface.
[in] VirtualFunction
A zero-based value that specifies the VF on the device from which data is to be written.
[in] Buffer
A pointer to the buffer that contains the configuration information to be written to the PCIe configuration space of the VF.
[in] Offset
The offset into the PCIe configuration space data of the VF. This member specifies where this write operation begins.
[in] Length
The length, in bytes, of the data to be written.
Return value
The *SetVirtualFunctionData routine returns the length, in bytes, of the PCIe configuration data that was written after a successful write operation. If the write operation is unsuccessful, the routine returns zero.
Remarks
The *SetVirtualFunctionData routine is similar to the SetBusData routine, except that it writes PCIe configuration data to a VF instead of to a device's physical function (PF).
The *SetVirtualFunctionData routine is provided by the GUID_PCI_VIRTUALIZATION_INTERFACE interface. The SetBusData routine is provided by the GUID_BUS_INTERFACE_STANDARD interface.
The virtualization stack calls *SetVirtualFunctionData when a driver that is running in the guest operating system calls the SetBusData routine.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in Windows Server 2012 and later versions of Windows. |
Target Platform | Desktop |
Header | wdm.h (include Wdm.h) |
IRQL | IRQL <= APC_LEVEL |