IVsHierarchy Interface

Definição

Fornece gerenciamento de hierarquia para VSPackages que implementam hierarquias de projeto.

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
Derivado
Atributos

Comentários

A IVsHierarchy interface é uma interface genérica para uma hierarquia de nós. Cada nó, incluindo o nó raiz, pode ter propriedades arbitrárias associadas a ele. Cada nó no objeto de hierarquia é identificado usando um cookie ( VSITEMID ), que indica um nó específico. Esse cookie é invisível para o consumidor do IVsHierarchy e geralmente é um ponteiro para alguns dados privados mantidos pela implementação da hierarquia.

Um VSITEMID é uma DWORD identificação exclusiva de um nó dentro de uma hierarquia. Os ItemIds de um IVsHierarchy não podem ser passados para outra hierarquia. Além disso, observe que os ItemIds têm um tempo de vida limitado, conforme indicado pelos eventos acionados pela hierarquia, de modo que a retenção de ItemIds por longas duração exigirá o coletor desses eventos ou a conversão de ItemId em um formulário canônico e persistente.

Um item em uma hierarquia pode ser um nó folha, um contêiner de outros itens ou um link para alguma outra hierarquia usando GetNestedHierarchy .

A IVsHierarchy interface não é usada somente para hierarquias de projeto. Por exemplo, a janela Gerenciador de servidores implementa a IVsHierarchy interface para exibir sua hierarquia, que não é uma hierarquia de projeto.

Há ocasiões em que é útil consultar uma hierarquia sobre vários nós virtuais, como a própria hierarquia ou os nós selecionados na hierarquia. Onde esses nós virtuais são potencialmente de interesse, um dos valores predefinidos VSITEMID pode ser passado.

O ambiente exibe um projeto como uma hierarquia, ou seja, uma árvore de nós em que os nós são itens de projeto. Cada nó também tem um conjunto de propriedades associadas e fornece gerenciamento de hierarquia para VSPackages que implementam hierarquias de projeto.

Notas aos Implementadores

Implementado por VSPackages que criam sua própria hierarquia de projeto.

Notas aos Chamadores

Chamado pelo ambiente para obter e definir propriedades de hierarquia.

Métodos

AdviseHierarchyEvents(IVsHierarchyEvents, UInt32)

Estabelece a notificação de cliente de eventos de hierarquia sem a implementação da hierarquia IConnectionPointContainer .

Close()

Fecha e limpa uma hierarquia quando o ambiente determina que ela não é mais usada.

GetCanonicalName(UInt32, String)

Retorna um nome de cadeia de caracteres exclusivo para um item na hierarquia. Usado para persistência do espaço de trabalho, como memorizar posições de janela.

GetGuidProperty(UInt32, Int32, Guid)

Obtém as propriedades cujos valores são GUIDs.

GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

Torna possível que um nó de uma determinada hierarquia seja um atalho para o meio de outra hierarquia.

GetProperty(UInt32, Int32, Object)

Obtém as propriedades de um determinado nó ou da hierarquia.

GetSite(IServiceProvider)

Obtém o provedor de serviços do qual acessar os serviços.

ParseCanonicalName(String, UInt32)

Retorna o identificador do item de hierarquia, dado seu nome canônico.

QueryClose(Int32)

Determina se a hierarquia fornecida pode ser fechada.

SetGuidProperty(UInt32, Int32, Guid)

Define propriedades cujos valores são GUIDs.

SetProperty(UInt32, Int32, Object)

Define as propriedades de um nó específico ou da hierarquia.

SetSite(IServiceProvider)

Define o provedor de serviços do qual acessar os serviços.

UnadviseHierarchyEvents(UInt32)

Desabilita a notificação do cliente de eventos de hierarquia sem exigir que a hierarquia seja implementada IConnectionPointContainer .

Unused0()

Adiciona novos métodos sem recompilar ou interromper a compatibilidade binária.

Unused1()

Adiciona novos métodos sem recompilar ou interromper a compatibilidade binária.

Unused2()

Adiciona novos métodos sem recompilar ou interromper a compatibilidade binária.

Unused3()

Adiciona novos métodos sem recompilar ou interromper a compatibilidade binária.

Unused4()

Adiciona novos métodos sem recompilar ou interromper a compatibilidade binária.

Métodos de Extensão

IsCapabilityMatch(IVsHierarchy, String)

Verifica se um determinado projeto corresponde aos requisitos prescritos em uma expressão AppliesTo.

EnumImportingProjects(IVsHierarchy)

Enumera todos os projetos que estão importando ativos compartilhados pertencentes à hierarquia de projeto compartilhada fornecida.

EnumOwningProjectsOfSharedAssets(IVsHierarchy)

Enumera todos os projetos compartilhados que possuem e gerenciam os ativos compartilhados que estão sendo importados pelo projeto especificado.

GetActiveProjectContext(IVsHierarchy)

Obtém o contexto do projeto ativo.

GetSharedItemsImportFullPaths(IVsHierarchy)

Obtém os caminhos completos dos arquivos ". projitems" compartilhados importados pelo projeto especificado.

IsProjectImportingSharedAssets(IVsHierarchy)

O projeto fornecido está importando ativos compartilhados?

IsSharedAssetsProject(IVsHierarchy)

O projeto fornecido é um projeto compartilhado?

SetActiveProjectContext(IVsHierarchy, IVsHierarchy)

Define o contexto do projeto ativo.

Aplica-se a