Condividi tramite


Integrazione con il filtro di elaborazione delle immagini

I trasferimenti di dati basati su flusso consentono una facile integrazione del filtro di elaborazione immagini WIA con un driver WIA perché il flusso viene fornito dal chiamante e il driver WIA esegue la stessa azione indipendentemente dal flusso di destinazione. Ovvero, il driver richiede semplicemente un flusso e lo scrive, indipendentemente dal tipo di flusso restituito al driver.

Per implementare IStream, è necessario il filtro di elaborazione delle immagini WIA. Quando questo filtro viene creato, viene assegnato al flusso di destinazione dell'applicazione, a cui deve quindi delegare (o inoltrare) le relative chiamate. In altre parole, quando viene chiamato IStream::Write sul filtro, deve elaborare il buffer e quindi chiamare IStream::Write nel flusso di destinazione con il buffer elaborato.

Analogamente, il filtro elaborazione immagini può assegnare un flusso al driver in modo che i dati possano essere scritti dal driver al filtro elaborazione immagini, che quindi scrive nel flusso di destinazione dell'applicazione. Si noti che se non è presente alcun filtro, il driver non cambia ma continua a scrivere nel flusso.

Questa situazione è illustrata graficamente nelle figure seguenti. La prima figura illustra un trasferimento dei dati basato su flusso quando il filtro di elaborazione delle immagini non viene usato.

diagramma che illustra un trasferimento istream senza il filtro di elaborazione delle immagini.

La seconda figura illustra il trasferimento dei dati basati su flusso quando viene usato il filtro elaborazione immagini.

diagramma che illustra un trasferimento istream con il filtro di elaborazione delle immagini.

Si noti che il comportamento del driver non cambia; il driver riceve un flusso e scrive in esso se il flusso viene fornito dal filtro elaborazione immagini o direttamente da un'applicazione. Di conseguenza, è possibile pubblicare separatamente componenti di elaborazione delle immagini con valore aggiunto. Ad esempio, è possibile fornire un driver in-box funzionante, ma potrebbe fornire immagini di qualità migliori quando l'utente installa il componente di elaborazione delle immagini da un CD. Il driver non deve essere modificato in questa situazione.

L'interfaccia IStream e i relativi metodi sono descritti nella documentazione di Microsoft Windows SDK.