Edit

Share via


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