旧版应用程序和 Windows Vista 驱动程序的映射
重要
本文包含适用于过时 Windows 操作系统的信息。
本部分介绍当旧应用程序需要使用 Windows Vista 驱动程序时,Windows Vista 传输消息和数据流如何映射到旧传输消息和数据流。
回调传输
此表显示 Windows Vista 驱动程序的回调传输消息与发送到旧版应用程序的消息的映射。
Windows Vista 驱动程序消息 | 兼容性层转换) 后 (旧版应用程序消息 |
---|---|
WIA_TRANSFER_MSG_STATUS | IT_MSG_STATUS |
WIA_TRANSFER_MSG_ERROR | 已忽略。 |
WIA_TRANSFER_MSG_END_OF_STREAM | 已忽略。 此消息始终与调用 IWiaTransferCallback::GetNextStream 一起发出。 为了避免重复消息,此消息改为在 GetNextStream 实现中实现。 |
WIA_TRANSFER_MSG_END_OF_TRANSFER | 驱动程序) 不发送IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER。 |
WIA_TRANSFER_MSG_DEVICE_STATUS | 如果 hrErrorStatus == WIA_STATUS_WARMING_UP,则兼容性层使用 IT_STATUS_TRANSFER_FROM_DEVICE 发送IT_MSG_STATUS,以便为应用程序提供一些状态,并让 Windows Vista 应用程序能够取消传输。 |
WIA_TRANSFER_MSG_NEW_PAGE | 已忽略。 在这种情况下,不应由 Windows Vista 驱动程序发送,因为我们使用TYMED_FILE调用 Windows Vista 驱动程序。 |
IWiaTransferCallback::GetNextStream | 第一页:IT_MSG_DATA_HEADER 后续页面:IT_MSG_NEW_PAGE |
IStream::Write | IT_MSG_DATA |
文件传输
下表显示了 Windows Vista 驱动程序的文件传输消息到发送到旧版应用程序的消息的映射。
Windows Vista 驱动程序消息 | 兼容性层转换) 后 (旧版应用程序消息 |
---|---|
WIA_TRANSFER_MSG_STATUS | IT_MSG_STATUS |
WIA_TRANSFER_MSG_ERROR | 已忽略。 |
WIA_TRANSFER_MSG_END_OF_STREAM | 已忽略。 此消息始终与调用 IWiaTransferCallback::GetNextStream 一起发出。 为了避免重复消息,此消息改为在 GetNextStream 实现中实现。 |
WIA_TRANSFER_MSG_END_OF_TRANSFER | 驱动程序) 不发送IT_MSG_TERMINATION (WIA_TRANSFER_MSG_END_OF_TRANSFER。 |
WIA_TRANSFER_MSG_DEVICE_STATUS | 如果 hrErrorStatus == WIA_STATUS_WARMING_UP,则会使用 IT_STATUS_TRANSFER_FROM_DEVICE 发送IT_MSG_STATUS,以便为应用程序提供某种状态,并让 Windows Vista 应用程序能够取消传输。 |
WIA_TRANSFER_MSG_NEW_PAGE | 此行为与今天的多页文件传输略有不同,因为 wiasWritePageBufToFile 从不发送IT_MSG_NEW_PAGE。 |
IWiaTransferCallback::GetNextStream | 第一页:IT_MSG_FILE_PREVIEW_DATA_HEADER 后续页面:WIA_ERROR_GENERAL_ERROR传回驱动程序) (错误。 IWiaTransferCallback::GetNextStream 只应调用一次,因为你只能使用TYMED_FILE传输一个页面,在TYMED_MULTIPAGE_FILE传输期间,Windows Vista 驱动程序应只调用 一次 GetNextStream ,因为所有页面都应进入同一流。 |
IStream::Write | 未发送任何消息。 在文件传输中,兼容性层不会将驱动程序 (图像处理筛选器) 写入旧传输消息的任何数据转换。 相反,数据只是写入文件,该文件在传输结束时返回给用户。 |
有关旧传输消息的详细信息,请参阅 IWiaMiniDrvCallBack 接口。
有关 TYMED 常量的详细信息,请参阅 了解 TYMED。