WIA-Minitreiberfunktionen

Alle WIA-Minidriver müssen die Fähigkeit des Geräts definieren, Benachrichtigungsereignisse und Befehle zu verarbeiten. In diesem Abschnitt werden diese Minidriver-Funktionen beschrieben.

Der WIA-Minitreiber ist für die Erstellung einer Tabelle verantwortlich, die alle unterstützten Ereignisse und Befehle auflistet. Das folgende Diagramm veranschaulicht die Funktionstabelle, die der WIA-Minitreiber erstellt.

Diagramm zur Veranschaulichung der Wia-Minidriver-Funktionstabelle.

Die Capabilities-Tabelle ist als Array von WIA_DEV_CAP_DRV-Strukturen definiert. Der Minidriver muss dieses Array erstellen und an den WIA-Dienst zurückgeben, wenn der WIA-Dienst die IWiaMiniDrv::d rvGetCapabilities-Methode aufruft .

Definieren unterstützter Ereignisse und Befehle

WIA-Minitreiber müssen die Ereignisse und Befehle beschreiben, die das Gerät für den WIA-Dienst unterstützt.

Ereignisse

Ein Ereignis ist eine Aktion auf Geräteebene, die dem Treiber gemeldet werden muss. Beispielsweise kann ein Scanner über eine Frontpanel-Taste mit der Bezeichnung "Scan" verfügen. Wenn Benutzer diese Schaltfläche drücken, erwarten sie, dass der Scanner mit dem Scannen beginnt, oder zumindest, dass eine Anwendung beginnt, die Überprüfung zu initiieren.

WIA unterstützt zwei Arten von Ereignissen:

  • Aktionsereignis: Ein Aktionsereignis startet die Anwendung, die registriert ist, um ein solches Ereignis zu behandeln. Beispielsweise ist der Microsoft Scanner- und Kamera-Assistent ein registrierter Handler für das Scan-Ereignis (andere Anwendungen können sich ebenfalls für dieses Ereignis registrieren). Wenn ein Treiber das Scan-Ereignis sendet, startet der WIA-Dienst den Scanner- und Kamera-Assistenten, um dieses Ereignis zu behandeln. Dieser Ereignistyp wird häufig als persistentes Ereignis bezeichnet.

  • Benachrichtigungsereignis: Ein Benachrichtigungsereignis wird nur an Anwendungen gesendet, die bereits ausgeführt werden und dem WIA-Dienst mitgeteilt haben, dass sie dieses Ereignis empfangen sollen. Wenn die Anwendung nicht ausgeführt wird, wird sie nicht gestartet, um dieses Ereignis zu behandeln.

Ein Ereignis kann sowohl ein Aktionsereignis als auch ein Benachrichtigungsereignis sein.

Befehle

Ein WIA-Gerätebefehl ist eine Anforderung, die der WIA-Dienst (im Namen der Imageerstellungsanwendung) an den WIA-Minitreiber sendet, der den Minitreiber anweist, eine Aktion auszuführen. Beispielsweise kann ein WIA-Kamera-Minidriver den Befehl "Bild aufnehmen" verarbeiten. Dieser Befehl weist den Minidriver an, das Digitale Kameragerät anzuweisen, ein neues Bild aufzunehmen.

Hinweis

Der Scanner- und Kamera-Assistent antwortet sofort an den Benutzer, auch wenn er noch sauber im Hintergrund erledigen muss. Beispielsweise wird das Fenster Scanner- und Kamera-Assistent sofort geschlossen, wenn der Benutzer eine Aktion abbrechen möchte. Der Scanner- und Kamera-Assistent verfügt jedoch über einen separaten Erfassungsthread, der nach dem Schließen des Fensters weiterhin ausgeführt wird. Dieser separate Thread ermöglicht eine sofortige Reaktion auf die Anforderung des Benutzers, ermöglicht jedoch erforderliche Aufgaben und Aufgaben, die nicht unterbrochen werden können, ohne die Benutzererfahrung zu beeinträchtigen.