IShellLibrary interface

Exposes methods for creating and managing libraries.

Methods

The IShellLibrary interface has these methods.

Method Description
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

   
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