Partager via


NetAdapterCx en mode utilisateur

À partir de Windows 11, version 24H2, NetAdapterCx vous permet d'écrire un pilote d'adaptateur réseau UMDF (User-Mode Driver Framework). Les API UMDF de NetAdapterCx s'alignent sur les versions KMDF, ce qui vous permet de convertir votre pilote client basé sur KMDF en UMDF avec peu ou pas de changements de code.

Avantages des pilotes NetAdapterCx en mode utilisateur

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

  1. Stabilité accrue du système : Un pilote en mode utilisateur ne peut accéder qu'à l'espace d'adressage de son processus. S'il plante, cela n'a pas d'impact sur le système. Le pilote peut redémarrer automatiquement, ce qui permet de rétablir rapidement la connexion.

  2. Amélioration de la sécurité : Les applications en mode utilisateur ne peuvent pas accéder directement aux ressources critiques du système ni exécuter des instructions privilégiées. Par conséquent, toute faille 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 workflow du développeur. Il n'est pas nécessaire d'attendre que les machines de test redémarrent après un plantage, et le déploiement peut être plus rapide en utilisant la même machine pour le développement et les tests.

  4. Innovation et flexibilité accrues : Les contraintes de développement des pilotes en mode noyau limitent souvent l'innovation. Les pilotes en mode utilisateur offrent un environnement plus souple, permettant aux développeurs d'utiliser des fonctionnalités et des outils avancés qui pourraient être incompatibles ou difficiles à mettre en œuvre en mode noyau.

Limites de NetAdapterCx en mode utilisateur

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

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

Le DMA n'est pas encore disponible en mode utilisateur.

Les pilotes UMDF doivent attribuer la valeur NULL au membre DmaCapabilities dans NET_ADAPTER_RX_CAPABILITIES et NET_ADAPTER_TX_CAPABILITIES.

Allocation de mémoire tampon côté client

La gestion de la mémoire tampon des données réseau côté client n'est pas disponible en mode utilisateur. Les pilotes UMDF NetAdapterCx doivent compter sur le système pour allouer des tampons de données pour les chemins de données d'émission et de réception.

Lorsque votre pilote UMDF annonce ses capacités de mémoire tampon de données matérielles à l'aide de la structure NET_ADAPTER_RX_CAPABILITIES, il doit :

Conversion d'un pilote KMDF NetAdapterCx en UMDF

Pour fonctionner en mode utilisateur, le pilote client ne doit utiliser que les API WDF de base qui font partie d'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 décrites dans la section Comment convertir un pilote KMDF en pilote UMDF 2.

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