Opc.Ua.Com.Server.ComHdaItemManager.ReleaseItemHandles C# (CSharp) Method

ReleaseItemHandles() public method

Releases the item handles.
public ReleaseItemHandles ( Session session, int serverHandles ) : int[]
session Opc.Ua.Client.Session The session.
serverHandles int The server handles.
return int[]
        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;
        }