WIA 微型驱动程序功能

所有 WIA 微型驱动程序都必须定义设备处理通知事件和命令的能力。 本部分介绍这些微型驱动程序功能。

WIA 微型驱动程序负责生成一个表,其中列出了它支持的所有事件和命令。 下图说明了 WIA 微型驱动程序生成的功能表。

说明 wia 微型驱动程序功能表的示意图。

capabilities 表定义为 WIA_DEV_CAP_DRV 结构的数组。 当 WIA 服务调用 IWiaMiniDrv::d rvGetCapabilities 方法时,微型驱动程序必须构造此数组并将其返回到 WIA 服务。

定义支持的事件和命令

WIA 微型驱动程序必须描述设备对 WIA 服务支持的事件和命令。

事件

事件是必须在设备级别向驱动程序报告的操作。 例如,扫描仪可能有一个标记为“扫描”的前面板按钮。 当用户按下此按钮时,他们希望扫描程序开始扫描,或者至少希望应用程序开始启动扫描。

WIA 支持两种类型的事件:

  • 操作事件:操作事件启动已注册以处理此类事件的应用程序。 例如,Microsoft 扫描仪和相机向导是 Scan 事件的注册处理程序, (其他应用程序可以注册此事件以及) 。 当驱动程序发送 Scan 事件时,WIA 服务会启动扫描仪和相机向导来处理此事件。 这种类型的事件通常称为 永久性事件

  • 通知事件:通知事件仅发送到已在运行且已向 WIA 服务指示它们应接收此事件的应用程序。 如果应用程序未运行,则不会启动它来处理此事件。

事件可以是操作事件和通知事件。

命令

WIA 设备命令是 WIA 服务代表图像处理应用程序向 WIA 微型驱动程序发送 (的请求,) 指示微型驱动程序执行某些操作。 例如,WIA 相机微型驱动程序可能会处理 “拍照” 命令。 此命令指示微型驱动程序订购数码相机设备拍摄新照片。

注意

扫描仪和相机向导会立即响应用户,即使它在后台仍有清理任务。 例如,当用户请求取消某个操作时,“扫描仪和相机向导”窗口会立即关闭;但是,扫描仪和相机向导有一个单独的获取线程,该线程在窗口关闭后继续运行。 此单独的线程可立即响应用户的请求,但允许在不影响用户体验的情况下完成无法中断的必要任务和任务。