为什么很多驱动程序的日期都是 2006 年 6 月 21 日?

如果你比较关注Windows设备驱动程序,可能会注意到这样一个奇怪的现象:很多由微软提供的系统级驱动程序,生成日期都是 2006 年 6 月 21 日,无论是 Windows 7 里还是 Windows 10 里都是如此。

难道这些驱动已经 10 多年没有更新了吗?

显然不是。

微软开发人员曾在知名社区 Reddit 里详细解释过这个现象,实际上这样做是有意义的:

“当 PnP (即插即用)排列驱动优先级的时候,它会首先查看和驱动程序匹配的硬件 ID。如果有两个驱动都匹配硬件,那么筛选条件就是驱动日期谁更新。如果你有的设备可以使用内置驱动,但又需要在设备上安装某些定制或者 OEM 驱动,那么当微软再次更新相关驱动的时候,由于新驱动的日期要肯定要比你手动安装的驱动的日期更新,就会覆盖掉你的驱动。”
为什么很多驱动程序的日期都是 2006 年 6 月 21 日?

“那么我们应该如何避免这种情况呢?不管该驱动何时更新的,我们都会采用 Windows Vista 系统 RTM (正式版开发完成)的日期(也就是 2006 年 6 月 21 日),因此自 Vista 系统发布以来的所有驱动都能兼容最新的 Windows 版本,而你所安装的驱动都比 Vista RTM 更新,从而确保用户安装的驱动排在首位。”

所以呢,不要瞧不起 Vista,它可是有特殊历史地位的呢,Windows 7/8/10 都是在它奠定的基础上发展而来。

文章转载自 开源中国社区 [http://www.oschina.net]

上一篇:when and where is getControllerName called


下一篇:ECS使用体验