Windows Shell namespace


In Windows Shell programming, the Windows Shell namespace is an organized tree-structured hierarchical representation that Windows Explorer facilitates to graphically present file system contents and other objects to the end user. Conceptually, the Shell namespace may be regarded as a larger and more inclusive version of the file system.
The Shell namespace is a hierarchical tree that consists of the wide variety of objects that make up the system.

Types of objects

Specifically, the Shell namespace consists of two basic types of objects, namely files and folders. Folder objects, which are containers for file objects and other folders called subdirectories, are the nodes of the tree, while file objects are the leaves of the namespace tree. Objects in the Shell namespace can represent physically stored file system objects such as files and folders, or can be virtual objects such as the My Network Places and Recycle Bin "virtual folders".
The folders and data files that reside on physical computer disk drives are the most numerous and familiar of these objects; although, through extensions the Shell also provides access to various virtual objects that may not involve physical storage at all. Consequentially, there are folders that do not reside on the physical file system, which are referred to as virtual folders. Likewise, there are virtual file objects that do not reside on the physical file system. Virtual Shell objects are used throughout the Windows Shell. On the Desktop, Shell launchers are implemented through a built-in shell extension. The Window Shell utilizes virtual Shell objects to conceptually represent computer peripherals and network devices, such as printers and routers. Virtual Shell objects can function as Shell links and execute commands when invoked by the user. For example, in Windows XP and other versions, "rundll32.exe" shell32.dll,Options_RunDLL 0 is executed on the command line when a user launches the "Folder Options" applet in the Control Panel.
The user's Desktop is a special folder that resides at the root of the Shell namespace. Although this folder maps by default to a physical folder stored in the user's profile folder, the special desktop folder is represented as a distinct object from the physical desktop folder. The same holds true with the "My Documents" or user "Documents" folder.