Sobre drivers de filtro de armazenamento
Um SFD (driver de filtro de armazenamento) dá suporte à funcionalidade específica do dispositivo não fornecida por um driver de classe de armazenamento fornecido pelo sistema.
Se um driver de classe de armazenamento já existir para um tipo específico de dispositivo, talvez seja desnecessário gravar um driver para um novo dispositivo do mesmo tipo. Cada driver de classe de armazenamento fornecido pelo sistema foi projetado para dar suporte a dispositivos periféricos de um determinado tipo e é testado em vários dispositivos de fornecedores. Assim, qualquer driver de classe de armazenamento fornecido pelo sistema pode fornecer todo o suporte a outro dispositivo de suas necessidades de tipo.
Se um driver de classe de armazenamento existente não der suporte total a um novo dispositivo do tipo, um novo driver poderá ser gravado como um SFD em camadas ou em um driver de classe fornecido pelo sistema existente. Um SFD pode transformar dados em solicitações de leitura/gravação, definir códigos de controle de E/S adicionais (IOCTLs) que permitem que um aplicativo de usuário aproveite recursos adicionais de um dispositivo específico ou contornar problemas específicos do dispositivo sem exigir alterações específicas de hardware para a classe genérica ou drivers de porta.
A menos que um novo dispositivo exija que cada solicitação seja tratada de maneira específica do dispositivo, um driver de filtro de armazenamento pode ser desenvolvido em muito menos tempo do que um novo driver de classe de armazenamento.