Integração com o Filtro de Processamento de Imagens
As transferências de dados baseadas em fluxo permitem uma integração fácil do Filtro de Processamento de Imagem WIA com um driver WIA porque o fluxo é fornecido pelo chamador e o driver WIA executa a mesma ação, independentemente do fluxo de destino. Ou seja, o driver simplesmente solicita um fluxo e grava nele, independentemente do tipo de fluxo retornado ao driver.
O Filtro de Processamento de Imagem WIA é necessário para implementar o IStream. Quando esse filtro é criado, ele recebe o fluxo de destino do aplicativo, para o qual ele deve delegar (ou encaminhar) suas chamadas. Em outras palavras, quando IStream::Write é chamado no filtro, ele deve processar o buffer e, em seguida, chamar IStream::Write no fluxo de destino com o buffer processado.
Da mesma forma, o Filtro de Processamento de Imagem pode fornecer um fluxo para o driver para que os dados possam ser gravados do driver no Filtro de Processamento de Imagem, que grava no fluxo de destino do aplicativo. Observe que, se nenhum filtro estiver presente, o driver não será alterado, mas continuará a gravar no fluxo.
Essa situação é mostrada graficamente nos números a seguir. A primeira figura ilustra uma transferência de dados baseada em fluxo quando o Filtro de Processamento de Imagem não é usado.
A segunda figura ilustra a transferência de dados baseada em fluxo quando o Filtro de Processamento de Imagem é usado.
Observe que o comportamento do driver não é alterado; o driver recebe um fluxo e grava nele se o fluxo é fornecido pelo Filtro de Processamento de Imagens ou por um aplicativo diretamente. Como resultado, você pode publicar componentes de processamento de imagem de valor agregado separadamente. Por exemplo, você pode fornecer um driver in-box funcional, mas que pode fornecer imagens de melhor qualidade quando o usuário instala o componente de processamento de imagem de um CD. O driver não precisa ser alterado nessa situação.
A interface IStream e seus métodos são descritos na documentação do SDK do Microsoft Windows.