IVsObjectList.GetList Method
Returns a child IVsObjectList for the specified category.
Namespace: Microsoft.VisualStudio.Shell.Interop
Assembly: Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)
Syntax
'Déclaration
Function GetList ( _
index As UInteger, _
ListType As UInteger, _
flags As UInteger, _
pobSrch As VSOBSEARCHCRITERIA(), _
<OutAttribute> ByRef pplist As IVsObjectList _
) As Integer
'Utilisation
Dim instance As IVsObjectList
Dim index As UInteger
Dim ListType As UInteger
Dim flags As UInteger
Dim pobSrch As VSOBSEARCHCRITERIA()
Dim pplist As IVsObjectList
Dim returnValue As Integer
returnValue = instance.GetList(index, _
ListType, flags, pobSrch, pplist)
int GetList(
uint index,
uint ListType,
uint flags,
VSOBSEARCHCRITERIA[] pobSrch,
out IVsObjectList pplist
)
int GetList(
[InAttribute] unsigned int index,
[InAttribute] unsigned int ListType,
[InAttribute] unsigned int flags,
[InAttribute] array<VSOBSEARCHCRITERIA>^ pobSrch,
[OutAttribute] IVsObjectList^% pplist
)
function GetList(
index : uint,
ListType : uint,
flags : uint,
pobSrch : VSOBSEARCHCRITERIA[],
pplist : IVsObjectList
) : int
Parameters
index
Type: System.UInt32[in] Specifies the index of the list item of interest.
ListType
Type: System.UInt32[in] Specifies the type of list being requested. Values are taken from the _LIB_LISTTYPE enumeration.
flags
Type: System.UInt32[in] Specifies the flags that control the request for object list information. Values are taken from the _LIB_LISTFLAGS enumeration.
pobSrch
Type: array<Microsoft.VisualStudio.Shell.Interop.VSOBSEARCHCRITERIA[][in] Unused. Should be ignored.
pplist
Type: Microsoft.VisualStudio.Shell.Interop.IVsObjectList%[out] Pointer to the IVsObjectList interface of the returned child list.
Return Value
Type: System.Int32
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
COM Signature
From vsshell.idl:
HRESULT IVsObjectList::GetList(
[in] ULONG Index,
[in] LIB_LISTTYPE ListType,
[in] LIB_LISTFLAGS Flags,
[in] VSOBSEARCHCRITERIA *pobSrch,
[out] IVsObjectList **ppList
);
When the user expands a list node, the object manager asks the list what child lists it supports under that list item by calling GetCategoryField (index, LC_LISTTYPE). Then it calls IVsObjectList.GetList with each of the list types returned as supported.
Under an LLT_PHYSICALCONTAINERS list a library would typically support LLT_NAMESPACES, LLT_CLASSES, and LLT_MEMBERS lists. Under LLT_NAMESPACES list, support LLT_NAMESPACES (for nested namespaces), and LLT_MEMBERS. Under LLT_CLASSES list, support LLT_CLASSES (for nested classes), and LLT_MEMBERS lists. LLT_HIERARCHY lists can appear anywhere to provide auxiliary information nodes such as Bases and Interfaces nodes, a Derived Classes node, and so on.
When GetList is called, your library should create (or reuse existing) an IVsObjectList based on the specified category for the specified tool (as per the flags). Any TTO_SORTTEXT strings allocated for the items that are obtained by the object manager through subsequent calls to GetText must be kept valid until the list's final release.
Permissions
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.