标识扫描事件的输入源

推送扫描操作是用户从 WIA 扫描程序设备而不是从台式计算机上运行的 WIA 应用程序的用户界面启动的扫描操作。 当用户在设备上按下“开始扫描”按钮时,应用程序会收到一个扫描事件,通知它用户已请求扫描操作。 为了响应此事件,应用程序可以通过以下两种方式之一执行推送扫描操作:

  • 如果设备支持 自动配置的扫描,则应用程序可以从 自动项 请求数据传输,以从当前选定的输入源 (平板、自动文档送纸器或胶片扫描适配器) 获取图像。 作为响应,设备会自动配置其扫描设置, (排除少数只能由应用程序配置的属性(如 自动项) 支持的 WIA 属性 中所述),然后获取映像。

  • 应用程序可以在直接程序控制下执行扫描操作。 首先,应用程序 (表示当前所选输入源的平板项目、送纸器项或胶片项) 配置 WIA 项的属性。 接下来,应用程序通过从此项请求数据传输来获取图像。

有关 WIA 项的详细信息,请参阅 WIA 项类别

发生扫描事件时,应用程序会收到一个通知,其中包含 WIA 事件标识符 (GUID 值) 以指定事件的性质。 WIA 微型驱动程序可以将自定义 WIA 事件标识符 GUID 分配给事件,或者微型驱动程序可以使用头文件 Wiadef.h 中定义的 WIA_EVENT_SCAN_XXX GUID 常量之一。 有关这些常量的详细信息,请参阅 WIA 事件标识符

尽管扫描事件的 WIA 事件标识符提供有关该事件的信息,但它不会标识要用于扫描操作的输入源。 对于自动配置的扫描,应用程序不需要此信息。 但是,若要在直接程序控制下执行扫描,应用程序必须知道要使用哪个输入源。 如果设备具有多个输入源,并且用户可以从设备而不是从应用程序的用户界面中选择输入源,则应用程序必须具有从设备获取此信息的方法。 从设备中选择输入源时,用户可以通过按设备前面板) 上的按钮来显式 (选择源,或者隐式 (,例如,将文档插入设备) 的送纸器中。

发生扫描事件时,如果设备支持此属性,应用程序可以查询 WIA 扫描仪设备的WIA_DPS_SCAN_AVAILABLE_ITEM属性来标识所选的输入源。 WIA_DPS_SCAN_AVAILABLE_ITEM是设备的 WIA 项树中根项的可选属性。 有关此属性的详细信息,请参阅 WIA_DPS_SCAN_AVAILABLE_ITEM

WSD 扫描类驱动程序将 WIA_DPS_SCAN_AVAILABLE_ITEM 属性实现为标准驱动程序功能(如上一段落中所述),而不是作为自定义驱动程序扩展。 有关 WSD 扫描类驱动程序的详细信息,请参阅 WIA with Web Services for Devices。 有关扫描程序的 WDP 的详细信息,请参阅 适用于设备的 Web 服务扫描服务架构