IOCTL_SRIOV_PROXY_QUERY_LUID IOCTL (pcivirt.h)
此要求會提供實作 介面之SR_IOV裝置的本機唯一標識符。
主要程序代碼
輸出緩衝區
已填入標識碼 之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 |