Erstellen eines WIA-Microdrivers
Viele Flachbettscanner werden ähnlich gesteuert. Das allgemeine Verhalten zwischen Modellen wurde in einen von Microsoft bereitgestellten allgemeinen Treiber namens WIA Flatbed Driver zusammengefasst. Dieser Treiber ruft eine DLL auf, die vom Scannerhersteller als Microdriver bezeichnet wird und alle erforderlichen gerätespezifischen Verhaltensweisen implementiert. Der WIA Flatbed Driver zusammen mit dem Microdriver kann dann als WIA-Minidriver verwendet werden. Der Vorteil der Verwendung eines Microdrivers ist, dass er sehr einfach zu implementieren und zu debuggen ist. Nicht alle Scanner können von einem Microdriver unterstützt werden. Es eignet sich am besten für einfache Geräte (ohne Duplexer oder andere erweiterte Features) oder wenn ein Basisfunktionalitätstreiber gewünscht wird.
Hinweis Die in diesem Abschnitt beschriebenen WIA-Mikroantriebe sind WIA 1.0. Derzeit gibt es kein entsprechendes WIA-Microdriver-Modell für WIA 2.0. Wenn Sie einen WIA-Mikrodriver für die Ausführung auf einem Computer mit einer Windows-Version entwickeln, die WIA 2.0 (Windows Vista oder höher) unterstützt, funktioniert dieser WIA-Microdriver wie jedes andere WIA 1.0-Gerät und wird von WIA 2.0-Anwendungen im WIA 1.0-Kompatibilitätsmodus verwendet.
Das folgende Diagramm zeigt die Komponenten in der WIA-Microdriver-Architektur.
Der WIA-Flatbed Driver verarbeitet Anforderungen vom WIA-Dienst, indem er die WIA-Microdriver-Funktionen im Microdriver aufruft. Der Microdriver muss jede dieser Funktionen implementieren. Eine SCANINFO-Struktur wird an den Microdriver übergeben, um Scanparameter wie das Scanfenster und die Auflösung zu speichern und zu kommunizieren. Der WIA-Flatbed Driver liest Werte aus der SCANINFO-Struktur, schreibt sie jedoch nie. Es liegt in der Verantwortung des Microdrivers, die SCANINFO-Member festzulegen.
Der Microdriver sollte keine Parameter für einen Scan speichern, sondern sollte sich auf die in der SCANINFO-Struktur gespeicherten Werte verlassen. Dies ist wichtig, um den Zugriff mehrerer Anwendungen auf das Gerät zu unterstützen. Wenn zwei Anwendungen gleichzeitig eine Überprüfung auf demselben Gerät einrichten, wird nur eine Kopie des Microdrivers ausgeführt. In dieser Situation wird der Microdriver mit einer von zwei verschiedenen SCANINFO-Strukturen aufgerufen, je nachdem, welche Anwendung versucht, auf das Gerät zuzugreifen.