共用方式為


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 要求是由虛擬化堆疊傳送至 PCI Express SR-IOV 實體函式, (公開GUID_DEVINTERFACE_VIRTUALIZABLE_DEVICE的 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