OID_NIC_SWITCH_ENUM_VPORTS
Eine überlastende Treiber- oder Benutzermodusanwendung stellt eine Objektbezeichner-Methodenanforderung (OID) von OID_NIC_SWITCH_ENUM_VPORTS aus, um ein Array abzurufen. Jedes Element im Array gibt die Attribute eines virtuellen Ports (VPort) an, der auf dem NIC-Switch eines Netzwerkadapters erstellt wurde.
Nach erfolgreicher Rückgabe dieser OID-Abfrageanforderung enthält das InformationBuffer-Element der NDIS_OID_REQUEST-Struktur einen Zeiger auf einen Puffer, der Folgendes enthält:
Eine NDIS_NIC_SWITCH_VPORT_INFO_ARRAY-Struktur , die die Anzahl der Elemente innerhalb des Arrays definiert.
Ein Array von NDIS_NIC_SWITCH_VPORT_INFO Strukturen. Jede dieser Strukturen enthält Informationen zu einem VPort auf dem NIC-Switch des Netzwerkadapters.
Hinweis Wenn keine VPorts auf dem Netzwerkadapter erstellt wurden, legt der Treiber den NumElements-Member der NDIS_NIC_SWITCH_VPORT_INFO_ARRAY-Struktur auf Null fest, und es werden keine NDIS_NIC_SWITCH_VPORT_INFO Strukturen zurückgegeben.
Bemerkungen
Überlastende Treiber und Benutzermodusanwendungen geben OID-Abfrageanforderungen von OID_NIC_SWITCH_ENUM_VPORTS aus, um die VPorts aufzulisten, die auf dem NIC-Switch eines Netzwerkadapters zugewiesen sind.
Bevor der Treiber oder die Anwendung die OID-Anforderung ausgibt, muss er eine NDIS_NIC_SWITCH_VPORT_INFO_ARRAY Struktur initialisieren, die zusammen mit der Anforderung übergeben wird. Der Treiber oder die Anwendung muss beim Initialisieren der NDIS_NIC_SWITCH_VPORT_INFO_ARRAY-Struktur die folgenden Richtlinien befolgen:
Wenn das NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH-Flag im Flags-Element festgelegt ist, werden Informationen für alle VPorts zurückgegeben, die auf einem angegebenen NIC-Switch erstellt wurden. Der NIC-Switch wird durch das SwitchId-Element dieser Struktur angegeben.
Hinweis Ab Windows Server 2012 unterstützt die SR-IOV-Schnittstelle nur den Standard-NIC-Switch auf dem Netzwerkadapter. Unabhängig von den Flags, die im Flags-Element festgelegt sind, muss das SwitchId-Element auf NDIS_DEFAULT_SWITCH_ID festgelegt werden.
Wenn das NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION-Flag im Flags-Element festgelegt ist, werden Informationen für alle VPorts zurückgegeben, die an eine angegebene PCI Express (PCIe) Physical Function (PF) oder Virtuelle Funktion (VF) auf dem Netzwerkadapter angefügt sind. Die PF oder VF wird durch das AttachedFunctionId-Element dieser Struktur angegeben.
Wenn der AttachedFunctionId-Member auf NDIS_PF_FUNCTION_ID festgelegt ist, werden Informationen für alle VPorts zurückgegeben, einschließlich des Standard-VPorts, die an die PF des Netzwerkadapters angefügt sind. Wenn der AttachedFunctionId-Member auf einen gültigen VF-Bezeichner festgelegt ist, werden Informationen für alle VPorts an den angegebenen VF zurückgegeben.
Hinweis Ab Windows Server 2012 kann nur ein nicht standardmäßiger VPort an eine VF angefügt werden. Allerdings können mehrere VPorts (einschließlich des Standard-VPorts) an die PF angefügt werden.
Wenn das Flags-Element auf 0 festgelegt ist, werden Informationen für alle VPorts zurückgegeben, die an die PF oder VF auf dem Netzwerkadapter angefügt sind. In diesem Fall werden die Werte von SwitchId und AttachedFunctionId ignoriert.
Weitere Informationen finden Sie unter Auflisten virtueller Ports auf einem Netzwerkadapter.
Rückgabestatuscodes
NDIS verarbeitet die OID-Methodenanforderung der OID_NIC_SWITCH_ENUM_VPORTS Anforderung für Miniporttreiber. Die Treiber erhalten diese OID-Anforderung nicht.
Wenn NDIS die OID_NIC_SWITCH_ENUM_VPORTS-Anforderung verarbeitet, gibt es einen der folgenden status-Codes zurück:
Statuscode | BESCHREIBUNG |
---|---|
NDIS_STATUS_SUCCESS |
Die OID-Anforderung wurde erfolgreich abgeschlossen. |
NDIS_STATUS_NOT_SUPPORTED |
Der Miniporttreiber unterstützt entweder die SR-IOV-Schnittstelle (Single Root E/O Virtualization) nicht oder ist für die Verwendung der Schnittstelle nicht aktiviert. |
NDIS_STATUS_INVALID_PARAMETER |
Mindestens ein Member der NDIS_NIC_SWITCH_VF_INFO_ARRAY-Struktur weisen ungültige Werte auf. |
NDIS_STATUS_INVALID_LENGTH |
Der Informationspuffer war zu kurz. NDIS legt die DATEN fest. METHOD_INFORMATION. BytesNeed-Member in der NDIS_OID_REQUEST-Struktur auf die erforderliche Mindestpuffergröße. |
NDIS_STATUS_FAILURE |
Die Anforderung ist aus anderen Gründen fehlgeschlagen. |
Requirements (Anforderungen)
Version |
Unterstützt in NDIS 6.30 und höher. |
Header |
Ntddndis.h (include Ndis.h) |