Freigeben über


WIA-Komponenten

WIA besteht aus mehreren Ebenen, die zwischen dem Benutzer und der Hardware interceieren. Der Benutzer interagiert mit der WIA-Anwendung, die über optionale Benutzeroberflächen verfügen kann. Diese Anwendung kommuniziert mit dem WIA-Dienst, der die Anforderungen des Benutzers an den Minidriver sendet. Der Minidriver kommuniziert mit dem relevanten Kernelmodus-Bustreiber. Schließlich kommuniziert der Bustreiber mit der Hardware. Das folgende Diagramm veranschaulicht die Softwarekomponenten, aus denen die WIA-Schnittstelle besteht.

Diagramm, das die Softwarekomponenten veranschaulicht, aus denen die wia-Schnittstelle besteht.

Imaging-Anwendungen

Imaging-Anwendungen kommunizieren nicht direkt mit dem Minidriver, aber sie kommunizieren mit dem WIA-Dienst über die WIA-Anwendungsprogrammierschnittstelle (WIA-API), um auf Bilder zuzugreifen und Daten von WIA-Geräten zu erfassen. Diese Anwendungen können die vom System bereitgestellte Benutzeroberfläche oder eine vom Hersteller des Geräts bereitgestellte Benutzeroberfläche verwenden. Die Benutzeroberfläche wird verwendet, um Elemente für die Übertragung auszuwählen und relevante Eigenschaften festzulegen. Beachten Sie, dass es die Anwendung und nicht der Treiber ist, die die ausgewählten Elemente nach dem Schließen der Benutzeroberfläche überträgt. Weitere Informationen zur WIA-API für Imaginganwendungen finden Sie in der Microsoft Windows SDK Dokumentation.

WIA-Dienst

Der WIA-Dienst ist eine vom System bereitgestellte Komponente, die mit Imaging-Anwendungen und WIA-Minidrivern kommuniziert. Der WIA-Dienst ist eine Sammlung der COM-Schnittstellen, die in der folgenden Tabelle aufgeführt sind, die alle in der Microsoft Windows SDK-Dokumentation beschrieben sind. Der WIA-Dienst wird in einem separaten Prozess von Anwendungen ausgeführt, aber im selben Prozess wie WIA-Minidriver. Anwendungen leiten Geräteanforderungen an den WIA-Dienst weiter. Der WIA-Dienst leitet diese Anforderungen dann über eine WIA-Gerätetreiberschnittstelle (WIA DDI) an den entsprechenden Minidriver weiter. In der folgenden Tabelle sind die APIs aufgeführt, die eine WIA-Anwendung implementieren kann.

WIA-API BESCHREIBUNG
IEnumWIA_DEV_CAPS Listet die Funktionen des WIA-Hardwaregeräts auf. Gerätefunktionen umfassen Befehle und Ereignisse, die vom Gerät unterstützt werden.
IEnumWIA_DEV_INFO Listet die WIA-Hardwaregeräte und ihre Eigenschaften auf. Geräteinformationseigenschaften beschreiben die Installation und Konfiguration von WIA-Hardwaregeräten.
IEnumWIA_FORMAT_INFO Listet das Format und die Medientypinformationen für ein Gerät auf.
IEnumWiaItem Listet IWiaItem-Objekte im aktuellen Ordner einer Struktur auf. Das WIA-Laufzeitsystem stellt jedes WIA-Hardwaregerät einer Anwendung als hierarchische Struktur von IWiaItem-Objekten dar.
IWiaDataCallback Stellt einen Anwendungsrückrufmechanismus bei Datenübertragungen von WIA-Hardwaregeräten an Anwendungen bereit.
IWiaDataTransfer Unterstützt ein Fenster mit freigegebenem Arbeitsspeicher zum Übertragen von Daten vom Geräteobjekt an die Anwendung und vermeidet unnötige Datenkopien während des Marshallings.
IWiaDevMgr Wird von Anwendungen zum Erstellen und Verwalten von Imageerfassungsgeräten verwendet. Sie verwenden es auch, um sich für den Empfang von Geräteereignissen zu registrieren.
IWiaEventCallback Wird von Anwendungen verwendet, um Benachrichtigungen über WIA-Hardwaregeräteereignisse zu erhalten.
IWiaItem Ermöglicht Es Anwendungen, Geräte nach ihren Funktionen abzufragen. IWiaItem bietet auch Zugriff auf Datenübertragungsschnittstellen und Elementeigenschaften. Darüber hinaus stellt diese Schnittstelle Methoden bereit, mit denen Anwendungen das Gerät steuern können.
IWiaPropertyStorage Bietet Zugriff auf Informationen zu den Eigenschaften eines IWiaItem-Objekts .

Bibliothek für WIA-Treiberdienste

Die WIA-Treiberdienstebibliothek ist eine vom System bereitgestellte Komponente, die Hilfsfunktionen für WIA-Minidriver bereitstellt. Ein Minidriver kann Hilfsfunktionen aufrufen, um Aufgaben auszuführen, z. B. die folgenden:

Alternativ kann ein Minitreiber solche Aufgaben selbst ausführen. Durch die Verwendung der Hilfsfunktionen können Sie die Entwicklungszeit und die Größe eines WIA-Minidrivers reduzieren und dennoch die Flexibilität haben, individuelle Lösungen zu entwickeln.

WIA-Hilfsprogrammbibliothek

Die WIA-Hilfsprogrammbibliothek enthält eine Sammlung von Debugfunktionen (wiauDbgXxx), eine Auflistung allgemeiner Hilfsfunktionen des Hilfsprogramms und drei Klassen: die CWiauDbgFn-Klasse , die CWiauFormatConverter-Klasse und die CWiauPropertyList-Klasse .

WIA-Miniantriebe

WIA-Minidriver sind vom Anbieter bereitgestellte Benutzermoduskomponenten, die WIA-Eigenschaftsänderungen und -befehle an ein Bildverarbeitungsgerät weiterleiten. Ein Minidriver implementiert den WIA DDI, den der WIA-Dienst aufruft, um mit dem Minidriver zu kommunizieren.

Ein WIA-Minidriver stellt eine gerätespezifische Benutzermodusschnittstelle für einen Kernelmodus-Standbildtreiber bereit, der das Imageerstellungsgerät über einen Treiber, z. B. einen USB-Treiber, steuert. Ein Minidriver kommuniziert mit den Kernelmodustreibern, indem die Microsoft Win32-Funktionen CreateFile, ReadFile, WriteFile und DeviceIoControl aufgerufen werden (die in der Microsoft Windows SDK-Dokumentation beschrieben werden).

Eine Imaginganwendung kann den WIA-Minidriver nicht direkt aufrufen. Nur der WIA-Dienst kann den Treiber direkt aufrufen.

Kernel-E/A-Treiber

Kernelmodus-Standbildtreiber sind vom System bereitgestellte oder von IHV bereitgestellte Komponenten, die Daten für die Übermittlung an Standbildgeräte und für die Übertragung von Standbildgeräten verpacken. Ein Kernelmodus-Standbildtreiber ist busspezifisch.

Microsoft bietet WDM-basierte Kernelmodustreiber für usb-, SCSI-, serielle und IEEE 1394-Busse. Weitere Informationen zu diesen Treibern finden Sie unter Zugreifen auf Kernelmodustreiber für Standbildgeräte.

Ein Anbieter muss einen Kernelmodus-Standbildtreiber nur bereitstellen, wenn sein Imagegerät nicht mit den von Microsoft bereitgestellten Kernelmodus-E/A-Treibern kompatibel ist.

Sie können Versionsinformationen aus dem Treiber abrufen. Die WIA_DIP_WIA_VERSION-Eigenschaft enthält die WIA-Version und die WIA_DIP_DRIVER_VERSION-Eigenschaft die Treiber-DLL-Version. Der WIA-Dienst erstellt und verwaltet diese Eigenschaften. sie werden automatisch vom WIA-Dienst hinzugefügt, wenn der Treiber geladen wird. Windows Me enthält diese Eigenschaften nicht.