Sdílet prostřednictvím


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