IIdentityName interface (shobjidl_core.h)

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


The IIdentityName interface inherits from the IRelatedItem interface.


This interface provides only the methods of the IRelatedItem interface, from which it inherits.

Shell data sources that present items in virtual locations, such as search results, typically implement this interface as a handler to discover the actual location of an item—to find a folder that contains a file. For example, this interface is used to implement the Open File Location command in Windows Explorer. When the user right-clicks on a file in a set of search results, for example, and then selects Open File Location, the command uses IIdentityName to get the true item and opens a browser on its parent (the file folder) instead of opening the parent of the item (which is where the user already is).

Several controls (the Start button on the taskbar, and the namespace control) use IIdentityName to get the original item and thus avoid duplicate items.

This interface is helpful with aliased ID lists (type ITEMIDLIST), as can be demonstrated using the following two lists.

  1. [computer][c:][users][pat][desktop][myfile.txt]. This is a file in the user's desktop and is handled by the IShellFolder implementation in Windows Vista that handles file systems.
  2. [desktop][myfile.txt]. The IShellFolder implementation behind the desktop shows files from the user's desktop, all of the user's desktop, and some special items like the Recycle Bin. When asked to bind through IShellFolder::BindToObject using IID IID_IIdentityName, this IShellFolder returns the underlying item, which is the file folder item just above.
Note  To get an instance of this handler use IShellFolder::BindToObject with IID_IIdentityItem or use IShellItem::BindToHandler with BHID_SFObject.


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h