Freigeben über


IOCTL_SRIOV_PROXY_QUERY_LUID IOCTL (pcivirt.h)

Diese Anforderung stellt den lokalen eindeutigen Bezeichner des SR_IOV Geräts bereit, das die Schnittstelle implementiert.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Ausgabepuffer

Ein Zeiger auf eine SRIOV_PROXY_QUERY_LUID_OUTPUT Struktur, die mit dem Bezeichner gefüllt ist.

Länge des Ausgabepuffers

Die Größe der SRIOV_PROXY_QUERY_LUID_OUTPUT-Struktur

Statusblock

Irp->IoStatus.Status wird auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist. Andernfalls wird Status zur entsprechenden Fehlerbedingung als NTSTATUS-Code verwendet.

Hinweise

Diese IOCTL-Anforderung wird vom Virtualisierungsstapel an den PF-Treiber (PCI Express Express SR-IOV Physical Function) gesendet, der GUID_DEVINTERFACE_VIRTUALIZABLE_DEVICE verfügbar macht.

Diese IOCTL-Anforderung stammt aus dem Benutzermodus und wird vom PF-Treiber (Physical Function) verarbeitet, um den lokalen eindeutigen Bezeichner des physischen Geräts anzugeben. Diese Anforderung ist nur für SR-IOV-Geräte erforderlich, die eine direkte Zuweisung durchführen.

Vor dem Senden dieser Anforderung muss die Anwendung im Benutzermodus ein Handle für das PCI Express SR-IOV-Gerät abrufen, indem GUID_DEVINTERFACE_VIRTUALIZABLE_DEVICE abgefragt wird.

In diesem Beispiel generiert der PF-Treiber einen eindeutigen Bezeichner, indem er ZwAllocateLocallyUniqueId aufruft und im Gerätekontext speichert.



    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;

Anforderungen

Anforderung Wert
Header pcivirt.h
IRQL PASSIVE_LEVEL

Weitere Informationen

SRIOV_PROXY_QUERY_LUID_OUTPUT