Método IVsUIHierarchy.GetNestedHierarchy (UInt32, Guid, IntPtr, UInt32)
Torna possível para um nó de uma determinada hierarquia um atalho para o meio de outra hierarquia.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)
Sintaxe
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
Parâmetros
- itemid
[in] Identificador de item do nó cujas informações de hierarquia aninhada são solicitadas.Para obter uma lista de itemid valores, consulte VSITEMID.
- iidHierarchyNested
[in] Identificador da interface a ser retornado em ppHierarchyNested.Para implementar, obter o objeto que representa a hierarquia aninhada e executar IUnknown::QueryInterface sobre ele para obter a interface ID (IID).Em seguida, passar a IID com iidHierarchyNested.O resultado do QueryInterface chamada entra em ppHierarchyNested.
- ppHierarchyNested
[out, iid_is(iidHierarchyNested)] Ponteiro para a interface cujo identificador foi aprovado em iidHierarchyNested.
- pitemidNested
[out] Ponteiro para um identificador de item do nó raiz da hierarquia aninhada.Para obter uma lista de pitemidnested valores, consulte VSITEMID.Embora a interface estiver configurada para oferecer suporte à criação de atalhos para qualquer nó em outra hierarquia, o ambiente atualmente suporta apenas a criação de atalhos para o nó raiz da hierarquia aninhada, caso em que pitemidNested deve ser definido como VSITEMID_ROOT.
Valor de retorno
Type: System.Int32
Se itemid não é uma hierarquia aninhada, esse método retorna E_FAIL.Se a operação solicitada não é suportada no objeto de hierarquia, E_NOINTERFACE é retornado.O chamador seria trate este nó como se ele tivesse sem filhos, se a interface solicitada tivesse sido essencial (como costuma ocorrer quando a operação solicitada é IID_IVsUIHierarchy).
Implementações
IVsHierarchy.GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)
Comentários
COM assinatura
De vsshell.idl:
HRESULT IVsUIHierarchy::GetNestedHierarchy(
[in] VSITEMID itemid,
[in] REFIID iidHierarchyNested,
[out, iid_is(iidHierarchyNested)] void **ppHierarchyNested,
[out] VSITEMID *pitemidNested
);
As hierarquias podem ser aninhadas com outras hierarquias.Por exemplo, você pode criar uma hierarquia pai chamada 1 da hierarquia.Se a hierarquia 1 contém dois itens, Item de a e b do Item, com o Item B, sendo uma hierarquia aninhada (chamada hierarquia 2) a hierarquia aninhada tem dois identificadores:
Item b na hierarquia 1
Raiz da hierarquia de 2
Use o IVsHierarchy.GetNestedHierarchy método para determinar se uma determinada hierarquia é uma hierarquia aninhada.No exemplo acima, você especificaria o itemid correspondente ao Item B na hierarquia 1 e o método retornaria a raiz da hierarquia 2.Esse método permite que você tenha duas hierarquias diferentes por motivos de implementação, mesmo que para o usuário a hierarquia aninhada é igual a um filho da hierarquia pai.
Se o valor de retorno é E_NOINTERFACE e a operação solicitada é essencial, assim como acontece com freqüência quando a operação solicitada é IID_IVsUIHierarchy, o chamador trata este nó como se ele não tem nós filhos e não é uma hierarquia aninhada.
Com hierarquias aninhadas, a hierarquia pai pode substituir o comportamento de qualquer uma das suas hierarquias aninhadas.Assim, se um comando for executado em um item na hierarquia aninhada, hierarquia pai é permitida a primeira chance de responder a esse comando.
Consulte também
Interface IVsUIHierarchy
Namespace Microsoft.VisualStudio.Shell.Interop
Retornar ao topo