Partilhar via


Escrevendo drivers WDM

Esta seção discute a arquitetura do Microsoft Windows Driver Model (WDM). Essa arquitetura começou no Windows 2000 como um aprimoramento para drivers de dispositivo anteriores do Windows NT.

Observação Os drivers para versões de sistemas operativos baseados no Windows NT anteriores ao Windows 2000 não são suportados, e deve-se atualizar esses drivers. A arquitetura WDM não oferece suporte a drivers para sistemas operacionais não baseados no Windows NT (como o Windows 98) e você deve reescrever esses drivers.

Esta secção divide-se em três partes:

  • A descrição do Modelo de Driver do Windows descreve o Modelo de Driver do Windows (WDM), incluindo tipos de drivers WDM, configuração de dispositivos e controle de versões do WDM.

  • Device Objects e Device Stacks descreve objetos de dispositivo e stacks de dispositivos. A seção inclui informações sobre objetos de dispositivo físico (PDOs), objetos de dispositivo funcional (FDOs) e objetos de dispositivo de filtro (FDOs). Os drivers geralmente são criados a partir de um conjunto de objetos de dispositivo que trabalham juntos. Esse conjunto de objetos de dispositivo é chamado de pilha de . As pilhas podem ajudá-lo a entender o fluxo de informações de e para um driver e como diferentes partes do driver se comunicam internamente.

  • Kernel-Mode Componentes do Driver descreve quais rotinas devem ser implementadas para ter um driver funcional e quais rotinas são opcionais.

    Um driver de dispositivo é um conjunto de código de software que deve ser integrado ao sistema operacional. Para concluir essa integração, você deve escrever um conjunto de rotinas de manipulador em seu driver que processam chamadas do sistema operacional. Essas rotinas podem ser chamadas de função simples, mas muitas delas implementam o processamento de pacotes de solicitação de E/S (IRPs), que facilitam a comunicação entre os drivers e o sistema operacional.

Observação os drivers WDM também podem usar a biblioteca Windows Driver Frameworks (WDF) para facilitar a escrita de algumas partes de um driver de dispositivo. Especificamente, os drivers de modo kernel podem usar o Kernel-Mode Driver Framework (KMDF), que faz parte do WDF. Para obter mais informações sobre KMDF para drivers de modo kernel, consulte Visão geral do Kernel-Mode Driver Framework. Observe que o KMDF não substitui o WDM. Você ainda deve entender muitas partes do WDM para escrever um driver KMDF.