Export (0) Print
Expand All
Expand Minimize

Shell Interfaces

This section describes the Windows Shell interfaces.

In this section

TopicDescription

IAccessibleObject

Exposes a method that can be used by an accessibility application.

IAccessibilityDockingService

Docks a single accessibility app window to the bottom of a screen.

IAccessibilityDockingServiceCallback

Informs an accessibility app that its window has been undocked.

IACLCustomMRU

Exposes methods that are used to initialize a most recently used (MRU) list for an autocompletion object.

IACList

Exposes a method that improves the efficiency of autocompletion when the candidate strings are organized in a hierarchy.

IACList2

Extends the IACList interface to enable clients of an autocomplete object to retrieve and set option flags.

IActionProgress

Represents the abstract base class from which progress-driven operations can inherit.

IActionProgressDialog

Exposes methods that initialize and stop a progress dialog.

IApplicationActivationManager

Provides methods which activate Windows Store apps for the Launch, File, and Protocol extensions. You will normally use this interface in debuggers and design tools.

IApplicationAssociationRegistration

Exposes methods that query and set default applications for specific file Association Type, and protocols at a specific Association Level.

Note  This functionality is not supported as of Windows 8.

IApplicationAssociationRegistrationUI

Exposes a method that launches an advanced association dialog box through which the user can customize their associations.

IApplicationDesignModeSettings

Enables development tool applications to dynamically spoof system and user states, such as native display resolution, device scale factor, and application view state, for the purpose of testing Windows Store apps running in design mode for a wide range of form factors without the need for the actual hardware. Also enables testing of changes in normally user-controlled state to test Windows Store apps under a variety of scenarios.

IApplicationDesignModeSettings2

Enables development tool applications to dynamically control system and user states, such as native display resolution, device scale factor, and application view layout, reported to Windows Store apps for the purpose of testing Windows Store apps running in design mode for a wide range of form factors without the need for the actual hardware. Also enables testing of changes in normally user-controlled state to test Windows Store apps under a variety of scenarios.

IApplicationDestinations

Exposes methods that allow an application to remove one or all destinations from the Recent or Frequent categories in a Jump List.

IApplicationDocumentLists

Exposes methods that allow an application to retrieve the contents of the Recent or Frequent categories in a Jump List.

IAppPublisher

Exposes methods for publishing applications through Add/Remove Programs in Control Panel. This is the principal interface implemented for this purpose.

IAppVisibility

Provides functionality to determine whether the display is showing Windows Store apps.

IAppVisibilityEvents

Enables applications to receive notifications of state changes in a display and of changes in Start screen visibility.

IAssocHandler

Exposes methods for operations with a file association dialog box or menu.

IAssocHandlerInvoker

Exposes methods that invoke an associated application handler.

IAsyncOperation

Enables interfaces that are usually synchronous to function asynchronously.

Note  This interface has been renamed IDataObjectAsyncCapability.

IAttachmentExecute

Exposes methods that work with client applications to present a user environment that provides safe download and exchange of files through email and messaging attachments.

IAutoComplete

Exposed by the autocomplete object (CLSID_AutoComplete). This interface allows applications to initialize, enable, and disable the object.

IAutoComplete2

Extends IAutoComplete. This interface enables clients of the autocomplete object to retrieve and set a number of options that control how autocompletion operates.

IAutoCompleteDropDown

Exposes methods that allow clients to reset or query the display state of the autocomplete drop-down list, which contains possible completions to a string entered by the user in an edit control.

IBandHost

Exposes methods that create and destroy bands and specifiy their availability.

IBandSite

Exposes methods that control band objects.

IBrowserFrameOptions

Allows a browser or host to ask IShellView what kind of view behavior is supported.

ICategorizer

Exposes methods that are used to obtain information about item identifier lists.

ICategoryProvider

Exposes a list of categorizers registered on an IShellFolder.

ICDBurn

Exposes methods that determine whether a system has hardware for writing to CD, the drive letter of a CD writer device, and programmatically initiate a CD writing session.

IColumnManager

Exposes methods that enable inspection and manipulation of columns in the Windows Explorer Details view. Each column is referenced by a PROPERTYKEY structure, which names a property.

ICommDlgBrowser

Exposed by the common file dialog boxes to be used when they host a Shell browser. If supported, ICommDlgBrowser exposes methods that allow a Shell view to handle several cases that require different behavior in a dialog box than in a normal Shell view. You obtain an ICommDlgBrowser interface pointer by calling QueryInterface on the IShellBrowser object.

ICommDlgBrowser2

Extends the capabilities of ICommDlgBrowser. This interface is exposed by the common file dialog boxes when they host a Shell browser. A pointer to ICommDlgBrowser2 can be obtained by calling QueryInterface on the IShellBrowser object.

ICommDlgBrowser3

Extends the capabilities of ICommDlgBrowser2, and used by the common file dialog boxes when they host a Shell browser.

IComputerInfoChangeNotify

This interface may be absent in later versions of Windows.

IConnectableCredentialProviderCredential

Exposes methods for connecting and disconnecting IConnectableCredentialProviderCredential objects.

IContactManagerInterop

Enables access to ContactManager methods in an app that manages multiple windows.

IContextMenu

Exposes methods that either create or merge a shortcut menu associated with a Shell object.

IContextMenu2

Exposes methods that either create or merge a shortcut (context) menu associated with a Shell object. Extends IContextMenu by adding a method that allows client objects to handle messages associated with owner-drawn menu items.

IContextMenu3

Exposes methods that either create or merge a shortcut menu associated with a Shell object. Allows client objects to handle messages associated with owner-drawn menu items and extends IContextMenu2 by accepting a return value from that message handling.

IContextMenuCB

Exposes a method that enables the callback of a context menu. For example, to add a shield icon to a menuItem that requires elevation.

IControlMarkup

ICopyHook

Exposes a method that creates a copy hook handler. A copy hook handler is a Shell extension that determines if a Shell folder or printer object can be moved, copied, renamed, or deleted. The Shell calls the ICopyHook::CopyCallback method prior to performing one of these operations.

ICreateObject

Exposes a method that creates an object of a specified class.

ICredentialProvider

Exposes methods used in the setup and manipulation of a credential provider. All credential providers must implement this interface.

ICredentialProviderCredential

Exposes methods that enable the handling of a specific credential.

ICredentialProviderCredential2

Extends the ICredentialProviderCredential interface by adding a method that retrieves the security identifier (SID) of a user. The credential is associated with that user and can be grouped under the user's tile.

ICredentialProviderCredentialEvents

Provides an asynchronous callback mechanism used by a credential to notify it of state or text change events in the logon or credential UI.

ICredentialProviderCredentialEvents2

Extends the ICredentialProviderCredentialEvents interface by adding methods that enable batch updating of fields in a logon or credential UI.

ICredentialProviderCredentialWithFieldOptions

Provides a method that enables the credential provider framework to determine whether you've made a customization to a field's option in a logon or credential UI.

ICredentialProviderEvents

Provides an asynchronous callback mechanism used by a credential provider to notify it of changes in the list of credentials or their fields.

ICredentialProviderFilter

Used to dynamically filter credential providers based on information available at runtime.

ICredentialProviderSetUserArray

Provides a method that enables a credential provider to receive the set of users that will be shown in the logon or credential UI.

ICredentialProviderUser

Provides methods used to retrieve certain properties of an individual user included in a logon or credential UI.

ICredentialProviderUserArray

Represents the set of users that will appear in the logon or credential UI. This information enables the credential provider to enumerate the set to retrieve property information about each user to populate fields or filter the set.

ICurrentItem

Obtained by calling IShellFolder::BindToObject for an item. If the item represents a snapshot of an item at a previous time, this interface will obtain the current version of the item.

ICurrentWorkingDirectory

Exposes methods that enable a client to retrieve or set an object's current working directory.

ICustomDestinationList

Exposes methods that allow an application to provide a custom Jump List, including destinations and tasks, for display in the taskbar.

IDataObjectAsyncCapability

Enables interfaces that are usually synchronous to function asynchronously.

Note  This interface is the current, renamed version of IAsyncOperation.

IDataObjectProvider

Provides methods that enable you to set or retrieve a DataPackage object's IDataObject interface, which the DataPackage uses to support interoperability. The DataPackage object is used by an app to provide data to another app.

IDataTransferManagerInterop

Enables access to DataTransferManager methods in a Windows Store app that manages multiple windows.

IDefaultExtractIconInit

Exposes methods to set default icons associated with an object.

IDefaultFolderMenuInitialize

Provides methods used to get and set shortcut menu information. This information is the same as that provided to SHCreateDefaultContextMenu through the DEFCONTEXTMENU structure.

IDelayedPropertyStoreFactory

Exposes a method to create a specified IPropertyStore object in circumstances where property access is potentially slow.

IDelegateFolder

Exposes a method through which a delegate folder is given the IMalloc interface required to allocate and free item IDs.

IDelegateItem

Used to obtain the immediately underlying representation of an item's path.

IDesktopGadget

Exposes a method that allows the programmatic addition of an installed gadget to the user's desktop.

IDesktopWallpaper

IDestinationStreamFactory

Exposes a method for manually copying a stream or file before applying changes to properties.

IDisplayItem

Exposes methods that find a version of the current item to be used to get display properties, such as the item name, that will be displayed in the UI. Used by the copy engine dialogs to provide the UI with an appropriate item to display. If no other version can be found, the current item is used.

IDockingWindow

Exposes methods that notify the docking window object of changes, including showing, hiding, and impending removal. This interface is implemented by window objects that can be docked within the border space of a Windows Explorer window.

IDockingWindowFrame

Exposes methods that support the addition of IDockingWindow objects to a frame. Implemented by the browser.

IDockingWindowSite

Exposes methods that manage the border space for one or more IDockingWindow objects. This interface is implemented by the browser and is similar to the IOleInPlaceUIWindow interface.

IDragSourceHelper

Exposed by the Shell to allow an application to specify the image that will be displayed during a Shell drag-and-drop operation.

IDragSourceHelper2

Exposes a method that adds functionality to IDragSourceHelper. This method sets the characteristics of a drag-and-drop operation over an IDragSourceHelper object.

IDropTargetHelper

Exposes methods that allow drop targets to display a drag image while the image is over the target window.

IDynamicHWHandler

Called by AutoPlay. Exposes methods that get dynamic information regarding a registered handler prior to displaying it to the user.

IEnumAssocHandlers

Exposes a method that allows enumeration of a collection of handlers associated with particular file name extensions.

IEnumerableView

Exposes methods that enumerate the contents of a view and receive notification from callback upon enumeration completion. This interface enables clients of a view to attempt to share the view's list of folder contents.

IEnumExplorerCommand

Provided by an IExplorerCommandProvider. This interface contains the enumeration of commands to be put into the command bar.

IEnumExtraSearch

A standard OLE enumerator used by a client to determine the available search objects for a folder.

IEnumFullIDList

Exposes a standard set of methods that enumerate the pointers to item identifier lists (PIDLs) of the items in a Shell folder.

IEnumIDList

Exposes a standard set of methods used to enumerate the PIDLs of the items in a Shell folder. When a folder's IShellFolder::EnumObjects method is called, it creates an enumeration object and passes a pointer to the object's IEnumIDList interface back to the calling application.

IEnumObjects

Exposes methods to enumerate unknown objects.

IEnumPublishedApps

Exposes methods that enumerate published applications to Add/Remove Programs in the Control Panel. The object exposing this interface is requested through IAppPublisher::EnumApps.

IEnumReadyCallback

Exposes methods that enable the view to notify the implementer when the enumeration has completed. The view calls this method to tell the implementer that the enumeration can be retrieved via IEnumerableView::CreateEnumIDListFromContents. The callback allows the implementer to share the views enumeration.

IEnumResources

Exposes resource enumeration methods.

IEnumShellItems

Exposes enumeration of IShellItem interfaces. This interface is typically obtained by calling the IEnumShellItems method.

IEnumSyncMgrConflict

Exposes conflict enumeration methods.

IEnumSyncMgrEvents

Exposes sync event enumeration methods.

IEnumSyncMgrSyncItems

Exposes methods that enumerate the sync item objects managed by the handler.

IExecuteCommand

Exposes methods that set a given state or parameter related to the command verb, as well as a method to invoke that verb.

IExecuteCommandApplicationHostEnvironment

Provides a single method that enables an application to determine whether its host is in desktop or immersive mode.

IExecuteCommandHost

Provides a method that enables an IExplorerCommand-based Shell verb handler to query the UI mode of the host component from which the application was invoked.

IExplorerBrowser

IExplorerBrowser is a browser object that can be either navigated or that can host a view of a data object. As a full-featured browser object, it also supports an automatic travel log.

IExplorerBrowserEvents

Exposes methods for notification of Explorer browser navigation and view creation events.

IExplorerCommand

Exposes methods that get the command appearance, enumerate subcommands, or invoke the command.

IExplorerCommandProvider

Exposes methods to create Explorer commands and command enumerators.

IExplorerCommandState

Exposes a single method that allows retrieval of the command state.

IExplorerPaneVisibility

Used in Windows Explorer by an IShellFolder implementation to give suggestions to the view about what panes are visible. Additionally, an IExplorerBrowser host can use this interface to provide information about pane visibility. The host should implement QueryService with SID_ExplorerPaneVisibility as the service ID. The host must be in the site chain.

The IExplorerPaneVisibility implementation is retrieved from the Shell folder. The Shell folder, in turn, is retrieved from the view. A namespace extension can elect to provide a custom view (IShellView) rather than using the system folder view object (DefView). In that case, the IShellView implementation must include an implementation of IFolderView::GetFolder to return the IExplorerPaneVisibility object.

A namespace extension can provide a custom view by implementing IShellView itself rather than using the system folder view object (DefView). In that case, the IShellView implementation must include an implementation of IFolderView::GetFolder to make use of IExplorerPaneVisibility .

IExtractIcon

Exposes methods that allow a client to retrieve the icon that is associated with one of the objects in a folder.

IExtractImage

Exposes methods that request a thumbnail image from a Shell folder.

IExtractImage2

Extends the capabilities of IExtractImage.

IFileDialog

Exposes methods that initialize, show, and get results from the common file dialog.

IFileDialog2

Extends the IFileDialog interface by providing methods that allow the caller to name a specific, restricted location that can be browsed in the common file dialog as well as to specify alternate text to display as a label on the Cancel button.

IFileDialogControlEvents

Exposes methods that allow an application to be notified of events that are related to controls that the application has added to a common file dialog.

IFileDialogCustomize

Exposes methods that allow an application to add controls to a common file dialog.

IFileDialogEvents

Exposes methods that allow notification of events within a common file dialog.

IFileIsInUse

Exposes methods that can be called to get information on or close a file that is in use by another application. When an application attempts to access a file and finds that file already in use, it can use the methods of this interface to gather information to present to the user in a dialog box.

IFileOpenDialog

Extends the IFileDialog interface by adding methods specific to the open dialog.

IFileOperation

Exposes methods to copy, move, rename, create, and delete Shell items as well as methods to provide progress and error dialogs. This interface replaces the SHFileOperation function.

IFileOperationProgressSink

Exposes methods that provide a rich notification system used by callers of IFileOperation to monitor the details of the operations they are performing through that interface.

IFileSaveDialog

Extends the IFileDialog interface by adding methods specific to the save dialog, which include those that provide support for the collection of metadata to be persisted with the file.

IFileSyncMergeHandler

IFileSystemBindData

Exposes methods that store file system information for optimizing calls to IShellFolder::ParseDisplayName.

IFileSystemBindData2

Extends IFileSystemBindData, which stores file system information for optimizing calls to IShellFolder::ParseDisplayName. This interface adds the ability set or get file ID or junction class identifier (CLSID).

IFileViewer

Exposes methods that designate an interface that allows a registered file viewer to be notified when it must show or print a file.

IFileViewerSite

Exposes methods that designate an interface that allows a file viewer to retrieve the handle to the current pinned window, or to set a new pinned window. The pinned window is the window in which the current file viewer displays a file. When the user selects a new file to view, the Shell directs the file viewer to display the new file in the pinned window rather than create a new window.

IFolderFilter

Exposed by a client to specify how to filter the enumeration of a Shell folder by a server application.

IFolderFilterSite

Exported by a host to allow clients to specify how to filter a Shell folder enumeration.

IFolderView

Exposes methods that retrieve information about a folder's display options, select specified items in that folder, and set the folder's view mode.

IFolderView2

Exposes methods that retrieve information about a folder's display options, select specified items in that folder, and set the folder's view mode.

IFolderViewHost

Exposes a method that hosts an IFolderView object in a window.

IFolderViewOptions

Exposes methods that allow control of folder view options specific to the Windows 7 and later views.

IFolderViewSettings

Exposes methods to obtain folder view settings.

IFrameworkInputPane

Provides methods that enable apps to be informed of state changes and location for the input pane.

IFrameworkInputPaneHandler

Enables an app to be notified when the input pane (the on-screen keyboard or handwriting panel) is being shown or hidden. This allows the app window to adjust its display so that no input areas (such as a text box) are obscured by the input pane.

IHandlerActivationHost

IHandlerInfo

Supplies methods that provide information about the handler to methods of the IHandlerActivationHost interface.

IHomeGroup

Exposes methods that determine a computer's HomeGroup membership status and display the sharing wizard.

IHWEventHandler

Called by AutoPlay to implement the handling of registered media types.

IHWEventHandler2

Extends the IHWEventHandler interface to address User Account Control (UAC) elevation for device handlers.

IIdentityName

Exposes methods to compare two items to see if they are the same.

IImageRecompress

Exposes a method that recompress images.

IInitializeCommand

Exposes a single method used to initialize objects that implement IExplorerCommandState, IExecuteCommand or IDropTarget with the application-specified command name and its registered properties.

IInitializeNetworkFolder

Exposes a method that initializes the network data source CLSID_NetworkPlaces as specified.

IInitializeWithBindCtx

Exposes a method that initializes a handler, such as a property handler, thumbnail handler, or preview handler, with a bind context.

IInitializeWithFile

Exposes a method to initialize a handler, such as a property handler, thumbnail handler, or preview handler, with a file path.

IInitializeWithItem

Exposes a method used to initialize a handler, such as a property handler, thumbnail handler, or preview handler, with an IShellItem.

IInitializeWithPropertyStore

Exposes a method that initializes a handler, such as a property handler, thumbnail handler, or preview handler, with a property store.

IInitializeWithStream

Exposes a method that initializes a handler, such as a property handler, thumbnail handler, or preview handler, with a stream.

IInitializeWithWindow

Exposes a method through which a client can provide an owner window to a Windows Runtime object used in a desktop application.

IInputObject

Exposes methods that change UI activation and process accelerators for a user input object contained in the Shell.

IInputObject2

Exposes a method that extends IInputObject by handling global accelerators.

IInputObjectSite

Exposes a method that is used to communicate focus changes for a user input object contained in the Shell.

IInputPanelConfiguration

Provides functionality for desktop apps to opt in to the focus tracking mechanism used in Windows Store apps.

IInputPanelInvocationConfiguration

Enables Windows Store apps to opt out of the automatic invocation behavior.

IIOCancelInformation

Exposes methods for posting a cancel window message to the process thread from the Progress Dialog.

This interface enables the progress dialog to post a thread message through PostThreadMessage to the worker thread to cancel its operations. The worker thread must periodically check the message queue through GetMessage, PeekMessage or MsgWaitForMultipleObjectsEx.

The IIOCancelInformation::SetCancelInformation method tells the progress dialog which thread ID and what message to PostThreadMessage when the user clicks Cancel. A thread ID of "zero" disables the sending operation for the cancel message.

IItemNameLimits

Retrieves a list of valid and invalid characters or the maximum length of a name in the namespace. Use this interface for validation parsing and translation.

IKnownFolder

Exposes methods that allow an application to retrieve information about a known folder's category, type, GUID, PIDL value, redirection capabilities, and definition. It provides a method for the retrival of a known folder's IShellItem object. It also provides methods to get or set the path of the known folder.

IKnownFolderManager

Exposes methods that create, enumerate or manage existing known folders.

ILaunchSourceAppUserModelId

Provides a method for retrieving an AppUserModelId.

ILaunchSourceViewSizePreference

Provides methods for retrieving information about the source application.

ILaunchTargetMonitor

Provides a method for retrieving the target monitor when launching an application.

ILaunchTargetViewSizePreference

Provides a method for retrieving the preferred view size for a new application window.

IMarkupCallback

IMenuPopup

IMenuPopup may be altered or unavailable.

IModalWindow

Exposes a method that represents a modal window. This interface is used in the Windows XP Passport Wizard.

IMultiMonitorDockingSite

Implemented by the browser. Exposes methods that manage which monitor contains the Windows taskbar on a multiple monitor system.

INamedPropertyBag

Exposes methods that provide an object with a specified property bag in which the object can save its properties.

INamedPropertyStore

Exposes methods that get and set named properties.

INameSpaceTreeAccessible

Exposes methods that perform accessibility actions on a Shell item from a namespace tree control.

INameSpaceTreeControl

Exposes methods used to view and manipulate nodes in a tree of Shell items.

INameSpaceTreeControl2

Extends the INameSpaceTreeControl interface by providing methods that get and set the display styles of treeview controls for use with Shell namespace items.

INameSpaceTreeControlCustomDraw

Exposes methods that enable the user to draw a custom namespace tree control and its items.

INameSpaceTreeControlDropHandler

Exposes handler methods for drag-and-drop. Used by the namespace tree control to notify the client of any drag-and-drop operation happening within the control. Provides a way for a client to intercept a drop operation and perform its own action, or to return the desired drop effect.

INameSpaceTreeControlEvents

Exposes methods for handling INameSpaceTreeControl events.

INameSpaceTreeControlFolderCapabilities

Exposes a single method that retrieves the status of a folder's System.IsPinnedToNameSpaceTree filtering support.

INamespaceWalk

Exposes methods that walk a namespace from a given root node. The depth of the walk is specified and an optional array is returned containing the IDs of all nodes walked.

INamespaceWalkCB

A callback interface exposing methods used with INamespaceWalk. After performing a walk with INamespaceWalk, an IShellFolder object representing the walked nodes is passed to the INamespaceWalkCB methods. What those methods do with the information depends on the object that is implementing them.

INamespaceWalkCB2

Extends INamespaceWalkCB with a method that is required in order to complete a namespace walk. This method removes data collected during the walk.

INewMenuClient

Exposes methods that allow manipulation of items in a Windows 7 menu.

INewShortcutHook

Exposes methods to create a new Internet shortcut.

INewWindowManager

Exposes a method that determines whether a window that is launched by another window should be displayed or blocked, allowing control of pop-up windows.

INotifyReplica

Exposes a method that provides an object's creator with the means to notify the object that it may be subject to subsequent reconciliation. The briefcase reconciler is responsible for implementing this interface.

IObjectArray

Exposes methods that enable clients to access items in a collection of objects that support IUnknown.

IObjectCollection

Extends the IObjectArray interface by providing methods that enable clients to add and remove objects that support IUnknown in a collection.

IObjectProvider

Exposes a method to discover objects that are named with a GUID from another object. Unlike QueryService this interface will not delegate its functionality on to other objects.

IObjectWithAppUserModelID

Exposes methods that allow implementers of a custom IAssocHandler object to provide access to its explicit Application User Model ID (AppUserModelID). This information is used to determine whether a particular file type can be added to an application's Jump List.

IObjectWithBackReferences

Provides a method for interacting with back references held by an object.

IObjectWithCancelEvent

Supplies a caller with an event that will be signaled by the called object to denote cancellation of a task.

IObjectWithFolderEnumMode

Exposes methods that get and set enumeration modes of a parsed item.

IObjectWithProgID

Exposes methods that provide access to the ProgID associated with an object.

IObjectWithPropertyKey

Exposes methods for getting and setting the property key.

IObjectWithSelection

Exposes methods that get or set selected items represented by a Shell item array.

IObjMgr

Exposes methods that allow a client to append or remove an object from a collection of objects managed by a server object.

IOpenControlPanel

Exposes methods that retrieve the view state of the Control Panel, the path of individual Control Panel items, and that open either the Control Panel itself or an individual Control Panel item.

IOpenSearchSource

Exposes a method to get search results from a custom client-side OpenSearch data source.

IOperationsProgressDialog

Exposes methods to get, set, and query a progress dialog.

IPackageDebugSettings

Enables debugger developers to control the life cycle of a Windows Store app, such as suspending or resuming.

IPackageExecutionStateChangeNotification

Enables receiving package state-change notifications during Windows Store app debugging.

IParentAndItem

Exposes methods that get and set the parent and the parent's child ID. While IParentAndItem is typically implemented on IShellItems, it is not specific to IShellItem.

IParseAndCreateItem

IPersistFolder

Exposes a method that initializes Shell folder objects.

IPersistFolder2

Exposes methods that obtain information from Shell folder objects.

IPersistFolder3

Extends the IPersistFolder and IPersistFolder2 interfaces by allowing a folder object to implement nondefault handling of folder shortcuts.

IPersistIDList

Exposes methods that are used to persist item identifier lists.

IPersistSerializedPropStorage

Exposes methods to persist serialized property storage data for later use and to restore persisted data to a new property store instance.

IPersistSerializedPropStorage2

Exposes methods to persist serialized property storage data for later use and to restore persisted data to a new property store instance.

IPlaybackManager

Provides methods that allow media applications to communicate with the Windows playback manager.

IPlaybackManagerEvents

IPreviewHandler

Exposes methods for the display of rich previews.

IPreviewHandlerFrame

Enables preview handlers to pass keyboard shortcuts to the host. This interface retrieves a list of keyboard shortcuts and directs the host to handle a keyboard shortcut.

IPreviewHandlerVisuals

Exposes methods for applying color and font information to preview handlers.

IPreviewItem

Identifies an item that will be shown in the preview pane.

IPreviousVersionsInfo

Exposes a method that checks for previous versions of server files or folders, stored for the purpose of reversion by the shadow copies technology provided with Windows Server 2003.

IPrivateIdentityManager

IPrivateIdentityManager2

IProfferService

Exposes a general mechanism for objects to offer services to other objects on the same host.

IProgressDialog

Exposes methods that provide options for an application to display a progress dialog box. This interface is exported by the progress dialog box object (CLSID_ProgressDialog). This object is a generic way to show a user how an operation is progressing. It is typically used when deleting, uploading, copying, moving, or downloading large numbers of files.

IPublishedApp

Exposes methods that represent applications to Add/Remove Programs in Control Panel.

IPublishedApp2

Extends the IPublishedApp interface by providing an additional installation method.

IPublishingWizard

Exposes methods for working with the Online Print Wizard, the Web Publishing Wizard, and the Add Network Place Wizard. In Windows Vista, IPublishingWizard no longer supports the Web Publishing Wizard or Online Print Wizard.

IQueryAssociations

Exposes methods that simplify the process of retrieving information stored in the registry in association with defining a file type or protocol and associating it with an application.

IQueryCancelAutoPlay

Exposes a method that programmatically overrides AutoPlay or AutoRun. This allows you to customize the location and type of content that is launched when media is inserted.

IQueryCodePage

Gets and sets the numeric value (Code Page identifier) of the ANSI code page.

IQueryContinue

Exposes a method that provides a simple, standard mechanism for objects to query a client for permission to continue an operation. Clients of IUserNotification, for example, must pass an implementation of IQueryContinue to the IUserNotification::Show method.

IQueryContinueWithStatus

Exposes methods that provide a standard mechanism for credential providers to call QueryContinue while attempting to connect to the network, in order to determine if they should continue these attempts. Credential providers can also use this interface to display messages to the user while attempting to establish a network connection.

IQueryInfo

Exposes methods that the Shell uses to retrieve flags and info tip information for an item that resides in an IShellFolder implementation. Info tips are usually displayed inside a tooltip control.

IRelatedItem

Exposes methods that derive related items with specific relationships.

IRemoteComputer

Exposes a method that enumerates or initializes a namespace extension when it is invoked on a remote object. This interface is used, for example, to initialize the remote printers virtual folder.

IResolveShellLink

Exposes a method that enables an application to request that a Shell folder object resolve a link for one of its items.

IResultsFolder

Exposes methods that hold items from a data object.

An IResultsFolder is a folder that can hold items from all over the namespace and represent them to the user in a single folder.

IRunnableTask

A free-threaded interface that can be exposed by an object to allow operations to be performed on a background thread. For example, if the IExtractImage::GetLocation method returns E_PENDING, the calling application is permitted to extract the image on a background thread.

ISearchBoxInfo

Exposes methods that allow the caller to retrieve information entered into a search box.

ISearchContext

Exposes methods that channel customization information to the search hooks.

ISearchFolderItemFactory

Exposes methods that create and modify search folders. The Set methods are called first to set up the parameters of the search. When not called, default values will be used instead. ISearchFolderItemFactory::GetIDList and ISearchFolderItemFactory::GetShellItem return the two forms of the search specified by these parameters.

ISharedBitmap

Exposes memory-efficient methods for accessing bitmaps. This interface is used as a thin wrapper around HBITMAP objects, allowing those objects to be reference counted and protected from having their underlying data changed.

ISharingConfigurationManager

Exposes methods that set and retrieve information about a computer's default sharing settings for the Users (C:\Users) or Public (C:\Users\Public) folder. Also exposes a set of methods that allow control of printer sharing.

IShellApp

Exposes methods that provide general information about an application to the Add/Remove Programs Application. You cannot use it outside the Add/Remove Programs application. The information given by this interface includes a list of supported management actions and whether the application is currently installed.

IShellBrowser

Implemented by hosts of Shell views (objects that implement IShellView). Exposes methods that provide services for the view it is hosting and other objects that run in the context of the Explorer window.

IShellChangeNotify

Exposes a method that notifies a Shell namespace extension when the ID of an item has changed.

IShellDetails

Exposed by Shell folders to provide detailed information about the items in a folder. This is the same information that is displayed by the Windows Explorer when the view of the folder is set to Details. For Windows 2000 and later systems, IShellDetails is superseded by IShellFolder2.

IShellExtInit

Exposes a method that initializes Shell extensions for property sheets, shortcut menus, and drag-and-drop handlers (extensions that add items to shortcut menus during nondefault drag-and-drop operations).

IShellFolder

Exposed by all Shell namespace folder objects, its methods are used to manage folders.

IShellFolder2

Extends the capabilities of IShellFolder. Its methods provide a variety of information about the contents of a Shell folder.

IShellFolderSearchable

Exposes methods that allow a Shell extension to provide a searchable namespace.

IShellFolderSearchableCallback

Exposes callback routines to monitor the search process.

IShellFolderViewCB

Exposes a method that allows communication between Windows Explorer and a folder view implemented using the system folder view object (the IShellView object returned through SHCreateShellFolderView) so that the folder view can be notified of events and modify its view accordingly.

IShellFolderViewDual

Exposes methods that modify the view and select items in the current folder.

IShellFolderViewDual2

Exposes methods that modify the view and select items in the current folder.

IShellFolderViewDual3

Exposes methods that modify the current folder view.

IShellFolderViewType

Exposes methods that enable a Shell folder to support different views on its content (different hierarchical layouts of its data).

IShellIcon

Exposes a method that obtains an icon index for an IShellFolder object.

IShellIconOverlay

Exposes methods that are used by a namespace extension to specify icon overlays for the objects it contains.

IShellIconOverlayIdentifier

Exposes methods that handle all communication between icon overlay handlers and the Shell.

IShellImageDataAbort

Exposes a single method used to abort IShellImageData processes.

IShellImageDataFactory

Exposes methods that create IShellImageData instances based on various image sources.

IShellItem

Exposes methods that retrieve information about a Shell item. IShellItem and IShellItem2 are the preferred representations of items in any new code.

IShellItem2

Extends IShellItem with methods that retrieve various property values of the item. IShellItem and IShellItem2 are the preferred representations of items in any new code.

IShellItemArray

Exposes methods that create and manipulate Shell item arrays.

IShellItemFilter

Exposed by a client to specify how to filter the enumeration of a Shell item by a server application.

IShellItemImageFactory

Exposes a method to return either icons or thumbnails for Shell items. If no thumbnail or icon is available for the requested item, a per-class icon may be provided from the Shell.

IShellItemResources

Exposes methods to manipulate and query Shell item resources.

IShellLibrary

Exposes methods for creating and managing libraries.

IShellLink

Exposes methods that create, modify, and resolve Shell links.

IShellLinkDataList

Exposes methods that allow an application to attach extra data blocks to a Shell link. These methods add, copy, or remove data blocks.

IShellMenu

Exposes methods that interact with Shell menus such as the Start menu, and the Favorites menu.

IShellMenuCallback

A callback interface that exposes a method that receives messages from a menu band.

IShellPropSheetExt

Exposes methods that allow a property sheet handler to add or replace pages in the property sheet displayed for a file object.

IShellRunDll

IShellView

Exposes methods that present a view in the Windows Explorer or folder windows.

IShellView2

Extends the capabilities of IShellView.

IShellView3

Extends the capabilities of IShellView2 by providing a method to replace IShellView2::CreateViewWindow2.

IShellWindows

Provides access to the collection of open Shell windows.

IStartMenuPinnedList

Exposes a method that unpins an application shortcut from the Start menu or the taskbar.

IStreamAsync

Exposes methods to manage input/outpout (I/O) to an asynchronous stream.

IStreamUnbufferedInfo

Exposes a method that determines the sector size as an aid to byte alignment.

ISuspensionDependencyManager

Exposes methods that allow an application to identify and manage groups of processes that can be suspended separately from one another.

ISyncMgrConflict

Exposes methods that provide information about a conflict retrieved from a conflict store, and allows the conflict to be resolved.

ISyncMgrConflictFolder

Exposes a method that gets the conflict ID list for a conflict object.

ISyncMgrConflictItems

Exposes methods that get conflict item data and item count.

ISyncMgrConflictPresenter

Exposes a method that presents a conflict to the user.

ISyncMgrConflictResolutionItems

Exposes methods that get item info and item count.

ISyncMgrConflictResolveInfo

Exposes methods that get and set information about sync manager conflict resolution.

ISyncMgrConflictStore

Exposes methods that allow a handler to provide conflicts that appear in the Conflicts folder.

ISyncMgrControl

Exposes methods that allow an application or handler to start or stop a synchronization, notify Sync Center of changes to the set of handlers or items, or notify of changes to property values.

ISyncMgrEnumItems

Exposes methods that enumerate through an array of SYNCMGRITEM structures. Each of these structures provides information about an item that can be synchronized. ISyncMgrEnumItems has the same methods as all standard enumerator interfaces: Next, Skip, Reset, and Clone.

ISyncMgrEvent

Exposes methods that retrieve data from an event store. An event store allows Sync Center to get an enumerator of all events in the store, as well as to retrieve individual events.

ISyncMgrEventLinkUIOperation

Provides a method that is called when event links are clicked in the sync results folder.

ISyncMgrEventStore

Exposes methods that allow a handler to provide its own event store and manage its own sync events, instead of using the default Sync Center event store. These events are displayed in the Sync Results folder.

ISyncMgrHandler

Exposes methods that make up the primary interface implemented by a sync handler. Sync Center creates one instance of the handler through this interface to get properties, enumerate sync items, and modify state. Sync Center creates a separate instance of the handler on a separate thread to perform a synchronization or a UI operation.

ISyncMgrHandlerCollection

Exposes methods that provide an enumerator of sync handler IDs and instantiate those sync handlers.

ISyncMgrHandlerInfo

Exposes methods that allow a handler to provide property and state information to Sync Center.

ISyncMgrRegister

Exposes methods so that an application can register with the synchronization manager. This can be achieved either through the ISyncMgrRegister interface or by registering directly in the registry.

ISyncMgrResolutionHandler

Exposes methods that manage synchronizing conflicts. Implement this interface to construct a sync conflict handler. The conflict resolution user interface (UI) will call this interface to resolve the conflict presented to the user.

ISyncMgrScheduleWizardUIOperation

Exposes a method that allows a handler to display the sync schedule wizard for the handler.

ISyncMgrSessionCreator

Exposes a single method through which a handler or external application can notify Sync Center that synchronization has begun, as well as report progress and events.

ISyncMgrSyncCallback

Exposes methods that allow a synchronization process to report progress and events to Sync Center, or to query whether the process has been canceled.

ISyncMgrSynchronize

Exposes methods that enable the registered application or service to receive notifications from the synchronization manager.

ISyncMgrSynchronizeCallback

Exposes methods that manage the synchronization process.

ISyncMgrSynchronizeInvoke

Exposes methods that enable a registered application to invoke the synchronization manager to update items.

ISyncMgrSyncItem

Exposes methods that act on and retrieve information from a single sync item, allowing handlers to manage sync items as independent objects.

ISyncMgrSyncItemContainer

Exposes methods that provide information to handlers about the items they contain.

ISyncMgrSyncItemInfo

Exposes methods that provide property and state information for a single sync item.

ISyncMgrSyncResult

Exposes a method that applications calling ISyncMgrControl can use to get the result of a ISyncMgrControl::StartHandlerSync or ISyncMgrControl::StartItemSync call.

ISyncMgrUIOperation

Exposes a method through which a sync handler or sync item can display a UI object when requested to do so by Sync Center.

ITaskbarList

Exposes methods that control the taskbar. It allows you to dynamically add, remove, and activate items on the taskbar.

ITaskbarList2

Extends the ITaskbarList interface by exposing a method to mark a window as a full-screen display.

ITaskbarList3

Extends ITaskbarList2 by exposing methods that support the unified launching and switching taskbar button functionality added in Windows 7. This functionality includes thumbnail representations and switch targets based on individual tabs in a tabbed application, thumbnail toolbars, notification and status overlays, and progress indicators.

ITaskbarList4

Extends ITaskbarList3 by providing a method that allows the caller to control two property values for the tab thumbnail and peek feature.

IThumbnailCache

Exposes methods for a system thumbnail cache that is shared across applications.

IThumbnailCachePrimer

IThumbnailHandlerFactory

Exposes a method for retrieving the thumbnail handler of an item. Implement this interface if you want to specify what extractor is used for a child IDList.

IThumbnailProvider

Exposes a method for getting a thumbnail image.

IThumbnailSettings

Provides a method that enables a thumbnail provider to determine the user context of a thumbnail request.

ITrackShellMenu

Exposes methods that extend the IShellMenu interface by providing the ability to coordinate toolbar buttons with a menu as well as display a pop-up menu.

ITranscodeImage

Exposes a method that allows conversion to JPEG or bitmap (BMP) image formats from any image type supported by Windows.

ITransferAdviseSink

Exposes methods supporting status collection and failure information.

ITransferDestination

Exposes methods that create a destination Shell item for a copy or move operation. This interface is provided to allow more control over file operations by providing an ITransferDestination::Advise method.

ITransferMediumItem

Used by a copy engine to get the item on which to call QueryInterface to return a pointer to interface ITransferDestination or interface ITransferSource. These interfaces can be queried and enumerated for copy, move, or delete operations.

ITransferSource

Exposes methods to manipulate IShellItem, including copy, move, recycle, and others. This interface is offered to provide more control over file operations by providing an ITransferSource::Advise method.

ITrayDeskBand

Exposes methods that show, hide, and query deskbands.

IUpdateIDList

Provides a method to update the ITEMIDLIST of the child of an folder object.

IURLSearchHook

Exposes a method that is used by the browser to translate the address of an unknown URL protocol.

IURLSearchHook2

Exposes a method that is used by the browser to translate the address of an unknown URL protocol by using a search context object.

IUserAccountChangeCallback

Exposes a method which is called when the picture that represents a user account is changed.

IUserNotification

Exposes methods that set notification information and then display that notification to the user in a balloon that appears in conjunction with the notification area of the taskbar.

Note  IUserNotification2 differs from IUserNotification only in its Show method, which adds an additional parameter for a callback interface to communicate with the notification. Otherwise the two interfaces are identical in form and function. CLSID_UserNotification implements both versions of Show as an overload.

IUserNotification2

Exposes methods that set notification information and then display that notification to the user in a balloon that appears in conjunction with the notification area of the taskbar.

Note  IUserNotification2 does not inherit from IUserNotification. IUserNotification2 differs from IUserNotification only in its Show method, which adds an additional parameter for a callback interface to communicate with the notification. Otherwise the two interfaces are identical in form and function. CLSID_UserNotification implements both versions of Show as an overload.

IUserNotificationCallback

Exposes a method for the handling of a mouse click or shortcut menu access in a notification balloon. Used with IUserNotification2::Show.

IUseToBrowseItem

Finds the item that should be used when browsing to this item.

IViewStateIdentityItem

Provides a canonical persistence item, an item for which view customizations will be remembered.

IVisualProperties

Exposes methods that set and get visual properties.

IWebWizardExtension

Extends the IWizardExtension interface by exposing methods to set the wizard extension's initial URL, and a specific URL in case of an error.

IWizardExtension

Used by wizards such as the Web Publishing Wizard and Online Print Ordering Wizard which host server-side content pages. This interface exposes methods to specify supported extension pages and to navigate into and out of those pages.

IWizardSite

Exposes methods used by a wizard extension to navigate the borders between itself and the rest of the wizard.

 

 

 

Community Additions

ADD
Show:
© 2014 Microsoft