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); }
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); }