Freigeben über


Zuordnung für eine Legacyanwendung und einen Windows Vista-Treiber

Wichtig

Dieser Artikel enthält Informationen, die für veraltete Windows-Betriebssysteme gelten.

In diesem Abschnitt wird erläutert, wie Windows Vista-Übertragungsnachrichten und -Datenfluss Legacyübertragungsnachrichten und dem Datenfluss zugeordnet werden, wenn eine Legacyanwendung mit einem Windows Vista-Treiber arbeiten muss.

Rückrufübertragungen

Diese Tabelle zeigt die Zuordnung der Rückrufübertragungsnachrichten eines Windows Vista-Treibers zu der Nachricht, die an eine Legacyanwendung gesendet wurde.

Windows Vista-Treibermeldung Legacyanwendungsmeldung (nach Konvertierung der Kompatibilitätsebene)
WIA_TRANSFER_MSG_STATUS IT_MSG_STATUS
WIA_TRANSFER_MSG_ERROR Ignoriert.
WIA_TRANSFER_MSG_END_OF_STREAM Ignoriert. Diese Nachricht geht immer mit einem Aufruf von IWiaTransferCallback::GetNextStream einher. Um doppelte Nachrichten zu vermeiden, wird diese Nachricht stattdessen in der GetNextStream-Implementierung implementiert.
WIA_TRANSFER_MSG_END_OF_TRANSFER IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER wird nicht vom Treiber gesendet).
WIA_TRANSFER_MSG_DEVICE_STATUS Wenn hrErrorStatus == WIA_STATUS_WARMING_UP, sendet die Kompatibilitätsebene IT_MSG_STATUS mit IT_STATUS_TRANSFER_FROM_DEVICE, um einer Anwendung einige status bereitzustellen und einer Windows Vista-Anwendung die Möglichkeit zu geben, die Übertragung abzubrechen.
WIA_TRANSFER_MSG_NEW_PAGE Ignoriert. Sollte in diesem Fall nie von einem Windows Vista-Treiber gesendet werden, da wir den Windows Vista-Treiber mit TYMED_FILE aufrufen.
IWiaTransferCallback::GetNextStream Erste Seite: IT_MSG_DATA_HEADER

Nachfolgende Seiten: IT_MSG_NEW_PAGE
IStream::Write IT_MSG_DATA

Dateiübertragungen

Diese Tabelle zeigt die Zuordnung der Dateiübertragungsnachrichten eines Windows Vista-Treibers zu der Nachricht, die an eine Legacyanwendung gesendet wurde.

Windows Vista-Treibermeldung Legacyanwendungsmeldung (nach Konvertierung der Kompatibilitätsebene)
WIA_TRANSFER_MSG_STATUS IT_MSG_STATUS
WIA_TRANSFER_MSG_ERROR Ignoriert.
WIA_TRANSFER_MSG_END_OF_STREAM Ignoriert. Diese Nachricht geht immer mit einem Aufruf von IWiaTransferCallback::GetNextStream einher. Um doppelte Nachrichten zu vermeiden, wird diese Nachricht stattdessen in der GetNextStream-Implementierung implementiert.
WIA_TRANSFER_MSG_END_OF_TRANSFER IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER wird nicht vom Treiber gesendet).
WIA_TRANSFER_MSG_DEVICE_STATUS Wenn hrErrorStatus == WIA_STATUS_WARMING_UP, wird IT_MSG_STATUS mit IT_STATUS_TRANSFER_FROM_DEVICE gesendet, um einer Anwendung einige status bereitzustellen und einer Windows Vista-Anwendung die Möglichkeit zu geben, die Übertragung abzubrechen.
WIA_TRANSFER_MSG_NEW_PAGE Dieses Verhalten unterscheidet sich etwas von einer mehrseitigen Dateiübertragung heute, da wiasWritePageBufToFile nie IT_MSG_NEW_PAGE sendet.
IWiaTransferCallback::GetNextStream Erste Seite: IT_MSG_FILE_PREVIEW_DATA_HEADER

Nachfolgende Seiten: Fehler (die WIA_ERROR_GENERAL_ERROR wird an den Treiber zurückgegeben). IWiaTransferCallback::GetNextStream sollte nur einmal aufgerufen werden, da Sie nur eine Seite mit TYMED_FILE übertragen können und während einer TYMED_MULTIPAGE_FILE Übertragung der Windows Vista-Treiber GetNextStream nur einmal aufrufen sollte, da alle Seiten in denselben Stream gehen sollten.
IStream::Write Keine Gesendete Nachricht. Bei Dateiübertragungen konvertiert die Kompatibilitätsebene keine daten, die der Treiber (Bildverarbeitungsfilter) in ältere Übertragungsnachrichten schreibt. Vielmehr werden die Daten einfach in eine Datei geschrieben, die am Ende der Übertragung an den Benutzer zurückgegeben wird.

Weitere Informationen zu den älteren Übertragungsnachrichten finden Sie in der IWiaMiniDrvCallBack-Schnittstelle.

Weitere Informationen zu den TYMED-Konstanten finden Sie unter Grundlegendes zu TYMED.