Escrevendo uma rotina driverEntry

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.

Em um driver que dá suporte a Plug and Play (PnP), como todos os drivers deveriam, a rotina DriverEntry é responsável pela inicialização do driver, enquanto a rotina AddDevice (e, possivelmente, a rotina de expedição que manipula uma solicitação de IRP_MN_START_DEVICE PnP) é responsável pela inicialização do dispositivo. A inicialização do driver inclui exportar outros pontos de entrada do driver, inicializar determinados objetos que o driver usa e configurar vários recursos do sistema por driver. (Os drivers não PnP têm requisitos significativamente diferentes, conforme descrito no Kit de Desenvolvimento de Driver [DDK] para Microsoft Windows NT 4.0 e anteriores.)

As rotinas driverEntry são chamadas no contexto de um thread do sistema em IRQL = PASSIVE_LEVEL.

Uma rotina DriverEntry pode ser paginável e deve estar em um segmento INIT para que ela seja descartada. Use uma diretiva pragma alloc_text, conforme ilustrado nos drivers de exemplo fornecidos com o WDK (Kit de Driver do Windows).

Esta seção contém os seguintes tópicos:

Responsabilidades necessárias do DriverEntry

Responsabilidades opcionais do DriverEntry

Valores retornados de DriverEntry