Udostępnij za pośrednictwem


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

 

Tworzy węzeł w danej hierarchii jako skrót do środka innej hierarchii.

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)

Składnia

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

Parametry

  • itemid
    Type: System.UInt32

    [in] Identyfikator elementu węzła, którego zażądane hierarchia zagnieżdżonych. Aby uzyskać listę itemid wartości, zobacz VSITEMID.

  • iidHierarchyNested
    Type: System.Guid

    [in] Identyfikator interfejsu w ppHierarchyNested. Aby zaimplementować, najpierw Pobierz obiekt, który reprezentuje hierarchia zagnieżdżonych i uruchom QueryInterface na niej w celu uzyskania interfejsu identyfikator (IID). Następnie należy przekazać IID przy użyciu iidHierarchyNested. Wynik QueryInterface przechodzi w tryb wywołania ppHierarchyNested.

  • ppHierarchyNested
    Type: System.IntPtr

    [out, iid_is(iidHierarchyNested)] Wskaźnik do interfejsu, którego identyfikator został przekazany w iidHierarchyNested.

  • pitemidNested
    Type: System.UInt32

    [out] Wskaźnik do identyfikatora elementu węzła głównego hierarchii zagnieżdżonych. Aby uzyskać listę pitemidnested wartości, zobacz VSITEMID. Interfejs jest skonfigurowany do obsługi shortcutting do dowolnego węzła w innej hierarchii, środowisko aktualnie obsługuje tylko shortcutting do węzła głównego hierarchii zagnieżdżone, w którym to przypadku pitemidNested musi być równa VSITEMID_ROOT.

Wartość zwracana

Type: System.Int32

Jeśli itemid nie jest hierarchia zagnieżdżonych, Metoda ta zwraca E_FAIL. Jeśli żądany interfejs nie jest obsługiwany w obiekcie hierarchii E_NOINTERFACE jest zwracana. Obiekt wywołujący może następnie traktować ten węzeł tak, jakby był bez żadnych elementów podrzędnych, jeśli żądany interfejs był essential (jak często w przypadku gdy żądany interfejs jest IID_IVsUIHierarchy).

Uwagi

Hierarchie mogą być zagnieżdżane w innych hierarchii. Na przykład można utworzyć hierarchię nadrzędny o nazwie 1 hierarchii. Jeśli hierarchia 1 zawiera dwa elementy, element A i B elementu hierarchia zagnieżdżonych z elementu B są zagnieżdżone hierarchii (o nazwie hierarchii 2) ma dwa identyfikatory:

Element B w hierarchii 1

Główny hierarchii 2

Użyj IVsHierarchy::GetNestedHierarchy metodę, aby określić, czy danej hierarchii jest hierarchia zagnieżdżonych. W powyższym przykładzie, należy określić itemid odpowiadający B elementu w hierarchii 1, a metoda zwróci głównego hierarchii 2. Ta metoda umożliwia mieć dwa różne hierarchie implementacji powodów, nawet jeśli użytkownikowi hierarchia zagnieżdżonych wygląda podrzędnych hierarchii nadrzędny.

Jeśli wartość zwracana jest E_NOINTERFACE i żądany interfejs jest niezbędne, jak często w przypadku gdy żądany interfejs jest IID_IVsUIHierarchy, obiekt wywołujący traktuje ten węzeł tak, jakby nie ma podrzędnych węzłów i nie jest hierarchią zagnieżdżonych.

Z zagnieżdżonych hierarchiami hierarchię nadrzędną można zastąpić zachowanie jego zagnieżdżonej hierarchii. W związku z tym Jeśli polecenie wykonane w elemencie hierarchia zagnieżdżonych hierarchii nadrzędny może pierwszej szansy w odpowiedzi na polecenie.

Podpis COM

Z vsshell.idl:

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

Zobacz też

Interfejs IVsHierarchy
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku