Windows 图像采集 (WIA)

Windows映像获取 (WIA) 是从 Windows 千年版 (Windows Me) 和 Windows XP 开始的操作系统系列Windows映像获取平台。

简介

WIA 平台使映像/图形应用程序能够与映像硬件进行交互,并标准化不同应用程序和扫描仪之间的交互。 这样,这些不同的应用程序就可以与这些不同的扫描程序通信并与之交互,而无需应用程序编写器和扫描程序制造商为每个应用程序设备组合自定义其应用程序或驱动程序。

graphic showing the basic architecture of wia as a two-way layer between imaging applications and devices.

Windows图像获取 2.0 的优点

WIA 为需要与映像硬件交互的应用程序开发人员、设备制造商和扫描程序用户提供好处。

对于应用程序编写器

  • Windows为 WIA 驱动程序运行认证过程,因此可以保证 WIA 应用程序与所有基于 WIA 的扫描程序基本级别兼容。
  • WIA 驱动程序在 WIA 服务过程中加载,从而提供更稳定的驱动程序环境。
  • 应用程序可以通过 WIA 子系统支持的推送事件从扫描程序扫描按钮启动。
  • WIA 包括默认分段筛选器,所有驱动程序都可以利用;这样,应用程序不必编写代码进行多区域扫描,例如将大量照片分散在平铺扫描仪上。

对于设备制造

  • WIA 驱动程序认证过程可帮助驱动程序开发人员确定其驱动程序符合 WIA 要求。
  • 如果 WIA 驱动程序选择这样做,则可以利用内置的分段筛选器、图像处理筛选器和错误处理程序。
  • 基于 WIA 的扫描程序在Windows上立即使用Windows扫描应用程序(如Windows传真和扫描和画图)。
  • WIA 驱动程序可以更好地与Windows(例如完整的设备体验)集成。
  • Windows Vista 版本包括一个 WSD-WIA 类驱动程序,该驱动程序使所有符合扫描程序 Web 服务的设备 (WS-Scan) 协议,无需任何其他驱动程序或软件即可使用 WIA 应用程序。

对于扫描程序用户

  • 基于 WIA 的扫描程序可用于Windows应用程序,例如Windows传真和扫描和扫描和画图,而无需任何其他软件。
  • 基于 WIA 的应用程序和扫描程序还可以利用 WIA 加载项(例如分段筛选器),从而允许在扫描程序上处理大量图片,并将它们全部扫描到单个文件,而无需用户干预。
  • 基于 WIA 的设备与其他Windows功能(例如适用于 Windows 7 的设备阶段功能)的集成要好得多。
  • WIA 通过隔离驱动程序和应用程序,提供更可靠、更可靠、更可靠的扫描体验。

Windows映像获取的开发

Windows 2000 和 Windows 95 或更高版本的映像体系结构包括低级别硬件抽象、仍映像体系结构 (STI) ,以及一组称为 TWAIN 的高级 API。 在Windows XP 和 Windows Me WIA 中引入了。 WIA 是基于 STI 构建的映像体系结构,不需要 TWAIN,尽管 TWAIN 仍与 WIA 一起受支持。

WIA 1.0 是在Windows Me 和 Windows XP 中引入的,支持扫描仪、数码相机和数字视频设备。 WIA 2.0 与 Windows Vista 一起发布。 WIA 2.0 面向扫描程序,但通过 WIA 1.0 到 WIA 2.0 兼容层(WIA 服务提供的 WIA 1.0)继续为旧版 WIA 1.0 应用程序和设备提供支持。 但是,视频内容支持已从 WIA 中删除,Windows Vista。 建议将来为数字相机和数字视频设备 (WPD) API Windows便携式设备。 WIA 1.0 和 STI TWAIN 驱动程序仍直接在 Windows Vista 上受支持,Windows 7 以及本机 WIA 2.0 设备驱动程序和映像应用程序。

Windows图像获取概述

WIA 提供了一个框架,允许设备将其独特的功能呈现给操作系统,并允许映像应用程序调用这些唯一功能。

WIA 平台包括数据收集协议、设备驱动程序模型和接口 (DDI) 、API 和专用 WIA 服务。 该平台还包括一组内置内核模式驱动程序,这些驱动程序支持通过 USB、串行/并行、SCSI 和 FireWire 接口与本地连接的映像设备进行通信。 WIA 子系统还包括一个透明兼容层,它允许 TWAIN 兼容应用程序使用和使用基于 WIA 驱动程序的设备。

支持适用于设备 (WSD) 协议的网络连接映像设备还可以通过作为 Windows Vista 的一部分提供的 WSD-WIA 类驱动程序从符合 WIA 的映像应用程序使用,Windows 并通过作为 Windows Vista 的一部分提供的 WSD-WIA 类驱动程序从符合 WIA 的映像 Windows应用程序使用。 类驱动程序将 WIA 调用转换为 WSD 调用,反之亦然,使现有的 WIA 应用程序无需任何其他驱动程序即可使用基于 WSD 的扫描程序。

WIA 驱动程序由用户界面 (UI) 组件和核心驱动程序组件组成,加载到两个不同的进程空间:应用程序空间中的 UI 和 WIA 服务空间中的驱动程序核心。 该服务在 Windows XP 的本地系统上下文中运行,从 Windows Server 2003 开始在本地服务上下文中运行,Windows Vista 以增强针对 buggy 或恶意驱动程序的安全性。

graphic showing the architecture of wia and how it operates as a service.

WIA API 集通过提供对映像获取硬件功能的支持,将映像应用程序公开为图像获取硬件功能:

  • 可用映像获取设备的枚举。
  • 同时创建与多个设备的连接。
  • 以标准和可扩展的方式查询设备的属性。
  • 使用标准和高性能传输机制获取设备数据。
  • 跨数据传输维护图像属性。
  • 设备状态和扫描事件处理的通知。

Windows在 2002 年发布包含在 Windows Vista 中的 WIA 自动化库,Windows 为 WIA 添加了脚本支持, (WIA) 自动化层,并继续成为 Windows 7 的一部分。 WIA 自动化库为支持自动化的应用程序开发环境和编程语言(如 Microsoft Visual Basic 6.0、Active Server Pages (ASP) 、VBScript 和 C#)提供端到端映像获取功能。

对于 Windows 7,WIA API 提供了额外的支持来补充现有的推送扫描支持。

  • 自动配置的设备启动扫描,并在设备前面板上的扫描程序上配置的扫描参数。
  • 设备启动的扫描的自动源选择。

有关Windows图像获取 2.0 的事实

  • WIA 2.0 中的数据传输机制基于流。 流抽象消除了不同传输类型之间的区别,还允许在设备和应用程序之间交换相互同意的元数据。
  • 如果驱动程序选择提供自定义图像处理筛选器,WIA 2.0 子系统还包括一个基本图像处理筛选器,该加载项可由扫描程序驱动程序选择性地替换。 内置筛选器支持帖子处理通过扫描程序获取的图像。 调整亮度和对比度等小设置时,图像处理筛选器还支持实时软件预览。
  • 分段筛选器是另一个方便的 WIA 组件,可以替换为扫描程序驱动程序的更自定义的筛选器。 分段筛选器可用于多区域扫描。 例如,多区域扫描允许应用程序自动检测不同的扫描区域,而无需任何用户干预,例如识别一组随机躺在扫描仪平床上的照片。
  • WIA 2.0 提供可替换/可扩展错误处理程序,可正常处理,并可能从软件、硬件和配置错误和延迟恢复。 错误处理程序是另一个 WIA 组件,可以替换为扫描程序驱动程序的更自定义版本。 此扩展在数据收集期间提供状态和错误消息,例如“灯热身”、“封面打开”、“纸张堵塞”等。 此扩展还允许更简洁地支持“取消操作”。

面向开发人员

WIA API 旨在供 C/C++ 程序员使用。 需要熟悉WINDOWS GUI 和组件对象模型 (COM) 接口。

对于熟悉 Microsoft Visual Basic 6.0、Active Server Pages (ASP) 或脚本的开发人员,WIA 为 Windows XP Service Pack 1 (SP1) 或更高版本提供了自动化层,该层基于 C/C++ 提供的基础并简化了对基础的访问。 有关自动化层的信息,请参阅Windows映像获取自动化层

注意

WIA 自动化层取代了Windows映像获取 (WIA) 1.0 脚本。

 

运行时要求

使用 WIA API 的应用程序需要Windows XP 或更高版本。

WIA 主题

WIA 主题按下表所示进行组织。

主题 说明
关于Windows图像获取 有关 WIA 的一般信息
Windows 图像采集驱动程序 WIA 驱动程序开发
Windows映像获取自动化层 WIA 自动化层
WIA 教程 软件开发工具包中包含的代码演练 (SDK) 重点介绍特定任务
参考 有关 C/C++ 和脚本中使用的 WIA 接口、方法、对象和数据类型的信息。