Microsoft STI 和 Microsoft WIA 概述

旧版Windows操作系统中的映像体系结构包括低级别硬件抽象、STI 和一组称为 TWAIN 的高级 API。 在现代Windows操作系统中,Microsoft 使用Windows映像体系结构 (WIA) (基于 STI 构建的映像体系结构)。 下图说明了这两种映像体系结构。

diagram illustrating the twain/sti and the microsoft wia imaging architectures.

如上图所示,TWAIN/STI 体系结构包括 TWAIN(一组高级图像获取 API)以及 STI(低级别硬件抽象)。 WIA 体系结构将 STI 作为基础,为设备 IHD 提供完整的解决方案。

STI 与 WIA 之间的差异

WIA 驱动程序建立在 STI 提供的基础之上,因此除了自己的接口外,还会公开 STI 接口。 至少,WIA 驱动程序必须公开 IStiUSD 接口。 STI 对任何 WIA 接口没有相应的依赖关系。 由于 WIA 微型驱动程序必须与 STI 微型驱动程序兼容,因此只需编写一个支持 WIA 的相机或扫描仪 STI 图像设备的 STI 微型驱动程序即可。 但是,建议使用 WIA 提供更好的用户体验。 例如,相机的 STI 驱动程序不会在资源管理器中显示缩略图。

STI 和 WIA 之间的一些差异包括:

  • STI 在客户端应用程序进程和系统服务进程中运行;WIA 仅在系统服务进程中运行。

  • STI 是低级别硬件抽象,必须具有有关设备的详细信息才能运行:WIA 可以在没有此类详细的设备信息的情况下运行。

  • STI 不是完整的映像接口;WIA 是基于 STI 构建的,是用于映像 IHD 的完整解决方案。 例如,STI 体系结构需要 IHV 提供的 UI 模块 (Twain,) ,因为它只有设备通信机制,并且没有 UI 前端。 WIA 微型驱动程序不需要自己的 UI 模块,因为有默认 UI (扫描仪和相机向导) 。 此外,WIA 体系结构中的 TWAIN 兼容层支持 Twain 接口。 IHV 可以在 WIA 中扩展或替换这些默认 UI。

有关 WIA 体系结构的详细信息,请参阅 WIA 体系结构概述