IVsLibrary2 Interface

Describes the library and is used by the Object Manager to access pertinent symbols.

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

Syntax

'Declaration
<InterfaceTypeAttribute()> _
<GuidAttribute("EDD9F8A9-3FFE-4C4C-94F8-610B88E19160")> _
Public Interface IVsLibrary2
[InterfaceTypeAttribute()]
[GuidAttribute("EDD9F8A9-3FFE-4C4C-94F8-610B88E19160")]
public interface IVsLibrary2
[InterfaceTypeAttribute()]
[GuidAttribute(L"EDD9F8A9-3FFE-4C4C-94F8-610B88E19160")]
public interface class IVsLibrary2
[<InterfaceTypeAttribute()>]
[<GuidAttribute("EDD9F8A9-3FFE-4C4C-94F8-610B88E19160")>]
type IVsLibrary2 =  interface end
public interface IVsLibrary2

The IVsLibrary2 type exposes the following members.

Methods

  Name Description
Public method AddBrowseContainer Adds a browse container to be browsed by the library.
Public method CreateNavInfo Reserved for future use.
Public method GetBrowseContainersForHierarchy Returns an array of Browse Containers that correspond to the given IVsHierarchy.
Public method GetGuid Returns a pointer to the GUID of the library.
Public method GetLibFlags2 Returns flags associated with the library.
Public method GetLibList Returns the list of browse containers currently being browsed by the library as an IVsLiteTreeList interface.
Public method GetList2 Returns the requested list of symbols as an IVsObjectList interface.
Public method GetSeparatorString Returns the string used to separate symbols for this type of Browse Container.
Public method GetSupportedCategoryFields2 Returns the category values supported by the library for a specified category.
Public method LoadState Asks the library to load its persisted global Browse Containers.
Public method RemoveBrowseContainer Removes a Browse Container being browsed by the library.
Public method SaveState Asks the library to save its persisted global Browse Containers.
Public method UpdateCounter Returns the current change counter for the library and is used to indicate that the library contents have changed.

Top

Remarks

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

The IVsLibrary2 interface is implemented when you want to provide object browsing.

Note

Managed code implementations should implement the IVsSimpleLibrary2 interface instead to avoid memory leaks.

Notes to Callers

This interface is passed to the RegisterLibrary method in the IVsObjectManager2 interface. This interface can then be returned by a call to the FindLibrary method in the IVsObjectManager2 interface.

See Also

Reference

Microsoft.VisualStudio.Shell.Interop Namespace