IVsHierarchy.GetNestedHierarchy – metoda (UInt32, Guid, IntPtr, UInt32)
Umožňuje uzlu danou hierarchii být zástupce uprostřed jiné hierarchii.
Obor názvů: Microsoft.VisualStudio.Shell.Interop
Sestavení: Microsoft.VisualStudio.Shell.Interop (v Microsoft.VisualStudio.Shell.Interop.dll)
Syntaxe
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
[v] Identifikátor položky uzel, jehož informace o hierarchii vnořených žádá.Seznam itemid hodnoty, viz VSITEMID.
- iidHierarchyNested
[v] Identifikátor rozhraní, které mají být vráceny v ppHierarchyNested.Chcete-li implementovat, nejprve získat objekt představující vnořené hierarchie a spuštění QueryInterface ji získat rozhraní ID (IID).Předejte IID v s iidHierarchyNested.Výsledek QueryInterface volání přejde do ppHierarchyNested.
- ppHierarchyNested
[out, iid_is(iidHierarchyNested)] Ukazatel rozhraní, jehož identifikátor byl předán iidHierarchyNested.
- pitemidNested
[výstup] Ukazatel kořenového uzlu v hierarchii vnořených identifikátor položky.Seznam pitemidnested hodnoty, viz VSITEMID.Přestože rozhraní nastaven na podporu shortcutting na libovolný uzel v jiné hierarchii prostředí aktuálně podporuje pouze ke kořenovému uzlu v hierarchii vnořených shortcutting v případě pitemidNested musí být nastavena na VSITEMID_ROOT.
Vrácená hodnota
Type: System.Int32
Pokud itemid není vnořené hierarchie, vrátí tato metoda E_FAIL.Pokud objekt hierarchie nepodporuje požadované rozhraní E_NOINTERFACE je vrácena.Volající by pak považovat tento uzel jako kdyby žádné podřízené požadované rozhraní, kdyby bylo nezbytné (jako je často případ, kdy požadované rozhraní je IID_IVsUIHierarchy).
Poznámky
Hierarchie můžete vnořovat v jiných hierarchiích.Můžete například vytvořit nadřazené hierarchii s názvem hierarchie 1.1 Hierarchie obsahuje dvě položky zboží a a b položky, položka b je vnořená hierarchie (s názvem 2 v hierarchii) hierarchii vnořených má dva identifikátory:
B položka v hierarchii 1
Kořen hierarchie 2
Použití IVsHierarchy::GetNestedHierarchy metoda zjistit danou hierarchii je vnořená hierarchie.V předchozím příkladu zadejte itemid odpovídající položky b v hierarchii 1 a metoda vrátí kořen hierarchie 2.Tato metoda umožňuje mít dvě různé hierarchie důvodů provádění, přestože uživateli hierarchii vnořených vypadá jako podřízené hierarchie nadřazené.
Pokud je vrácená hodnota je E_NOINTERFACE a požadované rozhraní je podstatné, jako je často případ, kdy je požadované rozhraní IID_IVsUIHierarchy, volající považuje tento uzel jako v případě, že nemá žádné podřízené uzly a není vnořené hierarchie.
S vnořené hierarchie nadřazené hierarchii přepsat chování jeho vnořených hierarchiích.Tedy pokud položku v hierarchii vnořených spuštěn příkaz, hierarchie nadřazené povoleno první šanci na reagovat na tento příkaz.
Podpis COM
Z vsshell.idl:
HRESULT IVsHierarchy::GetNestedHierarchy(
[in] VSITEMID itemid,
[in] REFIID iidHierarchyNested,
[out, iid_is(iidHierarchyNested)] void **ppHierarchyNested,
[out] VSITEMID *pitemidNested
);
Viz také
IVsHierarchy – rozhraní
Microsoft.VisualStudio.Shell.Interop – obor názvů
Zpátky na začátek