なぜWindowsのドライバーの日付が2006年6月21日なのか?ドライバーをアップデートしたことないの?単なるなまけ者集団?
もっと重要なことに、2006年6月21日という日付は、Storage Spacesのように2006年に存在すらしていなかったドライバーにも適用されているのです!また開発部門がタイムマシンを使ったのでしょうか?
Windowsのすべてのドライバーの日付は2006年6月21日に設定されています。バージョン番号は時とともに増えていきますが、タイムスタンプは変わらないままです。
私の同僚Zacがこう説明しています。ある特定のハードウェアのために使うドライバーを探す時、システムは色々な基準に基づいてドライバーをランク付けします。ドライバーがハードウェアIDとぴったり一致するなら、それが1番目の候補になります。複数のドライバーが一致する場合、最も新しいタイムスタンプを持つものが選ばれます。それでもまだ複数ある場合、最も大きいファイルバージョン番号を持つものが選ばれます。
ドライバーのタイムスタンプがビルドリリース日と一致している場合を考えてみましょう。さらに、製造元が提供しているカスタムドライバーを持っているとします。新しいビルドをインストールした時、Windowsが提供しているドライバーは製造元が提供しているドライバーよりも新しいタイムスタンプを持つことになります。その結果、新しいビルドをインストールすると、製造元が提供するドライバーはすべてWindowsのドライバーで置き換えられてしまうのです。おっと。
ドライバーの日付を意図的にさかのぼらせておくことで、この問題を回避できます。つまり、製造元が提供するカスタムドライバーがある時には、Windowsが提供しているドライバーよりもそれらが優先されるようになるのです。一方で、もし既存のドライバーが前のビルドからあるWindows提供のドライバーなら、3番目のルールが適用されて、最も大きいバージョン番号を持つもの、つまり最新のビルドに含まれるものが選ばれます。
最終的にこれは完全に動作するわけですが、少々おかしな風に見えます。
「これは、一見馬鹿げていて大したことのないようなものが、実は深遠なる目的を持つという最高の例だね」とZacは私に言いました。