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