Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette section décrit User-Mode Driver Framework (UMDF) et détaille les différences entre UMDF versions 1 et 2. Il fournit également des informations architecturales de haut niveau sur UMDF. Utilisez cette section pour déterminer si un pilote UMDF est le bon choix pour vos besoins et pour déterminer la version UMDF à utiliser.
Windows Driver Frameworks (WDF) contient UMDF, infrastructure pour la création de pilotes en mode utilisateur. Comme le Kernel-Mode Driver Framework (KMDF), UMDF fournit une couche d’abstraction à partir de WDM, prenant en charge la plupart des fonctionnalités de gestion de l’alimentation et du plug-and-play (PnP), et permettant au pilote de choisir des fonctionnalités spécifiques ainsi que la gestion des événements.
Dans Windows 8.1, il existe deux versions principales de UMDF, versions 1 et 2. UMDF version 1.11 (un point onze) est la version la plus récente de UMDF version 1 et est la version finale avant l’avènement de UMDF 2. Pour obtenir un tableau montrant les informations de version complètes et la pertinence du système d’exploitation, consultez l’historique des versions UMDF.
L’écriture d’un pilote à l’aide de la version 1 de UMDF nécessite l’utilisation du modèle de programmation COM pour écrire du code C++. Bien que UMDF version 2 soit basée sur le même modèle de programmation de pilote conceptuel que KMDF, UMDF 1 implémente le modèle avec différents composants, interfaces de pilote de périphérique (DDIS) et structures de données. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10 et Windows 11.
En revanche, à partir de UMDF version 2, vous pouvez écrire un pilote UMDF dans le langage de programmation C qui appelle de nombreuses méthodes disponibles pour les pilotes KMDF. Toutes les interfaces partagées entre UMDF version 2 et KMDF ont les mêmes noms, paramètres et définitions de structure. Si votre pilote utilise uniquement des fonctionnalités partagées ou utilise des macros conditionnelles autour des appels pris en charge dans un seul framework, vous pouvez écrire un seul pilote que vous pouvez compiler avec UMDF ou KMDF. Pour plus d’informations, consultez Comment générer un pilote UMDF à partir d’un pilote KMDF.
Bien qu’il existe une communité significative entre UMDF 2 et KMDF, il existe encore une petite quantité de fonctionnalités qui n’est disponible que dans un framework ou l’autre. Pour plus d’informations, consultez Comparaison des fonctionnalités UMDF 2 à KMDF. Pour obtenir la liste de tous les rappels et méthodes UMDF 2 et KMDF, ainsi que les frameworks auxquels ils s’appliquent, consultez Résumé des rappels et méthodes WDF. Dans quelques cas, un membre ou un paramètre de structure d’une méthode s’applique uniquement à une infrastructure ou à l’autre. La documentation décrit ces différences sur les pages de référence correspondantes.