MiniportInitializeEx-Richtlinien für PF Miniport-Treiber
In diesem Thema werden die Richtlinien zum Schreiben einer MiniportInitializeEx-Funktion für den Miniporttreiber der PHYSISCHEn Funktion (PCI Express, PCIe) beschrieben. Die PF ist eine Komponente eines Netzwerkadapters, der die Einzelstamm-E/A-Virtualisierung (SINGLE Root I/O Virtualization, SR-IOV) unterstützt.
Hinweis Diese Richtlinien gelten nur für PF-Miniporttreiber. Initialisierungsrichtlinien für den Miniporttreiber einer VIRTUELLEN PCIe-Funktion (VF) des Adapters finden Sie unter Initialisieren eines VF-Miniporttreibers.
Der PF-Miniporttreiber führt die gleichen Schritte wie jeder NDIS-Miniporttreiber aus, wenn seine MiniportInitializeEx-Funktion ausgeführt wird. Weitere Informationen zu diesen Schritten finden Sie unter Initialisieren eines Miniporttreibers.
Zusätzlich zu diesen Schritten muss der PF-Miniporttreiber die folgenden zusätzlichen Schritte ausführen, wenn NDIS die MiniportInitializeEx-Funktion des Treibers aufruft:
Der PF-Miniporttreiber ruft die NdisGetHypervisorInfo-Funktion auf, um zu überprüfen, ob sie in der übergeordneten Hyper-V-Partition ausgeführt wird. Diese Funktion gibt eine NDIS_HYPERVISOR_INFO-Struktur zurück, die den Partitionstyp definiert. Wenn der Partitionstyp als NdisHypervisorPartitionMsHvParent gemeldet wird, wird der Miniporttreiber in der übergeordneten Hyper-V-Partition ausgeführt, die an die PF auf dem Adapter angefügt ist.
Hinweis Wenn der Partitionstyp als NdisHypervisorPartitionMsHvChild gemeldet wird, wird der Miniporttreiber in der untergeordneten Hyper-V-Partition ausgeführt, die an eine VF auf dem Adapter angefügt ist. In diesem Fall darf der Miniporttreiber nicht als PF-Treiber initialisiert werden. Wenn möglich, muss der Treiber wie unter Initialisieren eines VF-Miniporttreibers beschrieben als VF-Treiber initialisieren.
Der PF-Miniporttreiber muss die standardisierten SR-IOV-Schlüsselwörter lesen, um zu bestimmen, ob SR-IOV aktiviert ist, und die Konfigurationseinstellungen für den NIC-Switch abzurufen. Weitere Informationen zu diesen Schlüsselwörtern finden Sie unter Standardisierte INF-Schlüsselwörter für SR-IOV.
Hinweis Wenn der PF-Miniporttreiber einen Einstiegspunkt für eine MiniportSetOptions-Funktion registriert hat, hat der Treiber diese Einstellungen möglicherweise zuvor aus der Registrierung abgerufen, als NDIS MiniportSetOptions aufgerufen hat.
Wenn der Netzwerkadapter SR-IOV, VMQ oder RSS unterstützt, muss der Miniporttreiber bestimmen, welches Feature auf dem Netzwerkadapter aktiviert werden soll. Weitere Informationen dazu, wie Sie dies ermitteln, finden Sie unter Handling SR-IOV, VMQ, and RSS Standardized INF Keywords.For more information on how to determine this, see Handling SR-IOV, VMQ, and RSS Standardized INF Keywords.
Zusammen mit RSS- und VMQ-Hardwarefunktionen (sofern unterstützt) muss der Miniporttreiber seinen vollständigen Satz von SR-IOV-Hardwarefunktionen melden. Diese Funktionen müssen unabhängig von den standardisierten SR-IOV-Schlüsselwort (keyword) Einstellungen in der Registrierung angekündigt werden.
Wenn SR-IOV auf dem Netzwerkadapter aktiviert ist, muss der Miniporttreiber auch die derzeit zulässigen SR-IOV-Einstellungen auf dem Adapter melden.
Weitere Informationen zum Melden der SR-IOV-Funktionen finden Sie unter Ermitteln von SR-IOV-Funktionen.
Der Miniporttreiber muss seinen vollständigen Satz von Hardware-NIC-Switch-Funktionen melden. Diese Funktionen müssen unabhängig von den standardisierten SR-IOV-Schlüsselwort (keyword) Einstellungen in der Registrierung angekündigt werden.
Wenn SR-IOV auf dem Netzwerkadapter aktiviert ist, muss der Miniporttreiber auch die aktuell aktivierten NIC-Switcheinstellungen auf dem Adapter melden.
Weitere Informationen zum Melden der NIC-Switchfunktionen finden Sie unter Ermitteln der NIC Switch-Funktionen.
Der Miniporttreiber muss seinen vollständigen Satz von Hardware-Empfangsfilterfunktionen melden. Diese Funktionen müssen unabhängig von den standardisierten SR-IOV-Schlüsselwort (keyword) Einstellungen in der Registrierung angekündigt werden.
Wenn SR-IOV auf dem Netzwerkadapter aktiviert ist, muss der Miniporttreiber auch die aktuell aktivierten Empfangsfiltereinstellungen auf dem Adapter melden.
Weitere Informationen zum Melden der Empfangsfilterfunktionen finden Sie unter Ermitteln von Empfangsfilterfunktionen.
Wenn der Miniporttreiber die Erstellung eines statischen NIC-Switches unterstützt, muss er im Kontext des Aufrufs von MiniportInitializeEx die folgenden Schritte ausführen.
Der Treiber konfiguriert die Adapterhardware basierend auf dem standardisierten NIC-Switch Schlüsselwort (keyword) Einstellungen. Basierend auf diesen Einstellungen ordnet der Treiber die erforderlichen Hardware- und Softwareressourcen für den NIC-Switch zu.
Der Miniporttreiber ruft NdisMEnableVirtualization auf, um SR-IOV zu aktivieren und die Anzahl der VFs auf dem Netzwerkadapter festzulegen. Diese Funktion konfiguriert die erweiterte SR-IOV-Funktion im PCI-Konfigurationsbereich des Adapters. Wenn diese Funktion NDIS_STATUS_SUCCESS zurückgibt, ist SR-IOV aktiviert, und die VFs werden über die PCIe-Schnittstelle verfügbar gemacht.
Weitere Informationen finden Sie unter Statische Erstellung eines NIC-Switches.
Hinweis Wenn der Miniporttreiber die Erstellung dynamischer NIC-Switches unterstützt, erstellt er den Switch und aktiviert die Virtualisierung, wenn er eine OID-Methodenanforderung (Object Identifier) von OID_NIC_SWITCH_CREATE_SWITCH verarbeitet. Weitere Informationen finden Sie unter Dynamische Erstellung eines NIC-Switches.