【问题标题】:Call TWAIN functions from WIA driver从 WIA 驱动程序调用 TWAIN 函数
【发布时间】:2026-02-02 10:10:01
【问题描述】:

我有一台带有 TWAIN 驱动程序的扫描仪。如您所知,Windows 设备管理器不会将 TWAIN 设备识别为图像设备,因此为了使其作为图像设备可见,我需要开发一个 WIA 驱动程序。有什么方法可以从 WIA 驱动程序调用 TWAIN 函数,还是应该从头开始?

我尝试包含 TWAIN API(Image Gear)的 dll,以从我的 WIA 驱动程序调用 TWAIN 函数(将其用作 WIA 驱动程序和设备之间的桥梁),但这不起作用。

对不起,如果这是一个愚蠢的问题,但我是驱动程序开发的新手。

【问题讨论】:

    标签: wdk twain wia


    【解决方案1】:

    来自 TWAIN 工作组的WIA on TWAIN

    WIA on TWAIN 驱动程序实施旨在公开所有必要的扫描仪功能,同时遵守 WIA 1.0 和 WIA 2.0 规范并实现与所有 WIA 兼容应用程序的兼容性。

    特点

    • 使用现有的 TWAIN 数据源与扫描仪通信

    • 使用 MSVC 向导生成 WIA 驱动程序

    • WIA 1.0 和 WIA 2.0 一个二进制文件

    • 一个程序化 WIA 界面,提供获取 Windows 徽标所需的最少操作。

    • 支持平板、ADF 和组合扫描仪

    【讨论】:

      【解决方案2】:

      Twain 和 WIA 在几个层面上是不同的。他们与应用程序交互、维护数据(扫描参数、图像数据等)的方式。也就是说,还有一些常见的功能。 例如:1)您的驱动程序与设备通信的方式,即网络层代码可以相同,可以重用。 2) TWAIN 驱动程序的图像增强功能的实现可以在 WIA 驱动程序中重复使用。

      所以,我的建议是: 1) 在提供的 WDK 中获取示例驱动程序并了解 WIA 的工作原理。 2)从 TWAIN 驱动程序中附加通信层并获得一个工作驱动程序。 3) 在扫描您的第一张图像时,使用 TWAIN 驱动程序中已有的光栅数据增强/处理。

      【讨论】: