이미지 처리 필터와 통합
스트림 기반 데이터 전송을 사용하면 WIA 드라이버와 WIA 이미지 처리 필터 를 쉽게 통합할 수 있습니다. 이는 스트림이 호출자가 제공하고 WIA 드라이버가 대상 스트림에 관계없이 동일한 작업을 수행하기 때문입니다. 즉, 드라이버는 단순히 스트림을 요청한 다음 드라이버에 반환되는 스트림 유형에 관계없이 스트림에 씁니다.
IStream을 구현하려면 WIA 이미지 처리 필터가 필요합니다. 이 필터를 만들면 애플리케이션의 대상 스트림이 제공되므로 호출을 위임(또는 전달)해야 합니다. 즉, 필터에서 IStream::Write 가 호출되면 버퍼를 처리한 다음 처리된 버퍼를 사용하여 대상 스트림에서 IStream::Write 를 호출해야 합니다.
마찬가지로 이미지 처리 필터는 드라이버에서 이미지 처리 필터로 데이터를 쓸 수 있도록 드라이버에 스트림을 제공할 수 있습니다. 그러면 애플리케이션의 대상 스트림에 씁니다. 필터가 없으면 드라이버는 변경되지 않지만 스트림에 계속 씁니다.
이 상황은 다음 그림에서 그래픽으로 표시됩니다. 첫 번째 그림은 이미지 처리 필터를 사용하지 않을 때 스트림 기반 데이터 전송을 보여 줍니다.
두 번째 그림은 이미지 처리 필터를 사용할 때 스트림 기반 데이터 전송을 보여 줍니다.
드라이버의 동작은 변경되지 않습니다. 드라이버는 스트림을 수신하고 스트림이 이미지 처리 필터 또는 애플리케이션에서 직접 제공되는지 여부에 관계없이 스트림에 씁니다. 따라서 값 추가 이미지 처리 구성 요소를 별도로 게시할 수 있습니다. 예를 들어 기능적이지만 사용자가 CD에서 이미지 처리 구성 요소를 설치할 때 더 나은 품질의 이미지를 제공할 수 있는 기본 제공 드라이버를 제공할 수 있습니다. 이 상황에서는 드라이버를 변경할 필요가 없습니다.
IStream 인터페이스 및 해당 메서드는 Microsoft Windows SDK 설명서에 설명되어 있습니다.