Exemplos gerais de drivers
Os exemplos neste diretório fornecem um ponto de partida para escrever um driver personalizado para seu dispositivo.
Amostra | Descrição |
---|---|
Cancelar fila de IRP seguro | Demonstra o uso das rotinas de fila cancel-safe IoCsqInitialize, IoCsqInsertIrp, IoCsqRemoveIrp, IoCsqRemoveNextIrp. Ao usar essas rotinas, os desenvolvedores de pilotos não precisam se preocupar com as condições de corrida de cancelamento do IRP. |
Eco KMDF | Demonstra como usar uma fila sequencial para serializar solicitações de leitura e gravação apresentadas ao driver. |
Eco UMDF1 | Demonstra como usar UMDF 1 para escrever um driver e empregar práticas recomendadas. |
Eco UMDF2 | Demonstra como usar UMDF 2 para escrever um driver e empregar práticas recomendadas. |
Exemplo de SocketEcho UMDF (UMDF Versão 1) | Demonstra como usar o UMDF para escrever um driver e demonstra as práticas recomendadas. |
Evento de Hardware | Demonstra duas maneiras diferentes que um driver de modo kernel pode notificar um aplicativo sobre um evento de hardware. Uma maneira usa um método baseado em evento e a outra usa um método baseado em IRP. O driver de exemplo usa um DPC de temporizador para simular eventos de hardware. |
Exemplo de driver não-PnP | Demonstra como escrever um driver não-PnP usando o Kernel Mode Driver Framework. |
IOCTL | Demonstra o uso de quatro tipos diferentes de IOCTLs (METHOD_IN_DIRECT, METHOD_OUT_DIRECT, METHOD_NEITHER e METHOD_BUFFERED). |
ObCallback | Demonstra o uso de retornos de chamada registrados para proteção do processo. O driver registra retornos de chamada de controle que são chamados na criação do processo. |
PCIDRV | Este exemplo demonstra como escrever um driver KMDF para um dispositivo PCI. O exemplo funciona com o adaptador PCI Ethernet baseado em Intel 82557/82558 (10/100) e compatíveis com Intel. |
Contador do Kernel | Demonstra o uso da biblioteca de desempenho do modo kernel. O driver não controla nenhum hardware, ele simplesmente fornece contadores. O código contém comentários para explicar o que cada função faz. |
PLX9x5x PCI Driver | Demonstra como escrever driver para um dispositivo PCI genérico usando o Windows Driver Frameworks (WDF). O hardware de destino para este driver é a placa PLX9656/9653RDK-LITE. |
RegFltr | Mostra como gravar um driver de filtro do Registro. |
Fonte de mídia simples | Demonstra como escrever uma fonte de mídia personalizada e um pacote de driver. |
Sistema DMA | Demonstra o uso do V3 System DMA. Ele mostra como um driver pode usar um controlador DMA do sistema suportado pelo Windows para gravar dados em um local de hardware usando DMA. |
Driver de exemplo de torradeira | Uma série iterativa de exemplos que demonstram aspectos fundamentais do desenvolvimento de drivers do Windows para KMDF (Kernel-Mode Driver Framework) e UMDF (User-Mode Driver Framework) versão 1. |
Exemplo de pacote de torradeira | Simula a instalação do driver de amostra de torradeira com hardware e software. |
Exemplo de torradeira (UMDF versão 2) | Uma série iterativa de exemplos que demonstram aspectos fundamentais do desenvolvimento de drivers do Windows usando o UMDF (User-Mode Driver Framework) versão 2. |
EventDrv | Um provedor e driver de rastreamento no modo kernel. O driver não controla nenhum hardware; ele simplesmente gera eventos de rastreamento. Ele foi projetado para demonstrar o uso da API ETW (Rastreamento de Eventos para Windows) em um driver. |
Controle de rastreamento do sistema | Demonstra como usar APIs de controle de rastreamento de eventos para coletar eventos do provedor de rastreamento do sistema. |
Tracedrv | Um driver de exemplo instrumentado para rastreamento de software. |
Esqueleto do driver UMDF | Demonstra como usar o User-Mode Driver Framework para escrever um driver mínimo e mostra as práticas recomendadas. |
Kit de ferramentas de instalação do pacote de driver para drivers universais | Ilustra os princípios DCHU do design de driver universal. |