Twain 驱动并发请求

Twain driver concurrent requests

是否可以使用一个 twain 驱动程序来管理对两台不同多功能打印机的并发请求?

我的意思是,如果我有两个 MFP,我可以使用同一个 twain 驱动程序并行执行两个扫描请求吗?

要看你的驱动支持不支持。

来自 TWAIN Spec 第 125 页: 如果应用程序尝试连接到源已打开时仅支持单个连接的源,则源应响应 TWRC_FAILURE 和 TWCC_MAXCONNECTIONS.

同样来自第 212 页的规范: Source 负责管理这个,而不是 Source Manager(Source Manager 事先不知道 Source 将支持多少个连接)。

我使用 Fujitsu fi-7260 扫描仪对此进行了测试,并在 Twacker 中遇到 TWCC_MAXCONNECTIONS 错误:

有可能。成为 TWAIN 的原因只是介于应用程序和提供给它的图像之间。 想象一下以下几行的场景:

1) 用户点击了扫描按钮。 2) 您启动网络层调用以启动扫描作业。 3) 现在,您从两个线程开始在两台打印机上扫描作业,而不是一台打印机。 4) 假设这些线程中的每一个都将原始 BMP 数据填充到一个共享的数据结构中。 5) 一旦两个线程都完成迭代该共享数据结构以通过 XFERIMAGE 调用将图像传递给应用程序。

基本思路是在后台创建两台打印机的抽象。

如果我对您的问题的理解不正确或者您需要其他说明,请告诉我。

如果您按照描述的方式实现它,它通常只适用于两个不同的 MFP,因为大多数 TWAIN 驱动程序不支持同时两个不同的 USB 设备。