SRIOV_QUERY_LUID回调函数 (pcivirt.h)

获取 SR-IOV 设备的本地唯一标识符。

语法

SRIOV_QUERY_LUID SriovQueryLuid;

NTSTATUS SriovQueryLuid(
  [in]  PVOID Context,
  [out] PLUID Luid
)
{...}

参数

[in] Context

指向驱动程序定义的上下文的指针。

[out] Luid

指向实现 接口的SR_IOV设备的本地唯一标识符的指针。

返回值

如果操作成功,则返回STATUS_SUCCESS。 否则,返回相应的 NTSTATUS 错误代码。

注解

此回调函数由 PF) 驱动程序 (物理函数实现。 当系统想要获取特定虚拟函数的标识符时,将调用它。

PF 驱动程序通过设置SRIOV_DEVICE_INTERFACE_STANDARDQueryLuid 成员、配置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
目标平台 Windows
标头 pcivirt.h
IRQL PASSIVE_LEVEL