Freigeben über


Abfragen des PCI-Anbieters und der Gerätebezeichner nach einer virtuellen Funktion

Hinweis Diese Methode kann nur verwendet werden, indem Treiber überlasten, die im Verwaltungsbetriebssystem der übergeordneten Hyper-V-Partition ausgeführt werden.

Ein überlastende Treiber gibt eine Objektbezeichner-Methodenanforderung (Object Identifier, OID) von OID_SRIOV_VF_VENDOR_DEVICE_ID aus, um den PCI Express (PCIe)-Anbieterbezeichner (VendorID) und den Gerätebezeichner (DeviceID) abzufragen. Diese Daten werden aus dem PCIe-Konfigurationsbereich für die PCIe Virtual Function (VF) auf dem physischen Netzwerkadapter gelesen.

Überlastende Treiber stellen diese Anforderung der OID-Methode an den Miniporttreiber des PCI Express (PCIe) Physical Function (PF) des Netzwerkadapters aus. Diese Anforderung der OID-Methode ist für PF-Miniporttreiber erforderlich, die die SR-IOV-Schnittstelle (Single Root E/O Virtualization) unterstützen.

Das Gastbetriebssystem, das in einer untergeordneten Hyper-V-Partition ausgeführt wird, verwendet die VendorID und die DeviceID des VF für generische Plug & Play-IDs (PnP) für die Geräteaufzählung. Ab Windows Server 2012 kann der PF-Miniporttreiber den folgenden Satz von Bezeichnern für den VF-Netzwerkadapter bereitstellen, der in der untergeordneten Partition verfügbar gemacht wird:

  • Die VendorID und DeviceID des physischen Netzwerkadapters. Dadurch können kompatible Treiber in das Gastbetriebssystem geladen werden, das in der untergeordneten Hyper-V-Partition ausgeführt wird, und im Verwaltungsbetriebssystem, das in der übergeordneten Hyper-V-Partition ausgeführt wird.

  • Eine VendorID und DeviceID, die sich von den Bezeichnern des physischen Netzwerkadapters unterscheiden. Dadurch kann ein Treiber in das Gastbetriebssystem geladen werden, das für seine Verwendung besser geeignet ist. Beispielsweise kann der PF-Miniporttreiber eine VendorID und DeviceID für einen VF-Netzwerkadapter zurückgeben, sodass ein Treiber geladen wird, der bestimmte Featuresätze deaktiviert, z. B. Energieverwaltung oder Protokolltaskauslagerungen.

Bevor diese OID-Methodenanforderung ausgibt, muss der überlastende Treiber eine NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO-Struktur initialisieren. Der Treiber muss den VFId-Member auf den Bezeichner des VF festlegen, aus dem die Informationen gelesen werden sollen.

Wenn er diese OID-Anforderung verarbeitet, muss der PF-Miniporttreiber überprüfen, ob der angegebene VF über Ressourcen verfügt, die zuvor zugewiesen wurden. Der PF-Miniporttreiber weist ressourcen für eine VF während einer OID-Methodenanforderung von OID_NIC_SWITCH_ALLOCATE_VF zu. Wenn ressourcen für die angegebene VF nicht zugewiesen wurden, muss der Treiber die OID-Anforderung nicht ausführen.