UMDF basato sul subset COM
Avviso
UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2.
Gli esempi di UMDF 1 archiviati sono disponibili nell'aggiornamento degli esempi di driver di Windows 11 versione 22H2 - Maggio 2022.
Per altre info, vedi Introduzione con UMDF.
Gli oggetti e le interfacce del framework sono basati su Component Object Model (COM) per i motivi seguenti:
COM è familiare a molti programmatori di applicazioni.
C++ è il linguaggio preferito per la programmazione di applicazioni COM.
Le interfacce COM consentono raggruppamenti logici di funzioni, in modo che l'interfaccia DDI (Device Driver Interface) sia facile da comprendere e navigare.
L'uso di COM consente all'DDI di estendere ed evolversi senza richiedere la ricompilata delle DLL del driver esistenti.
Numerosi strumenti, tra cui Microsoft Visual Studio e ATL (Active Template Library), supportano applicazioni e oggetti basati su COM.
Il framework usa solo un piccolo subset di COM; non dipende dall'intera infrastruttura COM e dalla libreria di runtime. Il framework usa invece solo le funzionalità di query e di conteggio dei riferimenti. Ogni interfaccia del framework deriva da IUnknown e supporta quindi i metodi QueryInterface, AddRef e Release per impostazione predefinita. I metodi AddRef e Release gestiscono la durata degli oggetti. Il metodo QueryInterface consente ad altri componenti di determinare quali interfacce supportano il driver.