Condividi tramite


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.