Introdução com o UMDF

Esta seção descreve User-Mode estrutura de driver (UMDF) e detalha as diferenças entre as versões 1 e 2 do UMDF. Ele também fornece informações de arquitetura de alto nível sobre o UMDF. Use esta seção para determinar se um driver UMDF é a escolha certa para suas necessidades e para decidir qual versão do UMDF usar.

Windows WDF (estruturas de Driver) contém o UMDF, uma estrutura para a criação de drivers de modo de usuário. assim como Kernel-Mode KMDF (estrutura de Driver), o UMDF fornece uma camada de abstração da WDM, manipulando grande parte da funcionalidade de gerenciamento de energia e de Plug and Play (PnP) e permitindo que o Driver aceite funcionalidade e manipulação de eventos específicos.

no Windows 8.1 em diante, há duas versões principais do UMDF, as versões 1 e 2. A versão 1,11 do UMDF (um ponto onze) é a versão mais recente da UMDF versão 1 e é a versão final antes do advento do UMDF 2. Para obter uma tabela mostrando informações completas de versão e relevância do sistema operacional, consulte histórico de versão do UMDF.

Escrever um driver usando a versão 1 do UMDF requer o uso do modelo de programação COM para escrever código C++. Embora a versão 2 do UMDF seja baseada no mesmo modelo de programação de driver conceitual que KMDF, o UMDF 1 implementa o modelo com diferentes componentes, DDIs (interfaces de driver de dispositivo) e estruturas de dados.

Por outro lado, a partir da versão 2 do UMDF, você pode escrever um driver UMDF na linguagem de programação C que chama muitos dos métodos disponíveis para drivers KMDF. Todas as interfaces que são compartilhadas entre o UMDF versão 2 e o KMDF têm os mesmos nomes, parâmetros e definições de estrutura. Se o driver usar apenas a funcionalidade compartilhada ou usar macros condicionais em chamadas com suporte apenas em uma estrutura, você poderá escrever um único driver que você possa compilar com o UMDF ou o KMDF. Para obter mais informações, consulte como gerar um driver UMDF a partir de um driver KMDF.

Embora haja uma semelhança significativa entre o UMDF 2 e o KMDF, ainda há uma pequena quantidade de funcionalidade disponível apenas em uma estrutura ou outra. Para obter informações específicas, consulte comparando a funcionalidade do UMDF 2 ao KMDF. Para obter uma lista de todos os retornos de chamada e métodos UMDF 2 e KMDF e a quais estruturas eles se aplicam, consulte Resumo dos retornos de chamada e métodos do WDF. Em alguns casos, um membro de estrutura ou parâmetro de um método se aplica somente a uma estrutura ou a outra. A documentação descreve essas diferenças nas páginas de referência correspondentes.

Você deve escolher uma ou outra; Não é possível escrever um driver UMDF que chame métodos de ambas as versões 1 e 2 do UMDF.

os drivers da versão 2 do UMDF são executados somente no Windows 8.1 ou posterior. se precisar escrever um driver umdf executado em sistemas operacionais anteriores à Windows 8.1, você precisará escrever um driver umdf 1. x. você pode usar a versão 1,11 para criar drivers que são executados no Windows Vista e versões posteriores. Para obter mais informações sobre a versão 1, consulte o Guia de design do UMDF 1. x. Esta seção descreve a versão 2 do UMDF.