DriverEntry-Richtlinien für PF-Miniport-Treiber
In diesem Thema werden die Richtlinien zum Schreiben einer DriverEntry-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 SR-IOV-Netzwerkadapter muss eine Hardwarebrücke implementieren, die Netzwerkdatenverkehr über den physischen Port des Adapters und interne virtuelle Ports (VPorts) weiterleitet. Diese Brücke wird als NIC-Switch bezeichnet. Weitere Informationen finden Sie unter NIC-Switches.
Wenn der PF-Miniporttreiber die statische Erstellung des NIC-Switches auf dem SR-IOV-Netzwerkadapter unterstützt, muss er möglicherweise Switchressourcen zuordnen, wenn das funktionale Geräteobjekt (Functional Device Object, FDO) für den Netzwerkadapter im Gerätestapel erstellt wird. In diesem Fall muss der Treiber diese Ressourcen zuordnen, bevor NDIS MiniportInitializeEx aufruft. Dazu muss der Treiber optionale Plug-and-Play-Handler (PnP) registrieren, damit er am Prozess teilnehmen kann, wenn die FDO des Adapters dem Gerätestapel hinzugefügt oder daraus entfernt wird.
Der Miniporttreiber muss eine MiniportSetOptions-Funktion bereitstellen, um diese PnP-Handlerfunktionen zu registrieren. Dazu führt der Treiber die folgenden Schritte aus dem Kontext des Aufrufs seiner DriverEntry-Funktion aus:
Der Miniporttreiber initialisiert eine NDIS_MINIPORT_DRIVER_CHARACTERISTICS-Struktur mit den Einstiegspunkten der MiniportXxx-Funktionen . Insbesondere legt der Treiber den SetOptionsHandler-Member auf den Einstiegspunkt der MiniportSetOptions-Funktion des Treibers fest.
Der Miniporttreiber ruft die NdisMRegisterMiniportDriver-Funktion auf, um seine Einstiegspunkte zu registrieren. Aus dem Kontext dieses Aufrufs ruft NDIS die MiniportSetOptions-Funktion des Treibers auf.
Wenn NDIS MiniportSetOptions aufruft, ruft der Miniporttreiber die Funktion NdisSetOptionalHandlers auf und gibt eine NDIS_MINIPORT_PNP_CHARACTERISTICS-Struktur an. Diese Struktur definiert die Einstiegspunkte für die Funktionen MiniportAddDevice, MiniportRemoveDevice, MiniportStartDevice und MiniportFilterResourceRequirequirements . NDIS ruft diese Handlerfunktionen auf, wenn sie vom PCI-Bustreiber ausgegebene PnP-E/A-Anforderungspakete (IRPs) verarbeitet.
Wenn der PF-Miniporttreiber zusätzliche Softwareressourcen für den NIC-Switch zuordnen muss, bevor NDIS die MiniportInitializeEx-Funktion des Treibers aufruft, muss der Treiber eine MiniportAddDevice-Funktion registrieren. Wenn NDIS die MiniportAddDevice-Funktion aufruft, kann der PF-Miniporttreiber NdisReadConfiguration aufrufen, um die Konfiguration des NIC-Switches Schlüsselwort (keyword) Einstellungen aus der Registrierung zu lesen. Weitere Informationen zu diesen Schlüsselwörtern finden Sie unter Standardisierte INF-Schlüsselwörter für SR-IOV.
Weitere Informationen zu Richtlinien für die MiniportAddDevice-Funktion finden Sie unter MiniportAddDevice-Richtlinien für PF-Miniport-Treiber.
Weitere Informationen zum Erstellen von NIC-Switches finden Sie unter Erstellen eines NIC-Switches.