IShellFolder

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.