创建 WIA 微驱动程序

许多平板扫描仪都以类似的方式进行控制。 模型之间的常见行为已抽象化为 Microsoft 提供的名为 WIA 平面驱动程序的通用驱动程序。 此驱动程序调用 DLL(称为微驱动程序),该 DLL 由扫描程序供应商提供,可实现任何所需的特定于设备的行为。 然后,WIA 平板驱动程序和微型驱动程序可以用作 WIA 微型驱动程序。 使用微驱动程序的优点是很容易实现和调试。 并非所有扫描仪都可以由微型驱动程序支持。 它最适合在没有双工器或其他高级功能) 的简单设备 (,或者需要基本功能驱动程序时。

注意 本部分所述的 WIA 微驱动程序为 WIA 1.0。 目前没有适用于 WIA 2.0 的相应 WIA 微驱动程序模型。 如果你开发 WIA 微驱动程序以在 Windows 版本支持 WIA 2.0 (Windows Vista 或更高版本) 的计算机上运行,则此 WIA 微驱动程序将像任何其他 WIA 1.0 设备一样工作,并且将在 WIA 1.0 兼容模式下由 WIA 2.0 应用程序使用。

下图显示了 WIA 微驱动程序体系结构中的组件。

说明 wia 微驱动程序体系结构中的组件的示意图。

WIA 平面驱动程序通过在微驱动程序中调用 WIA 微驱动程序函数来处理来自 WIA 服务的请求。 微驱动程序必须实现其中每个函数。 SCANINFO 结构将传递给微驱动程序,以存储和传达扫描参数,例如扫描窗口和分辨率。 WIA 平面驱动程序从 SCANINFO 结构读取值,但从不写入它们。 微驱动程序负责设置 SCANINFO 成员。

微驱动程序不应存储扫描的任何参数,但应依赖于 SCANINFO 结构中存储的值。 这一点对于支持对设备的多个应用程序访问非常重要。 如果两个应用程序同时在同一设备上设置扫描,则只有一个微驱动程序副本正在运行。 在这种情况下,将使用两种不同的 SCANINFO 结构之一调用微驱动程序,具体取决于尝试访问设备的应用程序。