IVsObjectList2.GetNavigationInfo2(UInt32, VSOBNAVIGATIONINFO3[]) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Fills the VSOBNAVIGATIONINFO2 structure for the given list item allowing the list to navigate back to it through LocateNavigationInfo2(VSOBNAVIGATIONINFO3[], VSOBNAVNAMEINFONODE2[], Int32, Int32, UInt32).
public:
int GetNavigationInfo2(System::UInt32 index, cli::array <Microsoft::VisualStudio::Shell::Interop::VSOBNAVIGATIONINFO3> ^ pobNav);
int GetNavigationInfo2(unsigned int index, std::Array <Microsoft::VisualStudio::Shell::Interop::VSOBNAVIGATIONINFO3> const & pobNav);
public int GetNavigationInfo2 (uint index, Microsoft.VisualStudio.Shell.Interop.VSOBNAVIGATIONINFO3[] pobNav);
abstract member GetNavigationInfo2 : uint32 * Microsoft.VisualStudio.Shell.Interop.VSOBNAVIGATIONINFO3[] -> int
Public Function GetNavigationInfo2 (index As UInteger, pobNav As VSOBNAVIGATIONINFO3()) As Integer
Parameters
- index
- UInt32
[in] Specifies the index of the list item of interest.
- pobNav
- VSOBNAVIGATIONINFO3[]
[in, out] Specifies navigation information. Values are placed in a VSOBNAVIGATIONINFO2 structure.
Returns
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
COM Signature
From vsshell80.idl:
[C++]
HRESULT IVsObjectList2::GetNavigationInfo2(
[in] ULONG Index,
[in, out] VSOBNAVIGATIONINFO3 *pobNav
);
When an object has been selected in Object Browser or Class View, and the environment must redraw the view as a result of a sort or expansion, a path back to the selected item must be maintained. The environment calls GetNavigationInfo
for the selected object, and each of its parents, ascending the tree until the root node is reached. The environment can then descend the tree, with calls to LocateNavigationInfo2 to locate the originally selected object. The environment creates the pobNav
structure and passes it to you. You fill pobNav
with appropriate values for the index
node, and return the structure to the environment. The structure is shown below for reference.
typedef struct _VSOBNAVIGATIONINFO2
{
GUID* pguididLib;
WCHAR* pszLibName;
VSOBNAVNAMEINFONODE* pName;
DWORD dwCustom;
}
Place the GUID of your library into pguididLib
and the library name into pszLibName
. These two parameters not usually change throughout the series of GetNavigationInfo
calls. You may store any custom information in dwCustom
. VSOBNAVNAMEINFONODE is a linked list structure that holds the name and type of each node in the navigation tree. Set these values appropriately for each GetNavigationInfo
call. The environment handles the linked list addressing.
For more details on these structures, see VSOBNAVIGATIONINFO2 and VSOBNAVNAMEINFONODE.