IVsSimpleLibrary2 Interface


A simplified version of the IVsLibrary2 interface.

public interface class IVsSimpleLibrary2
public interface class IVsSimpleLibrary2
__interface IVsSimpleLibrary2
public interface IVsSimpleLibrary2
type IVsSimpleLibrary2 = interface
Public Interface IVsSimpleLibrary2


The smallest unit a library can browse is referred to as a Browse Container. A library typically browses one type of Browse Container. Each project type implements one, and possibly more, libraries to track its symbols, objects, and so on. The package's IVsLibraryMgr tracks these libraries.

Libraries may be project specific, or global. Global libraries provide information on browse containers that are not a part of any project, but are added by a user through the Add Reference dialog. For more details on libraries and their relationship to the object browser see Object Browser and Class View.

See illustrations of the implementation and/or calling of this interface in the sample My C Package.

Notes to Implementers

A managed code library should implement this interface to avoid potential memory leaks in calls to the GetSeparatorStringWithOwnership(String) and GetGuid(Guid) methods.

Notes to Callers

This interface is passed to the RegisterSimpleLibrary(IVsSimpleLibrary2, UInt32) method in the IVsObjectManager2 interface. The object that was passed to the RegisterSimpleLibrary(IVsSimpleLibrary2, UInt32) method can be returned by a call to the FindLibrary(Guid, IVsLibrary2) method in the IVsObjectManager2 interface. However, you must call the QueryInterface method on the returned IVsLibrary2 object to obtain the IVsSimpleLibrary2 interface.


AddBrowseContainer(VSCOMPONENTSELECTORDATA[], UInt32, String)

Adds a browse container to be browsed by the library.

CreateNavInfo(SYMBOL_DESCRIPTION_NODE[], UInt32, IVsNavInfo)

Reserved for future use.

GetBrowseContainersForHierarchy(IVsHierarchy, UInt32, VSBROWSECONTAINER[], UInt32[])

Returns an array of Browse Containers that correspond to the given IVsHierarchy.


Returns the GUID of the library.


Returns flags associated with the library.

GetList2(UInt32, UInt32, VSOBSEARCHCRITERIA2[], IVsSimpleObjectList2)

Returns the requested list of symbols as an IVsSimpleObjectList2 interface.


Returns the string used to separate symbols for this type of Browse Container.

GetSupportedCategoryFields2(Int32, UInt32)

Returns the category values supported by the library for a specified category.


Asks the library to load its persisted global Browse Containers.

RemoveBrowseContainer(UInt32, String)

Removes a Browse Container being browsed by the library.


Asks the library to save its persisted global Browse Containers.


Returns the current change counter for the library and is used to indicate that the library contents have changed.

Applies to