SRIOV_QUERY_VF_LUID回调函数 (pcivirt.h)
获取 PCI Express SR-IOV 虚拟函数(VF)的本地唯一标识符。
语法
SRIOV_QUERY_VF_LUID SriovQueryVfLuid;
NTSTATUS SriovQueryVfLuid(
[in] PVOID Context,
[in] USHORT VfIndex,
[out] PLUID Luid
)
{...}
参数
[in] Context
指向驱动程序定义的上下文的指针。
[in] VfIndex
正在查询的 VF 的从零开始的索引。
[out] Luid
指向实现接口的SR_IOV设备的本地唯一标识符的指针。
返回值
如果作成功,则返回STATUS_SUCCESS。 否则,返回相应的 NTSTATUS 错误代码。
言论
此回调函数由物理函数 (PF) 驱动程序实现。 当系统想要获取特定虚拟函数的标识符时,将调用它。
PF 驱动程序通过设置SRIOV_DEVICE_INTERFACE_STANDARD_2的 QueryLuid 成员、配置 WDF_QUERY_INTERFACE_CONFIG 结构以及调用 WdfDeviceAddQueryInterface来注册其实现。
下面是此回调函数的示例实现。 PF 驱动程序通过调用 ZwAllocateLocallyUniqueId 生成唯一标识符,并将其存储在设备上下文中。
NTSTATUS
Virtualization_QueryLuid (
_In_ PVOID Context,
_Out_ PLUID Luid
)
{
PDEVICE_CONTEXT deviceContext;
PAGED_CODE();
deviceContext = (PDEVICE_CONTEXT)Context;
*Luid = deviceContext->Luid;
return STATUS_SUCCESS;
}
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 |
支持的最低服务器 | Windows Server 2016 |
目标平台 | 窗户 |
标头 | pcivirt.h |