Beispiel #1
0
        public ItemIdentifier[] GetItemIDs(object[] itemClientHandles)
        {
            // create an invalid server handle.
            int invalidHandle = GetInvalidHandle();

            // copy the items.
            ItemIdentifier[] itemIDs = new ItemIdentifier[itemClientHandles.Length];

            for (int ii = 0; ii < itemClientHandles.Length; ii++)
            {
                // lookup server handle.
                ItemIdentifier itemID = this[itemClientHandles[ii].GetHashCode()];

                // copy the item id.
                if (itemID != null)
                {
                    itemIDs[ii] = (ItemIdentifier)itemID.Clone();
                }

                // create an invalid item id.
                else
                {
                    itemIDs[ii] = new ItemIdentifier();
                    itemIDs[ii].ServerHandle = invalidHandle;
                }

                // store the internal handle as the client handle.
                //itemIDs[ii].ClientHandle = items[ii].ServerHandle;
            }

            // return the item copies.
            return(itemIDs);
        }