The IShellFolder interface is used to manage folders.
When to Implement
Implement IShellFolder for objects that extend the shell's namespace. For example, if you create a separate name space that requires a rooted Explorer; or if you install a new name space directly within the hierarchy of the system name space.Only you know anything about the contents of your name space so you are responsible for implementing everything needed to access your data.
When to Use
Use IShellFolder when you need to display or operate on the contents of the shell's namespace. Objects that support IShellFolder are usually created by other shell folder objects, with the root object (the Desktop shell folder) being returned from the SHGetDesktopFolder function.
Methods in Vtable Order
IUnknown Methods | Description |
QueryInterface | Returns pointers to supported interfaces. |
AddRef | Increments reference count. |
Release | Decrements reference count. |
IShellFolder Methods | Description |
ParseDisplayName | Translates a display name into an item identifier list. |
EnumObjects | Enumerates the objects in a folder. |
BindToObject | Retrieves the IShellFolder interface for the specified subfolder. |
BindToStorage | Returns the storage instance of a subfolder. |
CompareIDs | Compares two item identifier lists and returns the result. |
CreateViewObject | Creates a view object of the folder itself. |
GetAttributesOf | Retrieves the attributes of the specified file object or subfolder. |
GetUIObjectOf | Creates an OLE interface that can be used to carry out operations on a file object or subfolder. |
GetDisplayNameOf | Retreives the display name of a file object or subfolder. |
SetNameOf | Sets the display name of the specified file object or subfolder and changes its identifier accordingly. |