コード例 #1
0
        private int GetReference(IntPtr descriptor, uint key, ref IntPtr reference)
        {
#if DEBUG
            DebugUtils.Ping(DebugFlags.DescriptorParameters, string.Format("key: 0x{0:X4}({1})", key, DebugUtils.PropToString(key)));
#endif
            AETEValue item;
            if (actionDescriptors[descriptor].TryGetValue(key, out item))
            {
                ActionDescriptorReference value = (ActionDescriptorReference)item.Value;

                try
                {
                    reference = actionReferenceSuite.CreateFromActionDescriptor(value);
                }
                catch (OutOfMemoryException)
                {
                    return(PSError.memFullErr);
                }

                return(PSError.kSPNoError);
            }

            return(PSError.errMissingParameter);
        }
コード例 #2
0
        bool IActionReferenceSuite.ConvertToActionDescriptor(PIActionReference reference, out ActionDescriptorReference descriptor)
        {
            descriptor = null;

            ActionReferenceContainer container;

            if (actionReferences.TryGetValue(reference, out container))
            {
                descriptor = container.ConvertToActionDescriptor();

                return(true);
            }

            return(false);
        }