public void BrowseUp(Session session)
{
TraceState("BrowseUp");
// find the id of the current node.
string itemId = null;
lock (m_lock)
{
// check if already at root.
if (m_browsePosition == null || String.IsNullOrEmpty(m_browsePosition.ItemId))
{
throw ComUtils.CreateComException(ResultIds.E_FAIL);
}
itemId = m_browsePosition.ItemId;
}
// find the parent - revert to root if parent does not exist.
ComDaBrowseElement parent = m_cache.FindParent(session, itemId);
lock (m_lock)
{
m_browsePosition = parent;
}
}