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.