Mapping for a Vista application and legacy driver
Important
This article contains information that applies to obsolete Windows operating systems.
This section shows the mapping used when a Windows Vista application needs to work with a legacy driver. The following tables describe how the WIA compatibility layer maps legacy transfer messages and data flow to Windows Vista transfer messages and data flow.
Callback transfers
This table shows the mapping of a legacy driver's callback transfer messages to the messages sent to a Windows Vista application.
Legacy driver transfer message | Windows Vista Application message (after compatibility layer conversion) |
---|---|
IT_MSG_DATA | IStream::Seek,IStream::Write, and WIA_TRANSFER_MSG_STATUS all ORed together. |
IT_MSG_STATUS | WIA_TRANSFER_MSG_STATUS |
IT_MSG_DATA_HEADER | Ignored. This message is only sent by the service, not by the driver, and will never be sent during this type of transfer. |
IT_MSG_NEW_PAGE | Ignored. This message should never be received during this type of transfer. A legacy driver would only send this during a multi-page transfer with TYMED_CALLBACK or TYMED_MULTIPAGE_CALLBACK that's not exposed to a Windows Vista application. The compatibility layer only does multi-page transfers with TYMED_MULTIPAGE_FILE. For TYMED_FILE transfers, the application will always receive one page at a time. |
IT_MSG_TERMINATION | This message is only sent by the service, not by the driver. The compatibility layer sends WIA_TRANSFER_MSG_END_OF_STREAM and WIA_TRANSFER_MSG_END_OF_TRANSFER instead. |
IT_MSG_FILE_PREVIEW_DATA | Ignored. The IStream transfer model doesn't support out-of-band data. |
IT_MSG_FILE_PREVIEW_DATA_HEADER | Ignored. The IStream transfer model doesn't support out-of-band data. |
File transfers
This table shows the mapping of a legacy driver's file transfer messages to the messages sent to a Windows Vista application.
Legacy driver transfer message | Windows Vista Application message (after compatibility layer conversion) |
---|---|
IT_MSG_DATA | Ignored. This message should never be sent during a file transfer. |
IT_MSG_STATUS | WIA_TRANSFER_MSG_STATUS |
IT_MSG_DATA_HEADER | Ignored. This message is only sent by the service (not by the driver) and will never be sent during this type of transfer. |
IT_MSG_NEW_PAGE | Ignored. This message should never be received during this type of transfer. A legacy driver would only send this during a multi-page transfer with TYMED_CALLBACK or TYMED_MULTIPAGE_CALLBACK that's not exposed to a Windows Vista application. The compatibility layer, however, only does multi-page transfers with TYMED_MULTIPAGE_FILE. For TYMED_FILE transfers, the driver will always receive one page at a time. |
IT_MSG_TERMINATION | This message is only sent by the service (not by the driver). The compatibility layer will instead send WIA_TRANSFER_MSG_END_OF_STREAM and WIA_TRANSFER_MSG_END_OF_TRANSFER. |
IT_MSG_FILE_PREVIEW_DATA | Ignored. The new transfer model doesn't support for out-of-band data. |
IT_MSG_FILE_PREVIEW_DATA_HEADER | Ignored. The new transfer model doesn't support for out-of-band data. |
For more information on the legacy transfer messages, see the IWiaMiniDrvCallBack interface.
For more information on the TYMED constants, see Understanding TYMED.