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.
Um dos problemas mais insidiosos que devem ser tratados corretamente por um driver de filtro do sistema de arquivos é a coexistência com outros drivers de filtro. Ao criar um driver de filtro do sistema de arquivos para coexistir com outros drivers de filtro do sistema de arquivos, é melhor considerar os seguintes problemas:
Os drivers de filtro devem considerar a presença de outros drivers de filtro em suas operações. Qualquer operação executada pelo driver de filtro deve ser robusta o suficiente para sobreviver a um driver de filtro adicional usando a mesma técnica ou diferente.
Os drivers de filtro podem afetar o comportamento de outros filtros, alterando o comportamento base do sistema.
Aumentar o número de drivers de filtro aumenta o consumo de recursos escassos, principalmente espaço de pilha. Os drivers de filtro do sistema de arquivos devem se esforçar para minimizar o uso de recursos tão escassos. Caso contrário, aplicativos de usuário mal-intencionados podem tirar proveito de tais fraquezas para fazer com que o sistema falhe. Os desenvolvedores devem ser particularmente cuidadosos com os caminhos de conclusão e caminhos de erro.
Os drivers de filtro devem ser conservadores no que aceitam e liberais no que enviam para o driver inferior (driver de filtro ou sistema de arquivos). Sempre que possível, o driver de filtro deve tentar garantir que as operações enviadas para o driver subjacente sejam simples e não complicadas (não execute operações de renomeação durante as operações de criação, por exemplo).
Os drivers de filtro devem ser cautelosos quanto ao bloqueio. Os bloqueios nunca devem ser mantidos em chamadas do sistema de arquivos. Vários componentes do sistema fazem suposições muito precisas e explícitas sobre a ordem de bloqueio e as funções que podem ou não bloquear. Perturbar isso adicionando outra camada de bloqueio pode facilmente levar a impasses. As E/S originárias de Srv.sys expõem esses problemas de forma particularmente rápida, mas eles também podem ser vistos durante os testes de esforço normais.
É imperativo que qualquer desenvolvedor de driver de filtro de sistema de arquivos não apenas projete e implemente para coexistir de forma limpa com outros drivers de filtro, mas também teste o driver de filtro com outros drivers de filtro para garantir que o driver não introduza problemas de segurança no sistema.