WIA 组件

WIA 由用户和硬件之间的多个层组成。 用户与 WIA 应用程序交互,该应用程序可以具有可选用户界面。 此应用程序与 WIA 服务通信,该服务将用户的请求发送到微型驱动程序。 微型驱动程序与相关的内核模式总线驱动程序通信。 最后,总线驱动程序与硬件通信。 下图演示了构成 WIA 接口的软件组件。

说明构成 wia 接口的软件组件的示意图。

图像处理应用程序

图像处理应用程序不直接与微型驱动程序通信,但它们通过 WIA 应用程序编程接口与 WIA 服务通信, (WIA API) 访问图像并从 WIA 设备获取数据。 这些应用程序可以使用系统提供的用户界面 (UI) 或设备制造商提供的用户界面。 UI 用于选择要传输的项并设置相关属性。 请注意,在 UI 消除后传输所选项的是应用程序,而不是驱动程序。 有关用于映像应用程序的 WIA API 的详细信息,请参阅Microsoft Windows SDK文档。

WIA 服务

WIA 服务是系统提供的组件,用于与图像处理应用程序和 WIA 微型驱动程序通信。 WIA 服务是下表中列出的 COM 接口的集合,所有这些接口均在Microsoft Windows SDK文档中介绍。 WIA 服务在与应用程序不同的进程中运行,但与 WIA 微型驱动程序在同一进程中运行。 应用程序将设备请求定向到 WIA 服务。 然后,WIA 服务通过 WIA 设备驱动程序接口 (WIA DDI) 将这些请求定向到相应的微型驱动程序。 下表列出了 WIA 应用程序可以实现的 API。

WIA API 说明
IEnumWIA_DEV_CAPS 枚举 WIA 硬件设备的功能。 设备功能包括设备支持的命令和事件。
IEnumWIA_DEV_INFO 枚举 WIA 硬件设备及其属性。 设备信息属性描述 WIA 硬件设备的安装和配置。
IEnumWIA_FORMAT_INFO 枚举设备的格式和媒体类型信息。
IEnumWiaItem 枚举树的当前文件夹中的 IWiaItem 对象。 WIA 运行时系统将应用程序的每个 WIA 硬件设备表示为 IWiaItem 对象的分层树。
IWiaDataCallback 在将数据从 WIA 硬件设备传输到应用程序期间提供应用程序回调机制。
IWiaDataTransfer 支持共享内存窗口将数据从设备对象传输到应用程序,并消除封送期间不必要的数据复制。
IWiaDevMgr 由应用程序用于创建和管理映像采集设备。 他们还使用它来注册以接收设备事件。
IWiaEventCallback 由应用程序用于接收 WIA 硬件设备事件的通知。
IWiaItem 使应用程序能够查询设备的功能。 IWiaItem 还提供对数据传输接口和项属性的访问权限。 此外,此接口还提供使应用程序能够控制设备的方法。
IWiaPropertyStorage 提供对 IWiaItem 对象属性相关信息的访问。

WIA 驱动程序服务库

WIA 驱动程序服务库是系统提供的组件,它为 WIA 微型驱动程序提供帮助程序函数。 微型驱动程序可以调用帮助程序函数来执行如下任务:

或者,微型驱动程序可以自行执行此类任务。 通过使用帮助程序函数,可以减少开发时间和 WIA 微型驱动程序的大小,并且仍可以灵活地开发单个解决方案。

WIA 实用工具库

WIA 实用工具库包括 wiauDbgXxx) (调试函数的集合、常规实用工具帮助程序函数的集合以及三个类:CWiauDbgFn 类、CWiauFormatConverter 类和 CWiauPropertyList 类。

WIA 微型驱动程序

WIA 微型驱动程序 是供应商提供的、用户模式的组件,用于将 WIA 属性更改和命令定向到映像设备。 微型驱动程序实现 WIA DDI,WIA 服务调用该 WIA DDI 来与微型驱动程序通信。

WIA 微型驱动程序为内核模式静态映像驱动程序提供特定于设备的用户模式接口,该驱动程序通过驱动程序(如 USB 驱动程序)来驱动映像设备。 微型驱动程序通过调用 CreateFile、ReadFileWriteFileDeviceIoControl Microsoft Win32 函数 (与内核模式驱动程序通信,如Microsoft Windows SDK文档) 中所述。

图像处理应用程序无法直接调用 WIA 微型驱动程序。 只有 WIA 服务可以直接调用驱动程序。

内核 I/O 驱动程序

内核模式静态映像驱动程序是系统提供的或 IHV 提供的组件,用于打包数据以传送到静止映像设备以及从静止映像设备传输数据。 内核模式静态映像驱动程序特定于总线。

Microsoft 为 USB、SCSI、串行和 IEEE 1394 总线提供 Microsoft Windows 驱动程序模型 (WDM) 基于内核模式的静态映像驱动程序。 有关这些驱动程序的详细信息,请参阅 访问静态映像设备的内核模式驱动程序

仅当其映像设备与 Microsoft 提供的内核模式 I/O 驱动程序不兼容时,供应商必须提供内核模式静态映像驱动程序。

可以从驱动程序检索版本信息。 WIA_DIP_WIA_VERSION 属性包含 WIA 版本,WIA_DIP_DRIVER_VERSION 属性包含驱动程序 DLL 版本。 WIA 服务创建和维护这些属性;加载驱动程序时,WIA 服务会自动添加它们。 Windows Me 不包括这些属性。