Partager via


NetAdapterCx en mode utilisateur

À compter de Windows 11, version 24H2, NetAdapterCx vous permet d’écrire un pilote de carte réseau UMDF (User-Mode Driver Framework ). Les API UMDF dans NetAdapterCx s’alignent sur les versions KMDF, ce qui vous permet de convertir votre pilote client BASÉ sur KMDF en UMDF avec peu à aucun changement de code.

Avantages des pilotes NetAdapterCx en mode utilisateur

La création d’un pilote NetAdapterCx UMDF offre les avantages suivants :

  1. Stabilité améliorée du système : un pilote en mode utilisateur ne peut accéder qu’à l’espace d’adressage de son processus. S’il se bloque, il n’a pas d’impact sur le système. Le pilote peut redémarrer automatiquement, en restaurant rapidement la connexion.

  2. Sécurité améliorée : les applications en mode utilisateur ne peuvent pas accéder directement aux ressources système critiques ni exécuter des instructions privilégiées. Par conséquent, toute violation dans la sécurité du pilote ne compromet pas l’intégrité du noyau.

  3. Développement simplifié : les pilotes en mode utilisateur peuvent améliorer le flux de travail du développeur. Il n’est pas nécessaire d’attendre que les machines de test redémarrent après des incidents, et le déploiement peut être plus rapide à l’aide de la même machine pour le développement et le test.

  4. Innovation et flexibilité accrues : les contraintes de développement de pilotes en mode noyau limitent souvent l’innovation. Les pilotes en mode utilisateur fournissent un environnement plus flexible, ce qui permet aux développeurs d’utiliser des fonctionnalités et des outils avancés qui peuvent être incompatibles ou difficiles à implémenter en mode noyau.

Limitations de NetAdapterCx en mode utilisateur

Les fonctionnalités suivantes sont actuellement uniquement disponibles pour les pilotes NetAdapterCx basés sur KMDF.

Accès direct à la mémoire (DMA)

DMA n’est pas encore disponible en mode utilisateur.

Les pilotes UMDF doivent définir le membre DmaCapabilities dans NET_ADAPTER_RX_CAPABILITIES et NET_ADAPTER_TX_CAPABILITIES sur NULL.

Allocation de mémoire tampon côté client

La gestion des mémoires tampons de données réseau côté client n’est pas disponible en mode utilisateur. Les pilotes UMDF NetAdapterCx doivent s’appuyer sur le système pour allouer des mémoires tampons de données pour les chemins de données de transmission et de réception.

Lorsque votre pilote UMDF publie ses fonctionnalités du tampon de données matérielles en utilisant la structure NET_ADAPTER_RX_CAPABILITIES, il doit :

Convertir un pilote KMDF NetAdapterCx en UMDF

Pour fonctionner en mode utilisateur, le pilote client doit uniquement utiliser les API WDF principales qui font partie de UMDF. Par exemple, le pilote client ne doit pas utiliser d’API exclusives aux pilotes KMDF.

Pour convertir votre pilote KMDF NetAdapterCx en UMDF, suivez les étapes de la procédure de conversion d’un pilote KMDF en pilote UMDF 2.

Les versions UMDF et KMDF de NetAdapterCx partagent le même numéro de version principal.