Shell Interfaces
This section describes the Windows Shell interfaces.
In this section
Topic | Description |
---|---|
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: As of Windows 8, the only functionality of this interface that is supported is QueryCurrentDefault. |
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. |
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 specify 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. |
ICreatingProcess |
Used by ShellExecuteEx and IContextMenu to allow the caller to alter some parameters of the process being created. |
ICreateProcessInputs |
Used by the ICreatingProcess interface to alter some parameters of the process that is being created. |
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 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 UI or Credential UI. |
ICredentialProviderCredentialEvents2 |
Extends the ICredentialProviderCredentialEvents interface by adding methods that enable batch updating of fields in theLogon UI 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. |
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 retrieval 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 |
|
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 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. |
IStorageProviderCopyHook |
Exposes a method that determines whether the Shell will be allowed to move, copy, delete, or rename a folder in a cloud provider's sync root. |
IStorageProviderHandler |
Retrieves the IStorageProviderPropertyHandler associated with a specific file or folder. |
IStorageProviderPropertyHandler |
Provides a collection of properties associated with a file or folder. |
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 |
|
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 and is intended to be implemented for thumbnail handlers. The object that implements this interface must also implement IInitializeWithStream. |
IThumbnailSettings |
Provides a method that enables a thumbnail provider to determine the user context of a thumbnail request. |
IThumbnailStreamCache |
Gets or sets the thumbnail stream. This interface is for internal use only and can only be called by the photos application. |
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 a 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. |
IVirtualDesktopManager |
Exposes methods that enable an application to interact with groups of windows that form virtual workspaces. |
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. |
TaskCompletionClient |
Enables task completion. |