IVsSimpleLibrary2 Interface

A simplified version of the IVsLibrary2 interface.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop.8.0 (in Microsoft.VisualStudio.Shell.Interop.8.0.dll)

public interface IVsSimpleLibrary2

The IVsSimpleLibrary2 type exposes the following members.

Public methodAddBrowseContainerAdds a browse container to be browsed by the library.
Public methodCreateNavInfoReserved for future use.
Public methodGetBrowseContainersForHierarchyReturns an array of Browse Containers that correspond to the given IVsHierarchy.
Public methodGetGuidReturns the GUID of the library.
Public methodGetLibFlags2Returns flags associated with the library.
Public methodGetList2Returns the requested list of symbols as an IVsSimpleObjectList2 interface.
Public methodGetSeparatorStringWithOwnershipReturns the string used to separate symbols for this type of Browse Container.
Public methodGetSupportedCategoryFields2Returns the category values supported by the library for a specified category.
Public methodLoadStateAsks the library to load its persisted global Browse Containers.
Public methodRemoveBrowseContainerRemoves a Browse Container being browsed by the library.
Public methodSaveStateAsks the library to save its persisted global Browse Containers.
Public methodUpdateCounterReturns the current change counter for the library and is used to indicate that the library contents have changed.

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 and GetGuid methods.

Notes to Callers

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

Community Additions