Compartilhar via


Registrando o driver de minifiltro

Cada driver de minifiltro deve chamar FltRegisterFilter de sua rotina DriverEntry para se adicionar à lista global de drivers de minifiltro registrados e fornecer ao gerenciador de filtros uma lista de rotinas de retorno de chamada e outras informações sobre o driver.

No exemplo do MiniSpy, o driver de minifiltro é registrado conforme mostrado no exemplo de código a seguir:

NTSTATUS status;
status = FltRegisterFilter(
           DriverObject,                  //Driver
           &FilterRegistration,           //Registration
           &MiniSpyData.FilterHandle);    //RetFilter

FltRegisterFilter tem dois parâmetros de entrada. O primeiro, Driver, é o ponteiro do objeto driver que o driver de minifiltro recebeu como o parâmetro de entrada DriverObject para sua rotina DriverEntry . O segundo, Registration, é um ponteiro para uma estrutura FLT_REGISTRATION que contém pontos de entrada para as rotinas de retorno de chamada do driver de minifiltro.

Além disso, FltRegisterFilter tem um parâmetro de saída, RetFilter, que recebe um ponteiro de filtro opaco para o driver de minifiltro. Esse ponteiro de filtro é um parâmetro de entrada necessário para muitas rotinas de suporte do FltXxx , incluindo FltStartFiltering e FltUnregisterFilter.