Windows XP 和 Windows Me 的 WIA 平板扫描仪兼容性

Windows Vista WIA 项树会导致针对 Windows XP 和 Windows Me 编写的应用程序中出现一些兼容性问题。

为了简化 Windows Vista WIA 驱动程序和应用程序与旧版 WIA 驱动程序和应用程序之间的兼容性问题,Windows Vista 具有内部兼容性层。 此兼容性层将允许你分别将 Windows XP (和 Windows Me) 驱动程序和应用程序与 Windows Vista 驱动程序和应用程序配合使用。 在 Windows Vista 上,此转换过程对驱动程序和应用程序都是透明的。 有关此兼容性层的详细信息,请参阅 WIA 兼容层

但是,Windows XP 或 Windows Me 上 Windows Vista 驱动程序和应用程序的兼容性更为复杂。 针对这些旧版操作系统上存在的 WIA 版本编写的应用程序遵循一组不同的规则和假设。 Windows XP 和 Windows Me 中的 WIA 扫描程序项树将扫描程序的功能合并到项树中的单个项上。 根项控制该子项的传输行为。 例如,扫描程序使用第一个子项作为可编程数据源,根项属性 WIA_DPS_DOCUMENT_HANDLING_SELECT (Windows Vista 中的WIA_IPS_DOCUMENT_HANDLING_SELECT) 在平板扫描和送纸器扫描之间切换。

这种项重载方法要求应用程序跟踪重要 WIA 项所需的 WIA 属性,以帮助对扫描仪的特征进行分类。 如果扫描程序的根项上存在 WIA_DPS_DOCUMENT_HANDLING_SELECT 属性,则应用程序假定扫描程序支持从文档送纸器进行扫描。 如果此属性设置为 FLATBED,则应用程序假定扫描仪还支持平板扫描。 因此,较旧的 WIA 应用程序将导航到新的 WIA 扫描程序项树的根目录,并且找不到任何告知其设备功能的属性。

注意 如果实现了其他扫描数据源,平板扫描程序项必须是 WIA 项树中的第一个子项。 此位置可确保能够运行基本平板扫描仪的 Windows XP 和 Windows Me 应用程序会自动找到设备的平板扫描功能。 某些应用程序导航到第一个子项(以前是唯一的子项),并假定它是扫描仪的平板或送纸器。 使用平板扫描程序项作为第一个子项实现扫描程序项树将防止出现许多向后兼容性问题。

有关兼容性的详细信息,请参阅 WIA 项属性和位置更改