Compartilhar via


Tipos de controladores WDM

Há três tipos de drivers WDM: motoristas de ônibus, drivers de função e drivers de filtro.

  • Um controlador de barramento gerencia um dispositivo de barramento individual de E/S e fornece funcionalidade por slot que é independente do dispositivo. Os motoristas de ônibus também detectam e relatam dispositivos filho conectados ao ônibus.

  • Um driver de função opera um dispositivo individual.

  • Um driver de filtro filtra solicitações de E/S para um dispositivo, uma classe de dispositivos ou um ônibus.

Nesse contexto, um barramento é qualquer dispositivo ao qual outros dispositivos físicos, lógicos ou virtuais são anexados. Um ônibus inclui ônibus tradicionais, como SCSI e PCI, bem como portas paralelas, portas serial e portas i8042.

É importante que os desenvolvedores de driver entendam os diferentes tipos de drivers WDM e saibam que tipo de driver eles estão escrevendo. Por exemplo, se um driver manipula cada IRP plug and play e como lidar com esses IRPs depende de que tipo de driver está sendo escrito (driver de ônibus, driver de função ou driver de filtro).

A figura a seguir mostra a relação entre o driver de ônibus, o driver de função e os drivers de filtro de um dispositivo.

diagrama ilustrando possíveis camadas de driver.

Cada dispositivo normalmente tem um driver de ônibus para o barramento de E/S pai, um driver de função para o dispositivo e zero ou mais drivers de filtro para o dispositivo. Um design de driver que requer muitos drivers de filtragem não proporciona um desempenho ideal.

Os tipos dos drivers na figura anterior são os seguintes:

  1. Um motorista de ônibus atende um controlador de ônibus, um adaptador ou uma ponte. Os motoristas de ônibus são motoristas necessários; há um motorista de ônibus para cada tipo de ônibus em uma máquina. A Microsoft fornece motoristas de ônibus para a maioria dos ônibus comuns. IHVs e OEMs podem fornecer outros motoristas de ônibus.

  2. Um driver de filtro de ônibus normalmente adiciona valor a um ônibus e é fornecido pela Microsoft ou por um OEM do sistema. Pode haver qualquer número de motoristas de filtro de ônibus para um ônibus.

  3. Os drivers de filtro de nível inferior normalmente modificam o comportamento do hardware do dispositivo. Eles são opcionais e normalmente são fornecidos por IHVs. Pode haver qualquer número de drivers de filtro de nível inferior para um dispositivo.

  4. Um driver de função é o driver principal de um dispositivo. Um driver de função normalmente é escrito pelo fornecedor do dispositivo e é necessário (a menos que o dispositivo seja usado no modo bruto).

  5. Os drivers de filtro de nível superior normalmente fornecem recursos de valor agregado para um dispositivo. Eles são opcionais e normalmente são fornecidos por fabricantes independentes de hardware (IHVs).

Os tópicos a seguir descrevem os três tipos gerais de drivers WDM — motoristas de ônibus, drivers de função, drivers de filtro — em detalhes. Também está incluído um exemplo de estratificação de drivers WDM que utiliza drivers USB amostrais.

Nesta seção

Motoristas de Ônibus

Drivers de função

Drivers de Filtro

Um exemplo de camadas de driver do WDM