标识扫描事件的输入源
推送扫描操作是用户从 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 服务扫描服务架构。