SRIOV_WRITE_BLOCK callback function (pcivirt.h)
Writes data to the specified configuration block of a PCI Express SR-IOV Virtual Function (VF).
Syntax
SRIOV_WRITE_BLOCK SriovWriteBlock;
NTSTATUS SriovWriteBlock(
[in] PVOID Context,
[in] USHORT VfIndex,
[in] ULONG BlockId,
[in] PVOID Buffer,
ULONG Length
)
{...}
Parameters
[in] Context
A pointer to a driver-defined context.
[in] VfIndex
A zero-based index of the VF to which this write operation applies.
[in] BlockId
A number identifying the block to be written. This is defined by the provider of the PF driver.
[in] Buffer
A pointer to a buffer that contains the data to write to the VF's configuration space.
Length
The length in bytes of this write operation. Must not be greater than VPCI_MAX_READ_WRITE_BLOCK_SIZE defined in Pcivirt.h.
Return value
Return STATUS_SUCCESS if the operation succeeds. Otherwise, return an appropriate NTSTATUS error code.
Remarks
This callback function is implemented by the physical function (PF) driver. It is invoked when the system wants to read a configuration block for one of its VFs.
The PF driver registers its implementation by setting the WriteVfConfigBlock member of the SRIOV_DEVICE_INTERFACE_STANDARD, configuring a WDF_QUERY_INTERFACE_CONFIG structure, and calling WdfDeviceAddQueryInterface.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Minimum supported server | Windows Server 2016 |
Target Platform | Windows |
Header | pcivirt.h |
IRQL | PASSIVE_LEVEL |