今後リリースされるハードウェアが 64-bit 版 Windows Vista に対応せざるを得ない理由

x64 版 Windows というと,まだまだ「素人にはお勧めできない」級のややこしい仕様の2〜3,すぐに思いつきはするのですが,開発者としてはなかなかそうも言っていられません.プログラムの動作テストを行うために,手元に 1 台は欲しいところです.とはいえ私の場合も,研究室に Windows XP x64 Edition デスクトップが 1 台あるだけで,Windows Vista x64 版でのテストは未経験だったりするのですが.
さて,Windows の 64-bit 化に対する世間のイメージは「あまり進んでいない」あたりでしょうか.64-bit 化の問題は,アプリケーションとドライバに分類できます.このうち,アプリケーションの移行は長期戦が予想されますが,ドライバの 64-bit 化は,世間で思われている以上に急速に進んでいます.この背後には,Microsoft のある決定があります.実は,ハードウェアに Windows Vista Logo を付けるには,Windows Vista x64 版への対応が必須となっているのです.

これまでのところ,このPCにインストールしたx64版の使い心地は素晴らしいの一言に尽きる。OSをインストールした後の最初のWindows Updateが終わったときには,このシステムに接続していたすべてのハードウエアが正常に認識され,適切なドライバが提供されていた。今,このマシンのデバイス・マネージャは,Windowsがインストールされているあらゆるマシンの目標である「完璧にクリーンな状態」で表示されている。最初の段階で成功を収めたことに気を良くして,次に「常時インストール」しておくアプリケーションのリスト(表)の処理を始めた。その結果も,またもや完璧だった。ほとんどすべてのアプリケーションのインストールが成功し,正常に動作した。実に素晴らしい。

Microsoft は Windows Vista Logo の要件に次のような要件を加えています.この要件により,今後リリースされるハードウェアは原則的に 64-bit OS 対応を強制されたとも言えます.

Device Fundamentals logo requirement 14

All products that have kernel-mode or user-mode drivers must also support x64 versions of Windows. Vendors seeking a logo for a device must make an x64-based driver submission along with any 32-bit driver submissions. 32-bit driver submissions are optional. Integrated system components that are only targeted at 32-bit processors are not subject to this requirement.

Q: ロゴを取得する際に x64 の申請が必須で、x86 の申請はオプションであるというお話を伺いました。

A: ロゴ要件の DEVFUND-0014 の件ですね。

Q: はい。たとえば、x64x86 の両方をサポートする製品のロゴを取得したいのですが、x64 の申請のみを行えば、ロゴ取得ができ、アートワークを使用することができるのでしょうか。

A: その場合、x64x86 の両方の申請が必要になります。

Q: つまり、x86 の申請がオプションであるというのは、あくまでもロゴ プログラムのプロセス上の話であって、実際にロゴを取得する際には、製品ごとのサポート状況を踏まえる必要があるわけですね。

A: はい、そのとおりです。x86 をサポートし、ロゴを使用する製品であれば、x86 の申請が必要になります。

Q: OS 標準のドライバで動作するようなデバイスの場合、見逃してしまうことがあるかもしれませんね。

A: ロゴ取得と共に、ドライバに対するデジタル署名も必要な場合は、確かにそのような疑問は浮かばないかもしれません。OS 標準ドライバで動作する製品の場合も、適切に申請し、ロゴを使用するようにしてください。

Q: わかりました。ありがとうございます。

A: よろしくお願いいたします。

まとめると,

  • ロゴ取得プロセス上,ハードウェアに Windows Vista Logo を付与するには,64-bit 版ドライバが必須である.例外はハードウェアが 32-bit 向けに作られた組み込みシステムコンポーネントである場合.
  • x86 版の申請はオプション扱いだが,実際に Windows Vista 32-bit 版のサポートを表明するには申請が必要.(処理プロセス上は回避可能だが,64-bit 版のサポートによって自動的に 32-bit 版のサポートが認められるわけではない)

あんまり知られていない話かもしれませんが,豆知識ということで*1

*1:ちなみに Windows Logo を餌にするという手は,Windows NT 系列のドライバサポートを Windows 9x 並にするためにも使われました