Freigeben über


NetAdapterCx im Benutzermodus

Ab Windows 11, Version 24H2, können Sie mit NetAdapterCx einen Benutzermodus-Treiberframework (User-Mode Driver Framework, UMDF)-Netzwerkadaptertreiber schreiben. Die UMDF-APIs in NetAdapterCx richten sich an die KMDF-Versionen, sodass Sie den KMDF-basierten Clienttreiber mit wenig bis ohne Codeänderungen in UMDF konvertieren können.

Vorteile von NetAdapterCx-Treibern im Benutzermodus

Das Erstellen eines UMDF NetAdapterCx-Treibers bietet folgende Vorteile:

  1. Verbesserte Systemstabilität: Ein Benutzermodustreiber kann nur auf den Adressraum des Prozesses zugreifen. Ein Absturz wirkt sich nicht auf das System aus. Der Treiber kann automatisch neu gestartet werden, um die Verbindung schnell wiederherzustellen.

  2. Verbesserte Sicherheit: Anwendungen im Benutzermodus können nicht direkt auf wichtige Systemressourcen zugreifen oder privilegierte Anweisungen ausführen. Daher beeinträchtigt jede Verletzung der Treibersicherheit die Integrität des Kernels nicht.

  3. Vereinfachte Entwicklung: Benutzermodustreiber können den Workflow der Entwickler verbessern. Sie müssen nicht darauf warten, dass die Testrechner nach einem Absturz neu gestartet werden, und die Bereitstellung kann schneller erfolgen, wenn Sie denselben Rechner für Entwicklung und Tests verwenden.

  4. Erhöhte Innovation und Flexibilität: Kernelmodus-Treiberentwicklungseinschränkungen stehen der Innovation häufig im Weg. Benutzermodustreiber bieten eine flexiblere Umgebung, die es Entwicklern ermöglicht, erweiterte Funktionen und Tools zu nutzen, die im Kernel-Mode inkompatibel oder schwierig zu implementieren wären.

Einschränkungen des Benutzermodus-NetAdapterCx

Die folgenden Features sind derzeit nur für KMDF-basierte NetAdapterCx-Treiber verfügbar.

Direkter Zugriff auf den Arbeitsspeicher (Direct Memory Access, DMA)

DMA ist im Benutzermodus noch nicht verfügbar.

UMDF-Treiber müssen das DmaCapabilities-Element in NET_ADAPTER_RX_CAPABILITIES und NET_ADAPTER_TX_CAPABILITIES auf NULL festlegen.

Clientseitige Pufferzuweisung

Clientseitige Netzwerkdatenpufferverwaltung ist im Benutzermodus nicht verfügbar. UMDF NetAdapterCx-Treiber müssen sich auf das System verlassen, um Datenpuffer für die Übertragungs- und Empfangsdatenpfade zuzuweisen.

Wenn Ihr UMDF-Treiber seine Hardwaredatenpufferfunktionen mithilfe der NET_ADAPTER_RX_CAPABILITIES-Struktur ankündigt, muss er Folgendes ausführen:

Konvertieren eines KMDF NetAdapterCx-Treibers in UMDF

Um im Benutzermodus zu arbeiten, darf der Clienttreiber nur Kern-WDF-APIs verwenden, die Teil von UMDF sind. Beispielsweise darf der Clienttreiber keine APIs ausschließlich für KMDF-Treiber verwenden.

Führen Sie zum Konvertieren des KMDF NetAdapterCx-Treibers in UMDF die Schritte zum Konvertieren eines KMDF-Treibers in einen UMDF 2-Treiber aus.

Die UMDF- und KMDF-Versionen von NetAdapterCx verwenden dieselbe Hauptversionsnummer.