共用方式為


IOCTL_SRIOV_PROXY_QUERY_LUID IOCTL (pcivirt.h)

此要求會提供實作 介面之SR_IOV裝置的本機唯一標識符。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸出緩衝區

已填入標識碼之 SRIOV_PROXY_QUERY_LUID_OUTPUT 結構的指標。

輸出緩衝區長度

SRIOV_PROXY_QUERY_LUID_OUTPUT 結構的大小

狀態區塊

如果要求成功,Irp->IoStatus.Status 會設定為STATUS_SUCCESS。 否則,狀態 為適當的錯誤條件,作為 NTSTATUS 程序代碼。

言論

此 IOCTL 要求是由虛擬化堆疊傳送至公開GUID_DEVINTERFACE_VIRTUALIZABLE_DEVICE的 PCI Express SR-IOV 實體函式 (PF) 驅動程式。

此 IOCTL 要求源自使用者模式,並由實體函式 (PF) 驅動程式處理,以提供實體裝置的本機唯一識別符。 只有執行直接指派 SR-IOV 裝置才需要此要求。

傳送此要求之前,使用者模式應用程式必須藉由查詢 GUID_DEVINTERFACE_VIRTUALIZABLE_DEVICE,取得PCI Express SR-IOV 裝置的句柄。

在此範例中,PF 驅動程式會呼叫 ZwAllocateLocallyUniqueId 並儲存在裝置內容中,以產生唯一標識符。



    case IOCTL_SRIOV_PROXY_QUERY_LUID:

        status = WdfRequestRetrieveOutputBuffer(Request,
                                                sizeof(LUID),
                                                &luid,
                                                NULL);
        if (!NT_SUCCESS(status))
        {
            break;
        }

        RtlCopyMemory(luid, &deviceContext->Luid, sizeof(LUID));
        WdfRequestSetInformation(Request, sizeof(LUID));
        status = STATUS_SUCCESS;
        break;

要求

要求 價值
標頭 pcivirt.h
IRQL PASSIVE_LEVEL

另請參閱

SRIOV_PROXY_QUERY_LUID_OUTPUT