Partager via


UMDF basé sur un sous-ensemble COM

Avertissement

UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2.

Les exemples UMDF 1 archivés se trouvent dans la Windows 11, version 22H2 - Mise à jour des exemples de pilotes de mai 2022.

Pour plus d’informations, consultez Prise en main avec UMDF.

Les objets et interfaces d’infrastructure sont basés sur le modèle COM (Component Object Model) pour les raisons suivantes :

  • COM est familier à de nombreux programmeurs d’applications.

  • C++ est le langage préféré pour la programmation d’applications COM.

  • Les interfaces COM permettent des regroupements logiques de fonctions, afin que l’interface de pilote de périphérique (DDI) soit facile à comprendre et à parcourir.

  • L’utilisation de COM permet à la DDI d’étendre et d’évoluer sans nécessiter la recompilation des DLL de pilotes existantes.

  • De nombreux outils, notamment Microsoft Visual Studio et la bibliothèque de modèles actifs (ATL), prennent en charge les applications et les objets basés sur COM.

L’infrastructure n’utilise qu’un petit sous-ensemble de COM ; elle ne dépend pas de l’ensemble de l’infrastructure COM et de la bibliothèque runtime. Au lieu de cela, l’infrastructure utilise uniquement les fonctionnalités d’interface de requête et de comptage de références. Chaque interface de framework dérive de IUnknown et prend donc en charge les méthodes QueryInterface, AddRef et Release par défaut. Les méthodes AddRef et Release gèrent la durée de vie des objets. La méthode QueryInterface permet à d’autres composants de déterminer les interfaces prises en charge par le pilote.