Freigeben über


Bereitstellen einer IStiUSD-Schnittstelle

WIA baut auf STI auf. Um die Integration eines WIA-Minitreibers mit STI sicherzustellen, muss der Minidriver eine Schnittstelle implementieren, die von den IStiUSD-Schnittstellenmethoden abgeleitet ist. Diese Schnittstelle muss in einem WIA-Minitreiber vorhanden sein. Die IStiUSD-Schnittstelle wird zum Verwalten von Geräten (z. B. zum Laden eines Treibers) verwendet und ist das Mittel, mit dem die IStiDevice-Schnittstellenmethoden mit Standbildgeräten kommunizieren. Ein Minidriver muss eine von der IStiUSD::Initialize-Methode abgeleitete Schnittstelle vollständig implementieren, um vom WIA-Dienst geladen zu werden.

IStiUSD-Schnittstellenmethoden werden in der Regel von ähnlich benannten Methoden aufgerufen, die von der IStiDevice-Schnittstelle definiert werden. Minidriver implementieren in der Regel IStiUSD-Schnittstellenmethoden , indem sie den entsprechenden Kernelmodustreiber aufrufen. Jeder Minitreiber muss alle Schnittstellenmethoden definieren, aber wenn eine Methode nicht benötigt wird, kann sie einfach STIERR_UNSUPPORTED zurückgeben.

Ein Beispiel für die Implementierung der IStiUSD-Schnittstelle durch einen Minitreiber finden Sie in der wiacam-Kamerabeispieldatei IStiUSD.cpp.

In der folgenden Tabelle sind alle von der IStiUSD-Schnittstelle definierten Methoden aufgeführt und beschrieben. Methoden, die von WIA-Minitreibern implementiert oder bedingt implementiert werden müssen, werden identifiziert.

Methode BESCHREIBUNG
IStiUSD::D eviceReset Setzt ein Standbildgerät in einen bekannten initialisierten Zustand zurück.
IStiUSD::D iagnostisch Führt Diagnosetests auf einem Standbildgerät aus. Ein WIA-Minitreiber muss diese Methode implementieren.
IStiUSD::Escape Führt einen herstellerspezifischen E/A-Vorgang auf einem Standbildgerät aus.
IStiUSD::GetCapabilities Gibt die Funktionen eines Standbildgeräts zurück.
IStiUSD::GetLastErrorInfo Gibt Informationen zum letzten bekannten Fehler zurück, der einem Standbildgerät zugeordnet ist.
IStiUSD::GetNotificationData Gibt eine Beschreibung des letzten Ereignisses zurück, das auf einem Standbildgerät aufgetreten ist.
IStiUSD::GetStatus Gibt die status eines Standbildgeräts zurück. Ein WIA-Minitreiber muss diese Methode implementieren, wenn sein Gerät Über Objekte wie Schaltflächen verfügt, die Ereignisse generieren können.
IStiUSD::Initialize Initialisiert eine instance des COM-Objekts, das die IStiUSD-Schnittstelle definiert. Ein WIA-Minitreiber muss diese Methode implementieren.
IStiUSD::LockDevice Sperrt ein Gerät für die exklusive Verwendung durch den Aufrufer. Ein WIA-Minitreiber muss diese Methode implementieren.
IStiUSD::RawReadCommand Liest Befehlsinformationen von einem Standbildgerät.
IStiUSD::RawReadData Liest Daten von einem Standbildgerät.
IStiUSD::RawWriteCommand Schreibt Befehlsinformationen auf ein Standbildgerät.
IStiUSD::RawWriteData Schreibt Daten auf ein Standbildgerät.
IStiUSD::SetNotificationHandle Gibt ein Ereignishandle an, das der Minitreiber verwenden soll, um den Aufrufer über Geräteereignisse zu informieren. Ein WIA-Minitreiber muss diese Methode implementieren, wenn sein Gerät Über Objekte wie Schaltflächen verfügt, die Ereignisse generieren können.
IStiUSD::UnLockDevice Schließt den Geräteport. Ein WIA-Minitreiber muss diese Methode implementieren.