Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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 |