STI 组件概述
下图演示了组成 Microsoft STI 的软件组件。 关系图后面的是一个组件列表。
图像处理应用程序
图像处理应用程序通常接收、显示和允许编辑捕获的静止图像。 它们通过调用图像获取 API(例如 TWAIN)来获取图像。 他们必须通过 IStillImage COM 接口向静止图像事件监视器注册自己。 有关详细信息,请参阅 创建Push-Model感知应用程序。
图像获取 API
TWAIN、ISIS 和 Adobe Systems 的 Acquire 是图像获取 API 的示例。 此图演示了 TWAIN。 供应商提供的 TWAIN 数据源是特定于设备的操作系统组件,与静止映像设备通信。
在 Microsoft STI 下,TWAIN 数据源调用 由 IStillImage和 IStiDevice 接口提供的方法。 有关详细信息,请参阅 为映像获取 API 创建Device-Specific组件。
扫描仪和相机控制面板
扫描仪和相机控制面板使用户能够执行以下操作:
查看已安装的静止映像设备的列表。
测试静止图像设备。
查看和修改供应商为 静止图像设备提供的特定于设备的属性表页提供的信息。
将 静止图像设备事件 分配给特定应用程序。
静止图像事件监视器
静止图像事件监视器驻留在静止图像服务器进程中。 它维护 (即插即用兼容设备以及通过添加硬件向导) 安装的所有静态映像设备的数据库。 它还维护已注册的应用程序的数据库和仍包含图像设备事件的数据库。
事件监视器等待静止图像设备事件。 (对于不生成静止图像设备事件的旧驱动程序支持的设备,事件监视器会创建一个轮询线程。) 检测到事件时,事件监视器会启动用户以前通过扫描仪和相机控制面板) 分配给事件 (的应用程序。 如果用户已将事件分配给多个应用程序,事件监视器会询问用户启动哪个应用程序。 如果事件尚未分配给任何应用程序,则忽略它。
有关静止图像事件监视器的详细信息,请参阅Microsoft Windows SDK文档中的静止图像。
静态图像的 COM 接口
Microsoft STI 定义了一组 COM 接口,这些接口在各种 Microsoft STI 组件之间提供通信路径。 定义了以下 COM 接口:
用户模式静止图像微型驱动程序
用户模式静止图像微型驱动程序是供应商提供的组件,它们为适当的内核模式驱动程序提供特定于设备的用户模式接口。 这些用户模式驱动程序中的每一个都必须实现 IStiUSD COM 接口。 它们通过调用 createFile、ReadFile、WriteFile 和 DeviceIoControl Win32 函数来与内核模式驱动程序通信, (Microsoft Windows SDK文档) 中所述。 有关详细信息,请参阅 创建User-Mode静止图像微型驱动程序。
内核模式静态映像驱动程序
内核模式静态映像驱动程序打包数据,以便传送到连接到特定总线类型的静态映像设备。 Microsoft 为 USB 和 SCSI 总线提供基于 WDM 的内核模式静态映像驱动程序。 有关详细信息,请参阅 访问静态映像设备的 Kernel-Mode 驱动程序。
对于连接到其他总线的静态图像设备,用户模式微型驱动程序直接与内核模式总线驱动程序堆栈通信。
如果设备与 Microsoft 提供的驱动程序不兼容,供应商只需要提供内核模式静态映像驱动程序。
内核模式总线驱动程序堆栈
Microsoft 支持连接到 SCSI、USB、并行、IEEE 1394 兼容和串行总线的静态映像设备,以及连接到红外接口的设备,如下所示:
连接到 SCSI 和 USB 总线的设备
用户模式驱动程序 为静止映像设备调用特定于总线的内核模式驱动程序。
连接到并行端口的设备
支持扩展功能端口 (ECP) 和增强的并行端口 (EPP) 模式。 可以在用户模式静态 映像驱动程序 和内核模式总线驱动程序堆栈之间添加供应商提供的内核模式筛选器驱动程序。 (有关并行端口驱动程序的详细信息,请参阅 并行设备设计指南 和 并行设备参考。有关筛选器驱动程序的详细信息,请参阅 筛选器驱动程序。)
连接到 IEEE 1394 总线的设备
对于支持 SBP-2 协议的设备,用户模式驱动程序可以调用 Microsoft 的 SBP-2 接口。 否则,需要供应商提供的筛选器驱动程序。
连接到串行端口的设备
使用标准串行端口驱动程序。 (有关详细信息,请参阅 串行设备和驱动程序。)
连接到红外接口的设备
驱动程序可以调用 Microsoft Windows SDK 文档) 中所述的 IrSock 软件接口 (。
供应商只需为不受 Microsoft 驱动程序支持的总线提供总线驱动程序。