Como todos sabemos, o modelo de driver WDF, a partir do Windows 2000, o desenvolvimento de driver deve ser baseado em WDM. No entanto, seu desenvolvimento é muito difícil e não podemos esperar que seja tão fácil quanto o desenvolvimento de aplicativos em modo de usuário. Para melhorar esta situação, a Microsoft lançou um novo ambiente de desenvolvimento de drivers. Deve-se ressaltar antecipadamente que não se trata de uma reinvenção, mas de modelagem e encapsulamento baseado em WDM. A característica significativa é que reduz a dificuldade de desenvolvimento. porque:
1. Aplicar a tecnologia original baseada em objetos na programação comum para o desenvolvimento de drivers. Embora exista um modelo de objeto no WDM, ele não é a mesma coisa que uma verdadeira tecnologia baseada em objeto. Para implementar a tecnologia baseada em objetos, a Microsoft projetou cuidadosamente o modelo de objeto e o encapsulou. Propriedades, métodos, eventos, etc. "nenhum deles pode faltar".
2. Os drivers de modo kernel e de modo de usuário são criados usando o mesmo modelo de objeto e usam a mesma operadora básica. Essa base é o WDF. Embora o WDF já seja um modelo de objeto encapsulado e definido, para objetos no modo kernel e no modo de usuário, o WDF é o objeto pai de ambos. Em outras palavras, ambos são herdados do WDF ou ambos são derivados do WDF. Em relação ao modo kernel, o objeto derivado é chamado de "estrutura KMD" ou KMDF; em relação ao modo de usuário, o modelo derivado é chamado de "estrutura UMD" ou UMDF; Independentemente do modelo da estrutura, seus métodos de encapsulamento interno e comportamentos de execução são realmente concluídos usando WDM.
3. Mais importante, e o que a Microsoft tem mostrado repetidamente, é o encapsulamento de certos comportamentos comuns em drivers: por exemplo, plug and play e gerenciamento de energia pertencem a esse comportamento comum. Como a maioria dos drivers precisa lidar com problemas de plug-and-play e gerenciamento de energia, diz-se que isso requer milhares de linhas de código. Além disso, pode não ser capaz de lidar bem com isso sem um certo nível de proficiência. Para resolver o problema de uma vez por todas, o WDF simplesmente encapsulou o plug-and-play e o gerenciamento de energia no objeto, tornando-o o comportamento padrão do objeto de uma só vez.
4. A relação entre o kernel do sistema operacional e o driver foi alterada. No driver WDM, por um lado, ele tem que lidar com o hardware e, por outro lado, tem que lidar com a interação entre o driver. e o kernel do sistema operacional. Agora o WDF separa o driver do kernel do sistema operacional. A interação entre o driver e o sistema operacional é completada por métodos (funções) encapsulados na estrutura, de modo que os desenvolvedores de drivers só precisam se concentrar no processamento do comportamento do hardware. Isto não só evita as desvantagens de focar em uma coisa em detrimento da outra, mas também devido à separação das duas partes, é de grande benefício para certas mudanças no sistema operacional e no desenvolvimento de drivers de suporte para fabricantes de hardware. .
5. Ambos os modos de driver (KMDF, UMDF) são construídos usando o mesmo ambiente, chamado WDK.
Ou seja, o ambiente de desenvolvimento do KMDF e UMDF é o WDK.
Windows Device Kit (WDK): Ao integrar conjuntos de testes, o DDK se torna o WDK. WDK é um sistema de desenvolvimento integrado de driver para a série de sistemas operacionais Microsoft. Ele combina kits Windows DDK e Teste de Compatibilidade de Hardware (HCT) (ferramentas de teste de compatibilidade de hardware) e também fornece o conjunto de testes interno da Microsoft para testar a estabilidade e confiabilidade dos sistemas operacionais Windows.
6. Embora seja encapsulado e introduzida tecnologia baseada em objetos, a eficiência de execução do driver desenvolvido não é inferior à original.
Este artigo vem do blog CSDN. Indique a fonte ao reimprimir: http://blog.csdn.net/ding_3/archive/2009/12/23/5060907.aspx.
-