Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para iniciar o processo de inserção de um módulo de filtro numa pilha de drivers, o NDIS chama a função FilterAttach de um driver de filtro. No início da execução na função FilterAttach, o módulo de filtro entra no estado de Anexação. Para obter mais informações sobre como anexar um módulo de filtro a uma pilha de drivers, consulte Iniciando uma pilha de drivers.
Um driver de filtro utiliza o identificador que o NDIS passa no parâmetro NdisFilterHandle de FilterAttach em todas as futuras chamadas de função NdisXxx que se referem a esse módulo de filtro. Tais funções incluem indicações de status, enviar solicitações, receber indicações e solicitações OID.
Enquanto um módulo de filtro está no estado de Anexação, o driver:
Cria uma área de contexto para o módulo de filtro e aloca pools de buffer e outros recursos específicos do módulo de filtro. Para obter mais informações sobre pools de buffers, consulte Filter Driver Buffer Management.
Chama a função NdisFSetAttributes usando o valor NdisFilterHandle que o NDIS passou para a FilterAttach . O parâmetro FilterModuleContext de NdisFSetAttributes especifica a área de contexto do driver de filtro para esse módulo de filtro. O NDIS passa esta área de contexto para as funções de FilterXxx do driver de filtro.
Opcionalmente, lê os parâmetros de configuração para este módulo de filtro do registro. Para obter mais informações, consulte Acessando informações de configuração para um driver de filtro.
Se as operações anteriores forem concluídas com êxito, o módulo de filtro estará no estado Pausado.
Se as operações anteriores falharem, o driver de filtro deverá liberar todos os recursos que alocou na função FilterAttach e devolver o módulo de filtro para o estado Desanexado.
Retorna NDIS_STATUS_SUCCESS ou um código de falha apropriado. Se o driver retornar um código de falha, o NDIS encerrará a pilha de drivers.
Nota O registro pode conter um sinalizador, que especifica que um módulo de filtro é opcional. Se um módulo de filtro opcional não for anexado, o NDIS não encerrará o restante da pilha de drivers.
Um driver de filtro não pode fazer solicitações de envio, indicar os dados recebidos, fazer solicitações OID ou fazer indicações de status do estado de Anexação . As operações de envio e recebimento são suportadas nos estados Em execução e Em pausa. As solicitações OID e as indicações de status são suportadas nos estados Pausada, Reiniciando, Em execuçãoe Pausando.
O NDIS chama a função FilterDetach para desanexar um módulo de filtro que o NDIS anexou com FilterAttach. Para obter mais informações, consulte Desanexando um módulo de filtro.