Comparando a funcionalidade UMDF 2 com o KMDF
Este tópico compara a funcionalidade disponível a um driver KMDF (Kernel-Mode Driver Framework) com o 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 funcionalidade que estava disponível anteriormente 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.
Recurso | Informações relacionadas |
---|---|
DMA (acesso direto à memória) | Manipulando operações de DMA em drivers KMDF |
Enumeração de barramento | Enumerando os dispositivos em um barramento |
Estados de energia funcional (o suporte limitado está disponível no UMDF) | Suporte a estados de energia funcionais |
Acesso a objetos WDM e IRPs | Obtendo informações do WDM |
Nem E/S em buffer nem direta | Acessando buffers de dados em drivers WDF Interceptando uma solicitação de E/S antes de ser enfileirada |
IOCTLs (solicitações internas de controle de dispositivo) | |
Remover a aceitação de bloqueio para solicitações de E/S | WdfDeviceInitSetRemoveLockOptions |
WMI | Introdução ao WMI para drivers KMDF |
Se o driver não exigir nenhum dos itens 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 em KMDF mais tarde, se a necessidade surgir. Para obter informações sobre por que você pode querer escolher UMDF, consulte Vantagens de escrever drivers UMDF.
Para obter mais informações sobre os objetos de estrutura e quais são compatíveis com KMDF e UMDF, consulte Resumo de objetos de estrutura.
Para obter uma tabela mostrando todos os métodos e retornos de chamada do WDF (Windows Driver Frameworks) e sua aplicabilidade de estrutura, consulte Resumo dos métodos e retornos de chamada do WDF.