示例#1
0
        private unsafe int GetList(PIActionList list, uint index, PIActionList *data)
        {
            if (data == null)
            {
                return(PSError.kSPBadParameterError);
            }

            ActionListItemCollection items = actionLists[list];

            if (index < items.Count)
            {
                ReadOnlyCollection <ActionListItem> value = (ReadOnlyCollection <ActionListItem>)items[(int)index].Value;

                try
                {
                    *data = GenerateDictionaryKey();
                    actionLists.Add(*data, new ActionListItemCollection(value));
                }
                catch (OutOfMemoryException)
                {
                    return(PSError.kSPOutOfMemoryError);
                }

                return(PSError.kSPNoError);
            }

            return(PSError.kSPBadParameterError);
        }
示例#2
0
        private unsafe int Make(PIActionList *list)
        {
            if (list == null)
            {
                return(PSError.kSPBadParameterError);
            }

            try
            {
                *list = GenerateDictionaryKey();
                actionLists.Add(*list, new ActionListItemCollection());
            }
            catch (OutOfMemoryException)
            {
                return(PSError.kSPOutOfMemoryError);
            }

            return(PSError.kSPNoError);
        }