Partilhar via


UMDF baseado no subconjunto COM

Advertência

UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser escritos usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Os drivers universais do Windows devem usar UMDF 2.

Os exemplos de UMDF 1 arquivados podem ser encontrados na Windows 11, versão 22H2 - Atualização de Amostras de Driver de maio de 2022.

Para obter mais informações, consulte Introdução ao UMDF.

Os objetos e interfaces da estrutura são baseados no COM (Component Object Model) pelos seguintes motivos:

  • COM é familiar para muitos programadores de aplicações.

  • C++ é a linguagem preferida para programação de aplicativos COM.

  • As interfaces COM permitem agrupamentos lógicos de funções, para que a interface do driver de dispositivo (DDI) seja fácil de entender e navegar.

  • O uso do COM permite que o DDI se estenda e evolua sem exigir que as DLLs de driver existentes sejam recompiladas.

  • Várias ferramentas, incluindo o Microsoft Visual Studio e a ATL (Ative Template Library), suportam aplicativos e objetos baseados em COM.

A estrutura utiliza apenas um pequeno subconjunto de COM; não depende de toda a infraestrutura inteira do COM e da biblioteca de tempo de execução. Em vez disso, a estrutura usa apenas os recursos de interface de consulta e contagem de referência. Cada interface de estrutura deriva de IUnknown e, portanto, suporta os métodos QueryInterface, AddRef e Release por padrão. Os métodos AddRef e Release gerenciam o tempo de vida do objeto. O método QueryInterface permite que outros componentes determinem quais interfaces o driver suporta.