Поделиться через


Интерфейс IIdentityName (shobjidl_core.h)

Предоставляет методы для сравнения двух элементов, чтобы узнать, совпадают ли они.

Наследование

Интерфейс IIdentityName наследуется от интерфейса IRelatedItem.

Комментарии

Этот интерфейс предоставляет только методы интерфейса IRelatedItem , от которого он наследуется.

Источники данных оболочки, которые представляют элементы в виртуальных расположениях, такие как результаты поиска, обычно реализуют этот интерфейс в качестве обработчика для обнаружения фактического расположения элемента— для поиска папки, содержащей файл. Например, этот интерфейс используется для реализации команды Открыть расположение файла в проводнике Windows. Когда пользователь щелкает правой кнопкой мыши файл в наборе результатов поиска, например, и выбирает команду Открыть расположение файла, команда использует IIdentityName для получения истинного элемента и открывает браузер в его родительской папке (папке файлов), а не открывает родительский элемент элемента (где пользователь уже находится).

Некоторые элементы управления (кнопка "Пуск " на панели задач и элемент управления пространством имен) используют IIdentityName для получения исходного элемента и, таким образом, избежать дублирования элементов.

Этот интерфейс полезен для списков идентификаторов с псевдонимами (тип ITEMIDLIST), как показано в следующих двух списках.

  1. [компьютер] [c:] [пользователи] [pat] [desktop] [myfile.txt]. Это файл на рабочем столе пользователя, который обрабатывается реализацией IShellFolder в Windows Vista, которая обрабатывает файловые системы.
  2. [desktop] [myfile.txt]. Реализация IShellFolder за рабочим столом отображает файлы с рабочего стола пользователя, всех рабочих столов пользователя и некоторые специальные элементы, такие как корзина. При запросе выполнить привязку через IShellFolder::BindToObject с помощью IID IID_IIdentityName, эта папка IShellFolder возвращает базовый элемент, который является элементом папки файлов непосредственно выше.
Примечание Чтобы получить экземпляр этого обработчика, используйте IShellFolder::BindToObject с IID_IIdentityItem или iShellItem::BindToHandler с BHID_SFObject.
 

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h