Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Tenha os seguintes pontos em mente ao criar um driver no modo kernel:
Cada driver deve ter uma rotina DriverEntry , que inicializa estruturas e recursos de dados em todo o driver. O gerente de E/S chama a rotina DriverEntry quando carrega o driver.
Cada driver deve ter pelo menos uma rotina de expedição que recebe e processa pacotes de solicitação de E/S (IRPs). Cada driver deve colocar o ponto de entrada de uma rotina de despacho em sua estrutura DRIVER_OBJECT, para cada código de função maior IRP que o driver pode receber. Um driver pode ter uma rotina de expedição separada para cada código de função principal do IRP ou pode ter uma ou mais rotinas de expedição que lidam com vários códigos de função.
Cada driver WDM deve ter uma rotina Unload. O driver deve colocar o ponto de entrada da rotina Unload no objeto do driver do sistema. As responsabilidades da rotina de descarregamento de um driver PnP são mínimas, mas a rotina de descarregamento de um driver não PnP é responsável por liberar todos os recursos do sistema que o driver está usando.
Cada driver WDM deve ter uma rotina AddDevice e definir seu ponto de entrada na extensão de driver do objeto de driver. Uma rotina AddDevice é responsável por criar e inicializar objetos de dispositivo para cada dispositivo PnP que o driver controla.
Um driver pode ter uma rotina StartIo, que o gerenciador de E/S chama para iniciar operações de E/S para IRPs que o driver enfileirou em uma fila IRP fornecida pelo sistema. Qualquer driver que não tenha uma rotina StartIo deve configurar e gerenciar filas internas para os IRPs recebidos ou deve concluir cada IRP dentro de suas rotinas de expedição. Os drivers de nível superior podem não ter uma rotina StartIo, se eles simplesmente passarem IRPs para drivers de nível inferior diretamente de suas rotinas de despacho.
Certos drivers de miniporta são exceções aos requisitos anteriores. Consulte a documentação específica do tipo de dispositivo no WDK (Windows Driver Kit) para obter informações sobre os requisitos para drivers de miniport.
Se um driver tem qualquer outro tipo de rotina padrão depende de sua funcionalidade e de como esse driver se encaixa no sistema (por exemplo, se ele interopera com drivers fornecidos pelo sistema). Consulte a documentação específica do tipo de dispositivo no WDK para obter detalhes.