Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O modo de bypass de dados do driver de filtro pode fornecer melhor desempenho do sistema. NDIS não chama funções FilterXxx que foram ignoradas. Por exemplo, se os serviços de envio e recebimento não forem necessários para um determinado aplicativo de filtro, o driver de filtro poderá ignorar as funções de envio e recebimento.
Um driver de filtro especifica os pontos de entrada padrão para funções que podem ser ignoradas durante a inicialização do driver quando ele chama a função NdisFRegisterFilterDriver . Os pontos de entrada são NULL para funções que são ignoradas por padrão. Para obter mais informações sobre inicialização, consulte Inicializando um Driver de Filtro.
Para alterar o estado de bypass em runtime, o driver deve especificar um ponto de entrada para a função FilterSetModuleOptions durante a inicialização do driver. O driver pode inicializar uma estrutura NDIS_FILTER_PARTIAL_CHARACTERISTICS e passar as novas características para a função NdisSetOptionalHandlers no contexto de FilterSetModuleOptions.
O NDIS chama a função FilterSetModuleOptions , se houver, no início de uma operação de reinicialização. Um driver de filtro pode definir o modo de bypass de forma independente para cada módulo de filtro. Para obter mais informações, consulte Como iniciar um módulo de filtro.
Os drivers de filtro podem ignorar as seguintes funções FilterXxx opcionais especificadas na estrutura NDIS_FILTER_DRIVER_CHARACTERISTICS :
FilterSendNetBufferListsComplete
FilterCancelSendNetBufferLists
Para definir uma função FilterXxx para o modo de desvio, um driver de filtro especifica NULL para o ponto de entrada dessa função. No entanto, se um driver chamar qualquer função NDIS que tenha uma função FilterXxx associada, ele deverá fornecer um ponto de entrada para essa função FilterXxx . Por exemplo, se um driver chamar a função NdisFIndicateReceiveNetBufferLists, ele deverá fornecer uma função FilterReturnNetBufferLists.
Se um driver de filtro especificar uma função FilterSendNetBufferLists e este enfileira solicitações de envio, ele também deverá especificar uma função FilterCancelSendNetBufferLists.
Se um driver de filtro definir uma função FilterReceiveNetBufferLists ou FilterReturnNetBufferLists, o driver também deverá definir uma função FilterStatus.
Para alterar suas configurações de modo de bypass em tempo de execução, um driver de filtro pode chamar a função NdisFRestartFilter . O NdisFRestartFilter agenda uma operação de pausa seguida por uma operação de reinicialização para o módulo de filtro especificado. Quando o NDIS chama FilterSetModuleOptions, o driver de filtro pode alterar as funções desse módulo de filtro chamando NdisSetOptionalHandlers e especificando um novo conjunto de pontos de entrada.
Nota Pausar e reiniciar pode fazer com que alguns pacotes de rede sejam descartados no caminho de transmissão ou no caminho de recebimento ou ambos. Os protocolos de rede que fornecem um mecanismo de transporte confiável podem repetir a operação de E/S de rede em caso de um pacote perdido, mas outros protocolos que não garantem confiabilidade não repetem a operação.
Um driver de filtro pode registrar funções opcionais adicionais que dão suporte a serviços de driver opcionais. O driver registra esses serviços opcionais na função FilterSetOptions . Para obter mais informações sobre esses serviços opcionais, consulte Configuração de Serviços Opcionais de Drivers de Filtro.