public int[] ReleaseItemHandles(Session session, int[] serverHandles)
{
int[] errors = new int[serverHandles.Length];
for (int ii = 0; ii < serverHandles.Length; ii++)
{
InternalHandle handle = null;
lock (m_lock)
{
if (!m_handles.TryGetValue(serverHandles[ii], out handle))
{
errors[ii] = ResultIds.E_INVALIDHANDLE;
continue;
}
Utils.Trace("Released Handle: {0} {1}", handle.ServerHandle, handle.NodeId);
m_handles.Remove(handle.ServerHandle);
handle.Item.Refs--;
}
errors[ii] = ResultIds.S_OK;
}
return errors;
}