Compartilhar via


Iniciando a filtragem

Depois de chamar FltRegisterFilter, a rotina DriverEntry de um driver de minifiltro normalmente chama FltStartFiltering para começar a filtrar operações de E/S.

Cada driver de minifiltro deve chamar FltStartFiltering de sua rotina driverEntry para notificar o gerenciador de filtros de que o driver de minifiltro está pronto para começar a anexar a volumes e filtrar solicitações de E/S. Depois que o driver de minifiltro chama FltStartFiltering, o gerenciador de filtros trata o driver de minifiltro como um driver de minifiltro totalmente ativo, apresentando-o com solicitações de E/S e notificações de volumes a serem anexados. O driver de minifiltro deve estar preparado para começar a receber essas solicitações e notificações de E/S antes mesmo de FltStartFiltering retornar.

No driver de exemplo do MiniSpy, FltStartFiltering é chamado conforme mostrado no exemplo de código a seguir:

status = FltStartFiltering( MiniSpyData.FilterHandle );
if( !NT_SUCCESS( status )) {
  FltUnregisterFilter( MiniSpyData.FilterHandle );
}

Se a chamada para FltStartFiltering não retornar STATUS_SUCCESS, o driver de minifiltro deverá chamar FltUnregisterFilter para cancelar o registro em si.