Erforderliche Befehle
Die folgenden erforderlichen Befehle müssen von jedem Microdriver implementiert werden.
CMD_GETCAPABILITIES
Wird vom WIA-Flatbed Driver aufgerufen, um Schaltflächenereignisinformationen abzurufen. Drei Elemente der übergebenen VAL-Struktur sollten ausgefüllt werden: lVal sollte auf die Anzahl der Schaltflächen festgelegt werden; pGuid sollte auf ein Array von Ereignis-GUIDs festgelegt werden. ppButtonNames kann optional auf ein WCHAR*-Array festgelegt werden, das die Schaltflächennamen in der gleichen Reihenfolge wie in pGuid enthält (z. B. "Scan-Schaltfläche" oder "Faxschaltfläche"). Wenn ppButtonNames auf NULL festgelegt ist, erstellt der WIA-Flatbed Driver generische Schaltflächennamen. Die Arrays können als Reaktion auf CMD_INITIALIZE zugeordnet und in CMD_UNINITIALIZE freigegeben werden.
CMD_INITIALIZE
Wird vom WIA-Flatbed Driver aufgerufen, um den Microdriver zu initialisieren und Geräte-E/A-Handles auf gültige Werte festzulegen. Dieser Befehl wird an den Microdriver gesendet, wenn der WIA-Dienst die Methode IWiaMiniDrv::d rvInitializeWia auf dem WIA-Flatbed Driver aufruft.
Der WIA-Flatbed Driver erstellt automatisch ein Geräte-E/A-Handle und platziert es im DeviceIOHandles-Arraymitglied der übergebenen SCANINFO-Struktur bei Index 0. Der Microdriver sollte diesen Handle verwenden, wenn er mit dem Gerät kommunizieren muss. Wenn der Microdriver zusätzliche Gerätehandles benötigt (z. B. für die Verwendung mehrerer BULK-USB-Pipes), können sie im DeviceIOHandles-Array bis zu einer maximalen Anzahl von MAX_IO_HANDLES erstellt und gespeichert werden. Der WIA-Flatbed Driver schließt den Handle automatisch bei Index 0, da er dieses Handle während der Initialisierung erstellt hat. Die anderen Handles müssen vom Microdriver als Reaktion auf CMD_UNINITIALIZE geschlossen werden.
Im Rahmen dieses Befehls sollte der Microdriver auch alle Werte in der SCANINFO-Struktur initialisieren. Der Microdriver sollte die Elemente SupportedDataTypes, IntensityRange, ContrastRange, BedWidth und BedHeight der SCANINFO-Struktur festlegen, damit der WIA-Flatbed Driver diese Werte automatisch anhand der gesetzlichen Bereiche für das Gerät überprüfen kann.
CMD_RESETSCANNER
Wird vom WIA-Flatbed Driver aufgerufen, um das Gerät als Antwort auf eine WIA-Dienstanforderung zurückzusetzen. Der Microdriver sollte das Gerät auf den Einschaltzustand festlegen. In Windows Vista verwendet der WIA-Flatbed Driver diesen Befehl nicht. Microdriver sollten diesen Befehl jedoch weiterhin unterstützen, um den korrekten Betrieb unter Windows XP und möglicherweise mit einer zukünftigen Version des WIA-Flatbed-Treibers sicherzustellen, die diesen Befehl verwenden könnte.
CMD_SETDATATYPE
Wird vom WIA-Flatbed Driver aufgerufen, um den Datentyp für den Scan festzulegen. Einer der folgenden Werte wird im lVal-Member der übergebenen VAL-Struktur übergeben:
WIA_DATA_THRESHOLD − 1-Bit Schwarz/Weiß
WIA_DATA_GRAYSCALE − 8-Bit-Graustufen
WIA_DATA_COLOR − 24-Bit-Farbe
Der Microdriver sollte den Wert im DataType-Member der übergebenen SCANINFO-Struktur speichern.
CMD_SETCONTRAST
Wird vom WIA-Flachbetttreiber aufgerufen, um den Kontrastwert für den Scan festzulegen. Der gewünschte Kontrastwert wird im lVal-Element der übergebenen VAL-Struktur übergeben. Der Wert −1000 sollte als niedrigster Kontrastwert, 0 nominal und 1000 der maximale Kontrast des Geräts interpretiert werden. Der Microdriver sollte den Wert im Contrast-Member der übergebenen SCANINFO-Struktur speichern.
CMD_SETINTENSITY
Wird vom WIA-Flachbetttreiber aufgerufen, um den Intensitäts- oder Helligkeitswert für den Scan festzulegen. Der gewünschte Intensitätswert wird im lVal-Member der übergebenen VAL-Struktur übergeben. Der Wert −1000 sollte als niedrigster Helligkeitswert, 0 nominal und 1000 die maximale Helligkeit des Geräts interpretiert werden. Der Microdriver sollte den Wert im Intensitätselement der übergebenen SCANINFO-Struktur speichern.
CMD_SETXRESOLUTION
Wird vom WIA-Flachbetttreiber aufgerufen, um die horizontale Scanauflösung festzulegen. Die gewünschte Auflösung in Pixel wird im lVal-Member der übergebenen VAL-Struktur übergeben. Der Microdriver sollte den Wert im XResolution-Member der übergebenen SCANINFO-Struktur speichern.
CMD_SETYRESOLUTION
Wird vom WIA-Flachbetttreiber aufgerufen, um die vertikale Scanauflösung festzulegen. Die gewünschte Auflösung in Pixel wird im lVal-Member der übergebenen VAL-Struktur übergeben. Der Microdriver sollte den Wert im YResolution-Member der übergebenen SCANINFO-Struktur speichern.
CMD_STI_DEVICERESET
Wird vom WIA-Flatbed Driver aufgerufen, um das Gerät als Reaktion auf eine STI-Anforderung (Still Image) zurückzusetzen. Dieser Befehl wird während der Initialisierung in der Regel nur einmal aufgerufen.
CMD_STI_DIAGNOSTIC
Wird vom WIA-Flatbed Driver aufgerufen, wenn der Benutzer einen Test des Geräts anfordert.
CMD_UNINITIALIZE
Heben Sie die Initialisierung des Microdrivers auf, und schließen Sie die Geräte-E/A-Handles. Der WIA-Flatbed Driver schließt automatisch den E/A-Ziehpunkt des Geräts im DeviceIOHandles-Arraymitglied der SCANINFO-Struktur bei Index 0. Dieser Befehl wird an den Microdriver gesendet, wenn der WIA-Flatbed-Treiber entladen wird.