首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序.dll文件和系统安装的.dll/.sys文件(特别是FTDI驱动程序)之间的关系

应用程序.dll文件和系统安装的.dll/.sys文件(特别是FTDI驱动程序)之间的关系
EN

Stack Overflow用户
提问于 2016-10-26 16:39:20
回答 1查看 149关注 0票数 0

我们将ftd2xx.dll文件作为应用程序的一部分进行传递。据我所知,其他文件(例如ftdibus.sys)安装在应用程序运行的系统上(至少在Windows上是这样)。Linux也是我们的目标,但为了简单起见,让我们先忽略它。

例如,如果我升级随应用程序提供的ftd2xx.dll文件,用户是否必须安装最新的驱动程序?如果他们不这样做呢?

除了特定的FTDI驱动程序之外,也非常欢迎任何关于这一领域的一般信息来源。

EN

回答 1

Stack Overflow用户

发布于 2016-10-27 01:59:04

我曾经参与过一个使用FTDI的D2XX库的项目。

在ftd2xx.dll和ftdibus.sys的确切版本之间没有紧密耦合。我相信ftd2xx.dll和内核模式驱动程序之间的接口在基本特性级别上是独立于版本的(至少从2.04.06版本开始)。DLL中甚至有分别查询DLL和驱动程序版本的函数。

因此,可能会发生它们“不同步”的情况。也就是说,ftd2xx.dll可能来自比ftdibys.sys更新的版本,反之亦然。这本身就不是问题。

当然,您可以完全控制ftd2xx.dll版本,但是如何安装驱动程序包呢?它是作为应用程序的一部分安装的,还是依赖于用户从其他来源获取驱动程序?如果您的应用程序具有安装程序,则可以选择在安装中包含FTDI的驱动程序包。因此,您将知道可用的驱动程序版本。

真正棘手的(也是让我头疼的)是,如果PC上还有其他使用FTDI芯片的设备。如果这样的设备附带包含旧版本驱动程序的介质,并且用户选择安装此驱动程序,则它将简单地覆盖任何现有版本的驱动程序(例如,您的安装程序提供的版本)。这是一个潜在的回归原因,因为FTDI多年来已经解决了驱动程序中的许多错误。

如果我是你,我会在运行时检查驱动程序版本,并将其与已知有效的版本(测试应用程序时使用的版本)进行比较。如果驱动程序较旧,建议用户升级。否则我会假设它是兼容的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40257506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档