IObjectWithAppUserModelID interface (shobjidl_core.h)
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.
Inheritance
The IObjectWithAppUserModelID interface inherits from the IUnknown interface. IObjectWithAppUserModelID also has these types of members:
Methods
The IObjectWithAppUserModelID interface has these methods.
IObjectWithAppUserModelID::GetAppID Retrieves a file type handler's explicit Application User Model ID (AppUserModelID), if one has been declared. |
IObjectWithAppUserModelID::SetAppID Specifies a unique application-defined Application User Model ID (AppUserModelID) that identifies the object as a handler for a specific file type. This method is used by applications that require dynamic AppUserModelIDs. |
Remarks
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 implementation 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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 7 [desktop apps only] |
Minimum supported server | Windows Server 2008 R2 [desktop apps only] |
Target Platform | Windows |
Header | shobjidl_core.h (include Shobjidl.h) |