解説しているサイト、および書籍がほとんどないので、『Vista 64ビット版/XP x64に採用された「みせかけ構造」』を紹介しよう。
これは、アーキテクチャ的に非常に面白い構造であり、またこの構造を知っておかないと、64ビットWindowsでカスタマイズを行う際には、理解できないトラブルを起こす可能性があるので、今から覚えておいて損はない。
ちなみにこの「みせかけ構造」を知れば、おのずと以下のような「同じWindows Vista上で同じフォルダを表示しているのにファイル内容、数がなぜ違うのか?」を知ることができる。

※よく見て欲しい。同じWindows Vista上のエクスプローラで「C:\Windows\System32」を表示している
にもかかわらず、フォルダ内容もファイルサイズ、ファイル個数が異なる。なぜだ!!!
通常、ビット数が変わったOSというのは、以前のビット数のアプリケーションと互換を持たない。つまり、64ビットWindowsそのものは、32ビットWindowsと互換性がなく、アプリケーションやシステムファイルなどを利用できないのだ。
この「利用できない」状態を解決するために、通常は「エミュレータ」を内蔵するのが主な対処方法だ。
つまり、64ビットOSと32ビットアプリケーション(いわゆるWindows XP用アプリケーション)の間に「エミュレータプログラム」をかませることによって動作を実現するのが「常」なのだ。
このエミュレータはいわゆる各種命令を「32ビット←→64ビット」に変換するプログラムであり、アーキテクチャ的に当然オーバーヘッドが起こり、プログラムの駆動が遅くなるという欠点を持つ。

※Itanium版の「Windows XP 64-Bit Edition」の場合。ビット数が上がったOSの「常」であるように「変換層(いわゆるエミュレータ)」を持ち、ここでプログラムの解釈を32ビット ←→64ビットに変換して「32ビットアプリケーションの動作」を実現している。
・・・と、ここまでは「x64、Vista 64のアドバンテージ」で述べたが、ここではもう少しシステムから見た解説を行ってみよう。
「Windows Vista 64ビット版」および「Windows XP Professional x64 Edition」は、このようなエミュレータをかます構造ではなく、64ビットOSのくせに32ビットアプリケーションが直接動く構造を持っている。
この「直接動く構造」が非常に曲者というか斬新で、x64やVista64において先のキャプチャー画面のような「同じフォルダのクセに内容が違う」という現象が発生する。
具体的に検証してみよう。
Vista64/x64の場合、
・64ビットシステムファイルは「C:WINDOWS\SYSTEM32」フォルダ
・32ビットシステムファイルは「C:WINDOWS\SysWOW64」フォルダ
にそれぞれ保有している。
ここでは、そのシステムファイルの違いを確認するため、ファイルコンペアツールで内容を比較してみよう。
※大注意
ちなみに以下の比較は「UnDup」という、重複ファイル削除ツールを使っているが、このツールは本来画像ファイルやデータファイルに対して実行すべきツールであり、システムファイルに対して実行した場合、設定によってはシステムクラッシュを起こすので、絶対に実行しない(システムで試さない)で欲しい。

※「C:WINDOWS\SYSTEM32」フォルダと「C:WINDOWS\SysWOW64」フォルダの比較・・・ん? まったく同じという結果が・・・なぞがなぞ呼ぶVista64/x64。
64ビットと32ビットのシステムファイルが同じ? んな馬鹿なのことはありえない。大体まったく同じフォルダをわざわざ「C:WINDOWS」で保有する意味がない(dllcacheなら別だが)。
そう、コンペアツールでこんな結果が出てしまうのが『64ビットWindows』であり、だからこそ知っておかなければならないのが、「みせかけ構造」の仕組みなのである。
(次回更新は、解決編!! ・・・だといいな)