Compartilhar via


Método IVsUIHierarchy.GetNestedHierarchy (UInt32, Guid, IntPtr, UInt32)

 

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

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

int GetNestedHierarchy(
    uint itemid,
    [InAttribute] ref Guid iidHierarchyNested,
    out IntPtr ppHierarchyNested,
    out uint pitemidNested
)
int GetNestedHierarchy(
    unsigned int itemid,
    [InAttribute] Guid% iidHierarchyNested,
    [OutAttribute] IntPtr% ppHierarchyNested,
    [OutAttribute] unsigned int% pitemidNested
)
abstract GetNestedHierarchy : 
        itemid:uint32 *
        iidHierarchyNested:Guid byref *
        ppHierarchyNested:nativeint byref *
        pitemidNested:uint32 byref -> int
Function GetNestedHierarchy (
    itemid As UInteger,
    <InAttribute> ByRef iidHierarchyNested As Guid,
    <OutAttribute> ByRef ppHierarchyNested As IntPtr,
    <OutAttribute> ByRef pitemidNested As UInteger
) As Integer

Parâmetros

  • itemid
    [in] Identificador de item do nó cujas informações de hierarquia aninhada são solicitadas.Para obter uma lista de itemid valores, consulte VSITEMID.
  • iidHierarchyNested
    [in] Identificador da interface a ser retornado em ppHierarchyNested.Para implementar, obter o objeto que representa a hierarquia aninhada e executar IUnknown::QueryInterface sobre ele para obter a interface ID (IID).Em seguida, passar a IID com iidHierarchyNested.O resultado do QueryInterface chamada entra em ppHierarchyNested.
  • ppHierarchyNested
    [out, iid_is(iidHierarchyNested)] Ponteiro para a interface cujo identificador foi aprovado em iidHierarchyNested.
  • pitemidNested
    [out] Ponteiro para um identificador de item do nó raiz da hierarquia aninhada.Para obter uma lista de pitemidnested valores, consulte VSITEMID.Embora a interface estiver configurada para oferecer suporte à criação de atalhos para qualquer nó em outra hierarquia, o ambiente atualmente suporta apenas a criação de atalhos para o nó raiz da hierarquia aninhada, caso em que pitemidNested deve ser definido como VSITEMID_ROOT.

Valor de retorno

Type: System.Int32

Se itemid não é uma hierarquia aninhada, esse método retorna E_FAIL.Se a operação solicitada não é suportada no objeto de hierarquia, E_NOINTERFACE é retornado.O chamador seria trate este nó como se ele tivesse sem filhos, se a interface solicitada tivesse sido essencial (como costuma ocorrer quando a operação solicitada é IID_IVsUIHierarchy).

Implementações

IVsHierarchy.GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

Comentários

COM assinatura

De vsshell.idl:

HRESULT IVsUIHierarchy::GetNestedHierarchy(
   [in] VSITEMID itemid,
   [in] REFIID iidHierarchyNested,
   [out, iid_is(iidHierarchyNested)] void **ppHierarchyNested,
   [out] VSITEMID *pitemidNested
);

As hierarquias podem ser aninhadas com outras hierarquias.Por exemplo, você pode criar uma hierarquia pai chamada 1 da hierarquia.Se a hierarquia 1 contém dois itens, Item de a e b do Item, com o Item B, sendo uma hierarquia aninhada (chamada hierarquia 2) a hierarquia aninhada tem dois identificadores:

Item b na hierarquia 1

Raiz da hierarquia de 2

Use o IVsHierarchy.GetNestedHierarchy método para determinar se uma determinada hierarquia é uma hierarquia aninhada.No exemplo acima, você especificaria o itemid correspondente ao Item B na hierarquia 1 e o método retornaria a raiz da hierarquia 2.Esse método permite que você tenha duas hierarquias diferentes por motivos de implementação, mesmo que para o usuário a hierarquia aninhada é igual a um filho da hierarquia pai.

Se o valor de retorno é E_NOINTERFACE e a operação solicitada é essencial, assim como acontece com freqüência quando a operação solicitada é IID_IVsUIHierarchy, o chamador trata este nó como se ele não tem nós filhos e não é uma hierarquia aninhada.

Com hierarquias aninhadas, a hierarquia pai pode substituir o comportamento de qualquer uma das suas hierarquias aninhadas.Assim, se um comando for executado em um item na hierarquia aninhada, hierarquia pai é permitida a primeira chance de responder a esse comando.

Consulte também

Interface IVsUIHierarchy
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo