IVsHierarchy Интерфейс

Определение

Предоставляет управление иерархией для пакетов VSPackage, реализующих иерархии проектов.

public interface class IVsHierarchy
public interface class IVsHierarchy
__interface IVsHierarchy
[System.Runtime.InteropServices.ComConversionLoss]
[System.Runtime.InteropServices.Guid("59B2D1D0-5DB0-4F9F-9609-13F0168516D6")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsHierarchy
[<System.Runtime.InteropServices.ComConversionLoss>]
[<System.Runtime.InteropServices.Guid("59B2D1D0-5DB0-4F9F-9609-13F0168516D6")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsHierarchy = interface
Public Interface IVsHierarchy
Производный
Атрибуты

Комментарии

IVsHierarchyИнтерфейс является универсальным интерфейсом к иерархии узлов. Каждый узел, включая корневой узел, может связывать с ним произвольные свойства. Каждый узел в объекте иерархии определяется с помощью файла cookie ( VSITEMID ), который указывает на конкретный узел. Этот файл cookie невидим для потребителя IVsHierarchy и обычно является указателем на некоторые закрытые данные, поддерживаемые реализацией иерархии.

Объект VSITEMID — это DWORD уникальная идентификация узла в иерархии. Итемидс из одного IVsHierarchy не может быть передана в другую иерархию. Кроме того, обратите внимание, что итемидс имеет ограниченное время существования, как указано событиями, возникающими в иерархии, поэтому для длительных длительностей для итемидс требуется либо приведение этих событий, либо преобразование ItemId в каноническую сохраняемую форму.

Элемент в иерархии может быть конечным узлом, контейнером других элементов или ссылкой на другую иерархию с помощью GetNestedHierarchy .

IVsHierarchyИнтерфейс не используется только для иерархий проектов. Например, окно Обозреватель сервера реализует IVsHierarchy интерфейс для вывода его иерархии, которая не является иерархией проекта.

Иногда бывает полезно выполнять запросы к иерархии по различным виртуальным узлам, таким как сама иерархия или выбранные узлы в иерархии. Если такие виртуальные узлы потенциально представляют интерес, VSITEMID может быть передано одно из предопределенных значений.

Среда просматривает проект как иерархию, то есть дерево узлов, в котором узлы являются элементами проекта. Каждый узел также имеет набор связанных свойств и предоставляет управление иерархией для пакетов VSPackage, реализующих иерархии проектов.

Примечания для тех, кто реализует этот метод

Реализуется пакетом VSPackage, который создает собственную иерархию проекта.

Примечания для тех, кто вызывает этот метод

Вызывается средой для получения и задания свойств иерархии.

Методы

AdviseHierarchyEvents(IVsHierarchyEvents, UInt32)

Задает уведомление клиента о событиях иерархии без реализации иерархией класса IConnectionPointContainer.

Close()

Закрывает и очищает иерархию, когда среда определяет, что она больше не используется.

GetCanonicalName(UInt32, String)

Возвращает уникальное строковое имя для элемента в иерархии. Используется для сохранения рабочей области, например запоминания позиций окон.

GetGuidProperty(UInt32, Int32, Guid)

Получает свойства, значениями которых являются идентификаторы GUID.

GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

Позволяет узлу данной иерархии функционировать как ярлык в середине другой иерархии.

GetProperty(UInt32, Int32, Object)

Получает свойства заданного узла или иерархии.

GetSite(IServiceProvider)

Получает поставщик службы, через который осуществляется доступ к службам.

ParseCanonicalName(String, UInt32)

Возвращает идентификатор элемента иерархии, заданного его каноническим именем.

QueryClose(Int32)

Определяет, можно ли закрыть указанную иерархию.

SetGuidProperty(UInt32, Int32, Guid)

Задает свойства, значениями которых являются идентификаторы GUID.

SetProperty(UInt32, Int32, Object)

Задает свойства конкретного узла или иерархии.

SetSite(IServiceProvider)

Задает поставщик службы, через который осуществляется доступ к службам.

UnadviseHierarchyEvents(UInt32)

Отключает уведомления клиента событий иерархии без запроса реализации IConnectionPointContainer иерархии.

Unused0()

Добавляет новые методы без повторной компиляции и прерывания совместимости на уровне двоичного кода.

Unused1()

Добавляет новые методы без повторной компиляции и прерывания совместимости на уровне двоичного кода.

Unused2()

Добавляет новые методы без повторной компиляции и прерывания совместимости на уровне двоичного кода.

Unused3()

Добавляет новые методы без повторной компиляции и прерывания совместимости на уровне двоичного кода.

Unused4()

Добавляет новые методы без повторной компиляции и прерывания совместимости на уровне двоичного кода.

Методы расширения

IsCapabilityMatch(IVsHierarchy, String)

Проверяет, соответствует ли заданный проект требованиям, предписанным в выражении AppliesTo.

EnumImportingProjects(IVsHierarchy)

Перечисляет все проекты, которые импортируют общие ресурсы, принадлежащие данной иерархии общих проектов.

EnumOwningProjectsOfSharedAssets(IVsHierarchy)

Перечисляет все общие проекты, которые владеют и управляют общими ресурсами, импортируемыми данным проектом.

GetActiveProjectContext(IVsHierarchy)

Возвращает активный контекст проекта.

GetSharedItemsImportFullPaths(IVsHierarchy)

Возвращает полные пути к общим файлам ". прожитемс", импортированным данным проектом.

IsProjectImportingSharedAssets(IVsHierarchy)

Заданный проект импортирует общие ресурсы?

IsSharedAssetsProject(IVsHierarchy)

Является ли данный проект общим проектом?

SetActiveProjectContext(IVsHierarchy, IVsHierarchy)

Задает активный контекст проекта.

Применяется к