Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para obter informações sobre interfaces de programação que o driver pode implementar ou chamar, consulte a Referência de driverKernel-Mode.
Esta seção inclui conceitos gerais para ajudá-lo a entender a programação em modo kernel e descreve técnicas específicas de programação kernel. Para obter uma visão geral dos drivers do Windows, consulte Introdução ao desenvolvimento de drivers do Windows, que fornece uma visão geral dos componentes do Windows, lista os tipos de drivers de dispositivo usados no Windows, discute as metas dos drivers de dispositivo do Windows e discute drivers de dispositivo de exemplo genéricos incluídos no kit.
Esta seção contém informações conceituais que descrevem e ajudam você a criar drivers de modo kernel.
Uma visão geral contendo:
Um catálogo de drivers de exemplo Kernel-Mode
Práticas recomendadas de desenvolvimento de driver do kernel, conforme compiladas pela equipe do Microsoft Surface
Kernel-Mode Components descreve os principais gerenciadores de modo kernel e componentes do sistema operacional Windows.
Componente Descrição Gestores Gerenciador de objetos do Windows Kernel-Mode Gerencia objetos: arquivos, dispositivos, mecanismos de sincronização, chaves do Registro e assim por diante. Gerenciador de memória do Windows Kernel-Mode Gerencia a memória física do sistema operacional. Gestor de Threads e Processos Kernel-Mode Windows Gere a execução de todos os threads em um processo. Gerenciador de E/S do Windows Kernel-Mode Gerencia a comunicação entre aplicativos e as interfaces fornecidas pelos drivers de dispositivo. Gerenciador Plug and Play do Windows Kernel-Mode Um subsistema do gestor de E/S, o Plug and Play (PnP) Manager permite que um PC reconheça quando um dispositivo é adicionado ao sistema. Gestor de Energia do Windows Kernel-Mode Gere a alteração ordenada no estado de energia para todos os dispositivos que suportam alterações de estado de energia. Gerenciador de Configurações do Windows Kernel-Mode Gerencia o registo, como monitorizar alterações no registo ou registrar callbacks em dados específicos do registo. Gerenciador de transações do kernel do Windows Kernel-Mode Implementa o processamento de transações no modo kernel. Monitor de Referência de Segurança do Windows Kernel-Mode Fornece rotinas para o seu motorista trabalhar com controle de acesso. Bibliotecas Biblioteca do kernel do Windows Kernel-Mode Implementa a funcionalidade principal da qual todo o resto no sistema operacional depende. O núcleo do Windows da Microsoft fornece operações básicas de baixo nível, como agendamento de threads e encaminhamento de interrupções de hardware. Biblioteca de Suporte Executivo do Windows Kernel-Mode Refere-se a componentes de modo kernel que fornecem vários serviços para drivers de dispositivo, incluindo: gerenciamento de objetos, gerenciamento de memória, gerenciamento de processos e threads, gerenciamento de entrada/saída e gerenciamento de configuração. Biblioteca de Kernel-Mode Run-Time do Windows Um conjunto de rotinas utilitárias comuns necessárias para vários componentes de modo kernel. Biblioteca de Cadeias de Caracteres Seguras do Windows Kernel-Mode Uma biblioteca de cadeias de caracteres segura para fornecer maior segurança no desenvolvimento em modo kernel. Biblioteca DMA do Windows Kernel-Mode Uma biblioteca de acesso direto à memória (DMA) para desenvolvedores de drivers de dispositivo. Biblioteca HAL do Windows Kernel-Mode Uma camada de abstração de hardware (HAL) para desenvolvimento de controlador em modo kernel. Biblioteca CLFS do Windows Kernel-Mode Um sistema de log transacional, o Common Log File System (CLFS). Biblioteca WMI do Windows Kernel-Mode Um mecanismo geral para gerenciar componentes, chamado WMI (Instrumentação de Gerenciamento do Windows). Escrevendo drivers WDM e Introdução ao WDM fornecem informações necessárias para escrever drivers usando o WDM (Modelo de Drivers do Windows).
Device Objects e os outros artigos em Device Objects e Device Stacks descrevem como o sistema operacional representa dispositivos por objetos de dispositivo.
O Gerenciamento de Memória para Drivers do Windows ilustra como os drivers de modo kernel alocam memória para fins como armazenamento de dados internos, armazenamento em buffer de dados durante operações de E/S e compartilhamento de memória com outros componentes de modo kernel e modo de usuário.
Segurança Desde o Controlo de Acesso e Privilégios para dispositivos ao Security Descriptor Definition Language (SDDL) para objetos de dispositivo, certifique-se de que os drivers estejam o mais seguros possível.
Manipulando IRPs descreve como os drivers de modo kernel lidam com pacotes de solicitação de E/S (IRPs).
DMA O Acesso Direto à Memória (DMA) é um aspeto crítico do desenvolvimento de drivers, e os artigos neste nó abrangem o DMA de A a Z.
Controller Objects representam um controlador de dispositivo físico com dispositivos conectados.
As Rotinas de Serviço de Interrupção (ISRs) manipulam interrupções para drivers de um dispositivo físico que recebe interrupções.
Message-Signaled Interrupções acionam uma interrupção gravando um valor em um endereço de memória específico.
As chamadas de procedimento adiado (objetos DPC) podem ser enfileiradas a partir de ISRs e são executadas posteriormente e em um IRQL menor do que o ISR.
Plug and Play (PnP) se concentra no suporte de software do sistema para PnP e como os drivers usam esse suporte para implementar PnP.
O Gerenciamento de Energia descreve a arquitetura que fornece uma abordagem abrangente para o gerenciamento de energia do sistema e do dispositivo.
A Instrumentação de Gerenciamento do Windows (WMI) são extensões para seu driver de modo kernel, que permitem que seu driver se torne um provedor WMI. Um provedor WMI disponibiliza dados de medição e instrumentação para consumidores WMI, como aplicativos de modo de usuário.
Técnicas de Programação de Drivers Programar drivers no modo kernel do Windows exige técnicas que por vezes diferem significativamente da programação em modo utilizador.