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