IObjectWithAppUserModelID interface

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.


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


The IObjectWithAppUserModelID interface has these methods.


Retrieves a file type handler's explicit AppUserModelID, if one has been declared.


Specifies a unique application-defined AppUserModelID that identifies the object as a handler for a specific file type. This method is used by applications that require dynamic AppUserModelIDs.



Only file types for which an application is a registered handler appear in that application's Jump List. When an application uses an explicit AppUserModelID to identify itself and the windows and processes that belong to it, that AppUserModelID must also be set in a handler's implemention so that the handler is recognized as being associated with that application. When the application accesses a file such that SHAddToRecentDocs is called as a result, an attempt is made to add the file to the Recent or Frequent category, or possibly a custom category, in that application's Jump List. If the application is a registered handler for that file type, identified as such by the handler's AppUserModelID matching the application's AppUserModelID, that file is added to the Jump List. If not, it is filtered and does not appear.

When to Implement

An implementation of this interface is provided in Windows. Applications that create custom Shell folders that expose an association handler enumeration needed by the system to determine the files allowed in the application's Jump List should implement their own versions.

When to Use

This object is needed only if your application is using explicit AppUserModelIDs. Without an explicit AppUserModelID to expose, there is no need for this object.

IObjectWithAppUserModelID is always used as part of a larger object that uses explicit AppUserModelIDs and wants to expose that information to the system.

The system calls the IObjectWithAppUserModelID::GetAppID method implemented on a handler to determine whether the application is a registered handler for a file type.


Minimum supported client

Windows 7 [desktop apps only]

Minimum supported server

Windows Server 2008 R2 [desktop apps only]








Shell32.dll (version 6.1 or later)

See also

Taskbar Extensions
Application User Model IDs (AppUserModelIDs)