WIA 微型驱动程序功能

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

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

图表说明 WIA 微型驱动程序功能表。

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

定义支持的事件和命令

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

事件

事件是发生在设备层的操作,必须上报给驱动程序。 例如,扫描程序可能具有标记为“扫描”的前面板按钮。 当用户按此按钮时,他们希望扫描程序开始扫描,或者至少,应用程序将开始启动扫描。

WIA 支持两种类型的事件:

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

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

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

指令

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

注释

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