Escrevendo uma rotina DriverEntry para um driver de minifiltro
Cada driver de minifiltro do sistema de arquivos deve ter uma rotina DriverEntry . A rotina DriverEntry é chamada quando o driver de minifiltro é carregado.
A rotina DriverEntry executa a inicialização global, registra o driver de minifiltro e inicia a filtragem. Essa rotina é executada em um contexto de thread do sistema no PASSIVE_LEVEL IRQL.
A rotina DriverEntry é definida da seguinte maneira:
NTSTATUS
(*PDRIVER_INITIALIZE) (
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);
DriverEntry tem dois parâmetros de entrada. O primeiro, DriverObject, é o objeto de driver que foi criado quando o driver de minifiltro foi carregado. O segundo, RegistryPath, é um ponteiro para uma cadeia de caracteres Unicode contada que contém um caminho para a chave do Registro do driver de minifiltro.
A rotina DriverEntry de um driver de minifiltro deve executar as seguintes etapas, na ordem:
Execute qualquer inicialização global necessária para o driver de minifiltro.
Registre o driver de minifiltro chamando FltRegisterFilter.
Inicie a filtragem chamando FltStartFiltering.
Retornar um valor NTSTATUS apropriado.
Esta seção inclui:
Registrando o driver de minifiltro
Retornando o status de uma rotina de consulta de driver de minifiltro