IShellLibrary interface (shobjidl_core.h)

Exposes methods for creating and managing libraries.

Inheritance

The IShellLibrary interface inherits from the IUnknown interface. IShellLibrary also has these types of members:

Methods

The IShellLibrary interface has these methods.

 
IShellLibrary::AddFolder

Adds a folder to the library.
IShellLibrary::Commit

Commits library updates to an existing Library Description file.
IShellLibrary::GetDefaultSaveFolder

Retrieves the default target folder that the library uses for save operations.
IShellLibrary::GetFolders

Gets the set of child folders that are contained in the library.
IShellLibrary::GetFolderType

Gets the library's folder type.
IShellLibrary::GetIcon

Gets the default icon for the library.
IShellLibrary::GetOptions

Gets the library's options.
IShellLibrary::LoadLibraryFromItem

Loads the library from a specified library definition file.
IShellLibrary::LoadLibraryFromKnownFolder

Loads the library that is referenced by a KNOWNFOLDERID.
IShellLibrary::RemoveFolder

Removes a folder from the library.
IShellLibrary::ResolveFolder

Resolves the target location of a library folder, even if the folder has been moved or renamed.
IShellLibrary::Save

Saves the library to a new Library Description (*.library-ms) file.
IShellLibrary::SaveInKnownFolder

Saves the library to a new file in a specified known folder.
IShellLibrary::SetDefaultSaveFolder

Sets the default target folder that the library will use for save operations.
IShellLibrary::SetFolderType

Sets the library's folder type.
IShellLibrary::SetIcon

Sets the default icon for the library.
IShellLibrary::SetOptions

Sets the library options.

Remarks

When to Implement

Custom implementations of IShellLibrary are not supported; client applications use the implementation provided by Shell32.dll.

When to Use

Use IShellLibrary to create a new library, query or update the attributes of an existing library.

Library Helper Functions

The following library helper functions are provided by Shobjidl.h.
Name Summary
SHAddFolderPathToLibrary Adds a folder to a library.
SHCreateLibrary Creates an IShellLibrary object.
SHLoadLibraryFromItem Creates and loads an IShellLibrary object from a specified library definition file.
SHLoadLibraryFromKnownFolder Creates and loads an IShellLibrary object for a specified KNOWNFOLDERID.
SHLoadLibraryFromParsingName Creates and loads an IShellLibrary object for a specified path.
SHRemoveFolderPathFromLibrary Removes a folder from a library.
SHResolveFolderPathInLibrary Attempts to resolve the target location of a library folder that has been moved or renamed.
SHResolveLibrary Attempts to find the location of a library.
SHSaveLibraryInFolderPath Saves an IShellLibrary object to disk.
SHShowManageLibraryUI Shows the library management dialog, which enables users to manage the library folders and default save location.
 

Library Enumerations

The following enumerations support libraries.
Name Summary
DEFAULTSAVEFOLDERTYPE Specifies whether the default save location is public or private.
LIBRARYOPTIONFLAGS Specifies the library options.
LIBRARYSAVEFLAGS Defines options for handling a name collision when saving a library.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)

See also

Guidance for Implementing In-Process Extensions

Library Description Schema

Windows Libraries