如何找出在 Windows 中插入设备时正在使用的 INF 文件。
我们插入 USB 调制解调器,它尝试安装 MBB USB 驱动程序,然后抛出错误“为 Windows 95 或更高版本编写的 INF,驱动程序缺少入口文件”。好吧,我正在 Windows XP 上安装驱动程序,它比 Windows 95 更高,所以不确定到底出了什么问题。
我想确切地找出 Windows 正在拾取哪个 inf 文件,然后我可以将签名条目更改为 $WindowsNT$ 。
这里有什么想法吗?
既然我们讨论的是设备驱动程序。有人能推荐一本关于 Windows 设备驱动程序的好书吗?这本书要从头开始,涵盖很多基础知识。
答案1
仅仅因为您将签名更改为 Windows NT 并不能神奇地将驱动程序转换为 NT 驱动程序。Windows NT 使用的驱动程序模型与 Windows 9x 有很大不同,这种不同足以要求许多设备在这两个操作系统上使用完全不同的驱动程序。
当然,错误消息有点令人困惑,因为 XP 确实比 Windows 95“更新”,但它不是A较新版本Windows 95。那将是 Windows 98 或 Me。您需要找到为 Windows 2000 或 XP 编写的驱动程序,两者都基于 Windows NT 代码库。
但是如果您现在拥有的驱动程序 INF 文件具有签名$Windows 95$
,那么您可以确定它不是 NT 驱动程序,并且不会通过将其更改为而神奇地变成 NT 驱动程序$Windows NT$
。
至于理解和编写设备驱动程序的一般指导,请查看以下问题的答案:
- https://stackoverflow.com/questions/4288582/windows-nt-device-driver-development-book
- https://stackoverflow.com/questions/3369160/best-book-for-learning-windows-device-driver-development
但公平地说:驱动程序模型发生了变化再次在 Windows Vista 中。如果您想为在 Windows Vista 和 7 上运行的设备编写驱动程序,则需要确保您了解更新的模型。如果您仍然需要驱动程序来支持 Windows 2000/XP 等旧版操作系统,那么您需要坚持使用讨论这些操作系统的旧资源。