Partilhar via


Comparando a funcionalidade UMDF 2 com o KMDF

Este tópico compara a funcionalidade disponível para um driver do Kernel-Mode Driver Framework (KMDF) com a disponível para um driver do User-Mode Driver Framework (UMDF) 2. Ele foi projetado para ajudá-lo a decidir se você deve escrever um driver UMDF 2 ou um driver KMDF.

Embora o UMDF versão 2 ofereça um subconjunto significativo de funcionalidades que anteriormente estavam disponíveis apenas para drivers KMDF, os recursos a seguir estão disponíveis apenas para drivers KMDF. Se o driver exigir um desses recursos, você deverá escrever um driver KMDF.

Característica Informações adicionais
Acesso direto à memória (DMA) Gestão de Operações DMA em Drivers KMDF
Enumeração de barramento A enumeração dos dispositivos em um barramento
Estados de energia funcionais (suporte limitado está disponível em UMDF) Suporte para Estados de Energia Funcionais
Acesso a objetos WDM e IRPs Obtendo informações do WDM
Nem E/S com buffer nem E/S direta

Aceder aos buffers de dados nos drivers WDF

Intercetando uma solicitação de E/S antes de ser enfileirada

  • #B0 #A1 EvtIoInCallerContext #A2 #C3
Solicitações de controle interno de dispositivos (IOCTLs)

Envio de Solicitações de E/S Sincronamente

  • #B0 #A1 WdfIoTargetSendInternalIoctlSynchronously #A2 #C3
  • WdfIoTargetSendInternalIoctlOthersSynchronously

Envio Assíncrono de Solicitações de E/S

  • #B0 #A1 WdfIoTargetFormatRequestForInternalIoctl #A2 #C3
  • #B0 #A1 WdfIoTargetFormatRequestForInternalIoctlOthers #A2 #C3
Remover opção de bloqueio para solicitações de E/S #B0 #A1 WdfDeviceInitSetRemoveLockOptions #A2 #C3
WMI Introdução ao WMI para Drivers KMDF

Se o driver não exigir nenhuma das opções acima, você poderá escrever um driver UMDF 2 em vez de usar KMDF. Como as duas estruturas compartilham muitas interfaces, você pode converter seu driver para KMDF mais tarde, se necessário. Para obter informações sobre por que poderá querer escolher UMDF, consulte Vantagens de Escrever Drivers UMDF.

Para obter mais informações sobre os objetos do framework e quais são suportados por KMDF e UMDF, consulte Resumo de Objetos do Framework.

Para uma tabela mostrando todos os callbacks e métodos WDF (Windows Driver Frameworks) e sua aplicabilidade no quadro, consulte Resumo de callbacks e métodos WDF.