Compartilhar via


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:

  1. Execute qualquer inicialização global necessária para o driver de minifiltro.

  2. Registre o driver de minifiltro chamando FltRegisterFilter.

  3. Inicie a filtragem chamando FltStartFiltering.

  4. Retornar um valor NTSTATUS apropriado.

Esta seção inclui:

Registrando o driver de minifiltro

Iniciando a filtragem

Retornando o status de uma rotina de consulta de driver de minifiltro