Udostępnij za pośrednictwem


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

 

Dzięki węzła w danej hierarchii się 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
    [w] Identyfikator elementu węzeł, w których zażądane zagnieżdżoną hierarchię.Aby uzyskać listę itemid wartości, zobacz VSITEMID.
  • iidHierarchyNested
    [w] Identyfikator interfejsu, które mają być zwrócone w ppHierarchyNested.Aby zaimplementować, najpierw uzyskać obiekt, który reprezentuje zagnieżdżoną hierarchię i uruchom IUnknown::QueryInterface w celu uzyskania interfejsu (IID) identyfikator.Następnie, przekazać IID z iidHierarchyNested.Wynik QueryInterface połączenie przechodzi w ppHierarchyNested.
  • ppHierarchyNested
    [out, iid_is(iidHierarchyNested)] Wskaźnika do interfejsu, którego identyfikator został przekazany w iidHierarchyNested.
  • pitemidNested
    [out] Wskaźnik do elementu identyfikator węzła głównego zagnieżdżonej hierarchii.Aby uzyskać listę pitemidnested wartości, zobacz VSITEMID.Mimo że interfejs jest skonfigurowany do obsługi shortcutting do wszystkich węzłów w innej hierarchii, środowiska obecnie obsługuje tylko shortcutting do węzła głównego zagnieżdżonej hierarchii, w którym to przypadku pitemidNested musi być ustawiony na VSITEMID_ROOT.

Wartość zwracana

Type: System.Int32

Jeśli itemid nie jest zagnieżdżoną hierarchię, ta metoda zwraca E_FAIL.Jeśli żądany interfejs nie jest obsługiwany dla obiektu w hierarchii, E_NOINTERFACE jest zwracany.Obiekt wywołujący będzie następnie traktować ten węzeł tak, jakby był dzieci, jeżeli żądany interfejs zostały zasadnicze (jak często w przypadku gdy żądany interfejs jest IID_IVsUIHierarchy).

Implementuje

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

Uwagi

Podpis COM

Z vsshell.idl:

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

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

Pozycja b w hierarchii 1

Główny hierarchii 2

Użyj IVsHierarchy.GetNestedHierarchy metodę w celu ustalenia, czy danej hierarchii jest zagnieżdżoną hierarchię.W powyższym przykładzie, to należy określić itemid odpowiadających b elementu w hierarchii 1 i metoda zwróci głównego 2 hierarchii.Ta metoda umożliwia mają dwie różne hierarchie powodów wykonania, nawet jeśli użytkownikowi hierarchia zagnieżdżonych wygląda podrzędnych hierarchii nadrzędnej.

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

Z zagnieżdżonych hierarchiach hierarchii nadrzędnej można zastąpić zachowanie jego zagnieżdżonych hierarchiach.W ten sposób Jeśli polecenie jest wykonywane na element w hierarchii zagnieżdżonych, hierarchii nadrzędnej jest dozwolone pierwszej szansy w odpowiedzi na polecenie.

Zobacz też

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

Powrót do początku