Auflisten virtueller Funktionen auf einem Netzwerkadapter
Ein überlastender Treiber oder eine Benutzeranwendung kann eine Liste aller virtuellen PCI-Express-Funktionen (PCIe) (VFs) auf einem Netzwerkadapter abrufen, der die Single Root-E/A-Virtualisierung (SINGLE Root I/O Virtualization, SR-IOV) unterstützt. Der Treiber oder die Anwendung gibt eine OID-Methodenanforderung (Object Identifier) von OID_NIC_SWITCH_ENUM_VFS aus, um diese Liste abzurufen.
Bevor der Treiber oder die Anwendung die OID-Anforderung ausgibt, muss er eine NDIS_NIC_SWITCH_VF_INFO_ARRAY Struktur initialisieren, die zusammen mit der Anforderung übergeben wird. Der Treiber oder die Anwendung muss bei der Initialisierung der NDIS_NIC_SWITCH_VF_INFO_ARRAY-Struktur die folgenden Richtlinien befolgen:
Wenn das flag NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH im Flags-Element festgelegt ist, muss der übergeordnete Treiber oder die anwendung das SwitchId-Element auf den Bezeichner eines NIC-Switches auf dem SR-IOV-Netzwerkadapter festlegen. Wenn Sie diese Member auf diese Weise festlegen, werden VF-Informationen nur für den angegebenen NIC-Switch auf dem SR-IOV-Netzwerkadapter zurückgegeben.
Hinweis Der überlastende Treiber und die Benutzermodusanwendung können die NIC-Switch-IDs abrufen, indem sie eine OID-Abfrageanforderung von OID_NIC_SWITCH_ENUM_SWITCHES.
Wenn das Flags-Element auf 0 festgelegt ist, muss der Treiber oder die Anwendung den SwitchId-Member auf 0 festlegen. Wenn Sie diese Member auf diese Weise festlegen, werden VF-Informationen für alle NIC-Switches auf dem SR-IOV-Netzwerkadapter zurückgegeben.
Hinweis Ab Windows Server 2012 unterstützt Windows nur den Standard-NIC-Switch auf dem Netzwerkadapter. Unabhängig von den im Flags-Member festgelegten Flags muss das SwitchId-Element auf NDIS_DEFAULT_SWITCH_ID festgelegt werden.
Nach einer erfolgreichen Rückgabe dieser OID-Abfrageanforderung enthält der InformationBuffer-Member der NDIS_OID_REQUEST-Struktur einen Zeiger auf einen Puffer, der Folgendes enthält:
Eine NDIS_NIC_SWITCH_VF_INFO_ARRAY-Struktur , die die Anzahl der Elemente innerhalb des Arrays definiert.
Ein Array von NDIS_NIC_SWITCH_VF_INFO Strukturen. Jede dieser Strukturen enthält Informationen zu einem einzelnen VF auf einem NIC-Switch des Netzwerkadapters. Ein VF wird über OID-Methodenanforderungen von OID_NIC_SWITCH_ALLOCATE_VF an einen NIC-Switch angefügt.
Hinweis Wenn keine VFs an einen NIC-Switch auf dem Netzwerkadapter angefügt sind, wird der NumElements-Member der NDIS_NIC_SWITCH_VF_INFO_ARRAY-Struktur auf Null festgelegt, und es werden keine NDIS_NIC_SWITCH_VF_INFO-Strukturen zurückgegeben.
Weitere Informationen zu NIC-Switches finden Sie unter NIC-Switches.
NDIS verarbeitet die OID_NIC_SWITCH_ENUM_VFS-Anforderung für Miniporttreiber. NDIS gibt die Informationen aus einem internen Cache der Daten zurück, die es bei der Überprüfung der folgenden Quellen verwaltet:
OID-Methodenanforderungen von OID_NIC_SWITCH_ALLOCATE_VF.
OID-Set-Anforderungen von OID_NIC_SWITCH_VF_PARAMETERS.