Windows シェルの名前空間

Windows Shellプログラミングにおいて、Windows Shell名前空間とは、 Windowsエクスプローラーがファイルシステムの内容やその他のオブジェクトをエンドユーザーにグラフィカルに表示するために用いる、ツリー構造の階層的表現です。概念的には、Shell名前空間はファイルシステムのより大規模で包括的なバージョンと見なすことができます。

Shell 名前空間は、システムを構成するさまざまなオブジェクトから構成される階層ツリーです。

オブジェクトの種類

具体的には、Shell 名前空間はファイルとフォルダという 2 種類の基本的なオブジェクトで構成されます。フォルダオブジェクトは、ファイルオブジェクトとサブディレクトリと呼ばれる他のフォルダのコンテナであり、ツリーのノードに相当します。一方、ファイルオブジェクトは名前空間ツリーのリーフに相当します。Shell 名前空間のオブジェクトは、ファイルやフォルダなどの物理的に保存されたファイルシステムオブジェクトを表す場合もあれば、マイネットワークごみ箱などの仮想フォルダなどの仮想オブジェクトを表す場合もあります。

物理コンピュータのディスクドライブ上に存在するフォルダとデータファイルは、これらのオブジェクトの中で最も数が多く、よく知られています。しかし、シェルは拡張機能を通じて、物理ストレージを全く必要としない様々な仮想オブジェクトへのアクセスも提供します。その結果、物理ファイルシステム上に存在しないフォルダが存在し、これらは仮想フォルダと呼ばれます。同様に、物理ファイルシステム上に存在しない仮想ファイルオブジェクトも存在します。仮想シェルオブジェクトは、Windowsシェル全体で使用されます。デスクトップ上では、組み込みのシェル拡張機能を通じてシェルランチャーが実装されています。Windowsシェルは、仮想シェルオブジェクトを利用して、プリンタやルーターなどのコンピュータ周辺機器やネットワークデバイスを概念的に表現します。仮想シェルオブジェクトはシェルリンクとして機能し、ユーザーによって呼び出されるとコマンドを実行します。例えば、Windows XPなどのバージョンでは、"rundll32.exe" shell32.dll,Options_RunDLL 0ユーザーがコントロールパネルの 「フォルダオプション」アプレットを起動すると、コマンドラインでが実行されます。

ユーザーのデスクトップは、Shell名前空間のルートにある特別なフォルダです。このフォルダはデフォルトでユーザーのプロファイルフォルダに保存されている物理フォルダにマッピングされますが、この特別なデスクトップフォルダは物理デスクトップフォルダとは別のオブジェクトとして表現されます。これは、「マイドキュメント」(Windows 95からXP)またはユーザーの「ドキュメント」(Windows Vista以降)フォルダにも当てはまります。

参照