Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um Änderungen an Treibern zu minimieren, die vor Windows Vista entwickelt wurden, müssen die Treiber keine neuen Schnittstellen implementieren, um die IStream-Datenübertragung zu unterstützen. Stattdessen wurde eine neue Schnittstelle über die IWiaMiniDrvCallBack-Schnittstelle verfügbar gemacht. Treiber können IWiaMiniDrvCallBack::QueryInterface für die neue IWiaTransfer-Rückruffunktion aufrufen, wodurch sie Zugriff auf die Datenströme und Statusbenachrichtigungen erhalten. Die IWiaTransfer-Schnittstelle wird in der Microsoft Windows SDK-Dokumentation beschrieben.
Der Datenübertragungscode innerhalb des Treibers ist jetzt einfacher, da alle Übertragungen auf die gleiche Weise behandelt werden, ohne dass Datei- oder Speicherübertragungszweiglogik verwendet wird.
Treiber, die das IStream-Übertragungsmodell nicht unterstützen, führen in der Regel die folgenden Schritte aus:
Überprüfen Sie die Flags, um zu ermitteln, ob die Anforderung für einen Upload oder einen Download ist.
Erwerben Sie die IWiaMiniDrvCallBack-Schnittstelle .
Empfangen eines Zieldatenstroms aus der Rückruffunktion.
Durchführen einer Datenübertragungsschleife:
- Empfangen von Daten vom Gerät.
- Daten in den Datenstrom schreiben.
Für Treiber, die das neue IStream-Übertragungsmodell implementieren, ruft der WIA-Dienst jedoch nicht IWiaMiniDrv::drvWriteItemProperties auf, da die Ordnerakquisition unterstützt wird.
Bei der Ordnererfassung befindet sich eine einzelne Übertragungsanforderung auf dem übergeordneten Element, aber die tatsächlichen Elementeigenschaften befinden sich auf jedem der untergeordneten Elemente, die übertragen werden. Die IWiaMiniDrv::d rvWriteItemProperties-Methode wird nicht für jedes untergeordnete Element aufgerufen, sodass diese Methode nicht zum Programmieren der Geräteeinstellungen verwendet werden kann. Für Treiber, die IStream-Datenübertragungen unterstützen, ruft der WIA-Dienst stattdessen IWiaMiniDrv::d rvAcquireItemData auf.
Anmerkung Diese Änderung betrifft nur Treiber, die die neuen Datenübertragungen unterstützen. Ältere Treiber, die IStream-Datenübertragungen nicht unterstützen, sind nicht betroffen; der WIA-Dienst ruft weiterhin die IWiaMiniDrv::d rvWriteItemProperties-Methode für sie auf.
Bei Ordnererfassungen, bei denen der Treiber mehrere Aufrufe an IWiaTransferCallback::GetNextStream (in der Microsoft Windows SDK-Dokumentation beschrieben) ausführt, kann der Treiber jeweils nur einen aktiven Datenstrom haben.
Der Treiber muss nur die Methoden "IStream::Write", "IStream::Seek" und "IStream::SetSize " (die in der Windows SDK-Dokumentation beschrieben werden) während eines Downloadvorgangs aufrufen. Diese Einschränkung erleichtert es Ihnen, den Filter zu schreiben. Der Treiber sollte nicht davon ausgehen, dass der Zieldatenstrom andere Methoden implementiert.
Wenn die WIA_DPS_PAGE_SIZE-Eigenschaft auf WIA_PAGE_AUTO festgelegt ist (d. h. die automatische Seitengrößenerkennung ist aktiviert), sollte der Treiber genaue Dimensionsinformationen zum Bild bereitstellen, nachdem die Übertragung der Bilddaten abgeschlossen wurde. Bei streambasierten Übertragungen sollte der Treiber die Bildabmessungen im Bildheader am Ende der Übertragung aktualisieren. Zu Beginn einer neuen Sitzung sollte der Wert für WIA_DPS_PAGE_SIZE Eigenschaft immer auf einen anderen Wert als WIA_PAGE_AUTO festgelegt werden.