Hinzufügen von Dokumentzuführungsunterstützung
Wichtig
Dieser Artikel enthält Informationen, die für veraltete Windows-Betriebssysteme gelten.
Ein Dokumenteinschub ist eine Einheit, die an einen Scanner angefügt oder in einen Scanner integriert ist, der Automatisch Papierdokumente in eine Position einspeist, die gescannt werden soll. Bei einem Scanner mit einem Dokumentfeeder wird die Funktionalität verfügbar gemacht und gesteuert, indem die in der folgenden Liste enthaltenen Eigenschaften hinzugefügt werden. Für Windows Me und Windows XP befinden sich die folgenden Eigenschaften im Stammelement:
Für Windows Me und Windows XP befinden sich die folgenden optionalen Dokumenteinführungseigenschaften auf dem untergeordneten Element:
Wenn ein Gerät über ein Flatbed, einen Dokumenteinzug und einen Duplexer verfügt, meldet der Treiber die WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES-Eigenschaft als FEED | FLAT | DUP
. Stellen Sie sicher, dass die gültigen Werte für WIA_DPS_DOCUMENT_HANDLING_SELECT richtig festgelegt sind.
Angenommen, eine Anwendung beabsichtigt, eine Duplexüberprüfung von drei Seiten aus dem Dokumentzuführungsmodul durchzuführen. Um dies zu erreichen, legt die Anwendung die WIA_DPS_DOCUMENT_HANDLING_SELECT-Eigenschaft auf (FEEDER | DUPLEX) und legt die eigenschaft WIA_DPS_PAGES auf 3 fest. Wenn die Anwendung die Vorderseite der Seite zuerst scannen möchte, sollte sie die eigenschaft WIA_DPS_DOCUMENT_HANDLING_SELECT auf FEEDER | DUPLEX | FRONT_FIRST
festlegen. Danach sollte die Anwendung zu dem untergeordneten Element navigieren, von dem sie eine Datenübertragung anfordern soll. Der Minidriver meldet die Vorderseite der ersten Seite im Feed als Seite 1, die Rückseite dieser Seite als Seite 2 und die Vorderseite der zweiten Seite im Feeder als Seite 3.
Es ist wichtig zu beachten, dass das Gerät, wenn es über einen Dokumentfeeder verfügt, die Dokumentzuführungseigenschaften unterstützen muss.
Abrufen von Daten aus einem Dokumentfeeder
Es gibt einige Änderungen, die an der Implementierung der IWiaMiniDrv::d rvAcquireItemData-Methode vorgenommen werden müssen, wenn der Scanner Bilder aus einem Dokumenteinzug abruft.
Eine Anwendung liest die WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES-Eigenschaft, um zu bestimmen, ob der Scanner die Überprüfung mithilfe des Dokumenteinzugs unterstützt.
Eine Anwendung liest die WIA_DPS_DOCUMENT_HANDLING_SELECT-Eigenschaft, um zu bestimmen, ob der Scanner für die Überprüfung mithilfe des Dokumentzulaufs konfiguriert ist.
Eine Anwendung bestimmt, ob papier im Dokumenteinzug vorhanden ist, indem sie WIA_DPS_DOCUMENT_HANDLING_STATUS liest. Wenn sich kein Papier im Feed befindet, legen Sie die WIA_DPS_DOCUMENT_HANDLING_STATUS auf den richtigen status Code fest, und geben Sie WIA_ERROR_PAPER_EMPTY von IWiaMiniDrv::d rvAcquireItemData unmittelbar nach dem Erwerb zurück.
Überprüfen Sie die WIA_DPS_PAGES-Eigenschaft, um das Scanverhalten zu bestimmen. Wenn diese Eigenschaft null ist, scannen Sie alle Seiten, bis der Feeder leer ist. Wenn sie positiv ist, überprüfen Sie nur die Anzahl der Seiten, die durch den Wert in der WIA_DPS_PAGES-Eigenschaft angegeben sind.
Überprüfen Sie die angeforderte Anzahl von Seiten, indem Sie eine Schleife steuern, kontinuierlich scannen und Daten (seiteweise) an die WIA-Anwendung senden, indem Sie die IWiaMiniDrvCallBack::MiniDrvCallback-Methode aufrufen. Das folgende Codebeispiel zeigt, wie dies funktionieren kann:
for(int x=1; x=Pagecount; x++) { \\ Tell scanner to scan an image. \\ Receive image data from scanner. \\ Send the just-scanned image to the registered application. }
Wenn WIA_IPA_TYMED auf TYMED_CALLBACK oder TYMED_MULTIPAGE_CALLBACK festgelegt ist, muss eine zusätzliche Nachricht (IT_MSG_NEW_PAGE) gesendet werden, nachdem eine Seite gescannt wurde und bevor die nächste seite gescannt werden soll. Dies erfolgt durch Aufrufen der WIA-Dienstdienstfunktion wiasSendEndOfPage .
Die Anzahl der Seiten, die ein Dokumentzuführungstreiber zurückgibt, hängt von der Einstellung der WIA_DPS_PAGES-Eigenschaft ab.
Wenn WIA_DPS_PAGES null ist
Wenn der Scanner die erste Seite nicht überprüfen kann, geben Sie sofort einen Fehlercode zurück. Dazu gehören Papierstaus und wenn dem Scanner das Papier ausgeht.
Wenn der Scanner die erste Seite erfolgreich scannt und die Überprüfung fortsetzen kann, aber kein Papier mehr vorhanden ist, geben Sie den Erfolgscode WIA_STATUS_END_OF_MEDIA zurück. Dies signalisiert der Anwendung, dass die Übertragung erfolgreich war, aber der Scanner hat keine Papier mehr. Einige Anwendungen reagieren auf WIA_ERROR_PAPER_EMPTY genauso wie auf WIA_STATUS_END_OF_MEDIA.
Wenn der Scanner die erste Seite erfolgreich scannt und die Überprüfung fortsetzen kann, aber ein Fehler auftritt, der nicht zu Datenverlust führt, geben Sie WIA_STATUS_END_OF_MEDIA zurück. Dadurch kann die Anwendung alle Seiten wiederherstellen und speichern, die vor dem Auftreten des Fehlers gescannt wurden. Alle nachfolgenden Überprüfungen sollten sofort einen Fehlercode zurückgeben, bis der Scanner ordnungsgemäß nach dem Fehler wiederhergestellt wurde.
Wenn der Scanner die erste Seite erfolgreich scannt und die Überprüfung fortsetzen kann, aber ein Fehler auftritt, der zu Datenverlust führt, geben Sie sofort einen Fehlercode zurück.
Wenn WIA_DPS_PAGES positiv ist
Es gelten alle Regeln, für die WIA_DPS_PAGES null ist.
Wenn dem Scanner das Papier ausgeht, bevor die angeforderte Anzahl von Seiten gescannt wird, geben Sie WIA_STATUS_END_OF_MEDIA zurück. Dies ermöglicht es der Anwendung, die Überprüfungssitzung zu schließen, wodurch die Anzahl der Seiten beibehalten wird, die sie bereits erfolgreich gescannt hat. Einige Anwendungen reagieren auf WIA_ERROR_PAPER_EMPTY genauso wie auf WIA_STATUS_END_OF_MEDIA.