public bool createOutputNode( IntPtr aHandle, out object aTopologyNode) { bool lresult = false; aTopologyNode = null; do { if (mIEVRSinkFactory == null) { break; } try { mIEVRSinkFactory.createOutputNode( aHandle, out aTopologyNode); if (aTopologyNode == null) { break; } lresult = true; } catch (Exception exc) { if (mIEVRSinkFactory != null) { try { object[] largs = new object[] { aHandle.ToInt64() }; aTopologyNode = Win32NativeMethods.Invoke <object>(mIEVRSinkFactory, Win32NativeMethods.InvokeFlags.DISPATCH_METHOD, "createOutputNode", largs); if (aTopologyNode == null) { break; } lresult = true; } catch (Exception exc1) { LogManager.getInstance().write(exc1.Message); } } else { LogManager.getInstance().write(exc.Message); } } } while (false); return(lresult); }
public bool createOutputNodes( IntPtr aHandle, uint aOutputNodeAmount, out List <object> aTopologyOutputNodesList) { bool lresult = false; aTopologyOutputNodesList = new List <object>(); do { if (mIEVRMultiSinkFactory == null) { break; } try { object lArrayMediaNodes = new Object(); mIEVRMultiSinkFactory.createOutputNodes( aHandle, null, aOutputNodeAmount, out lArrayMediaNodes); if (lArrayMediaNodes == null) { break; } object[] lArray = lArrayMediaNodes as object[]; if (lArray == null) { break; } aTopologyOutputNodesList.AddRange(lArray); lresult = true; } catch (Exception exc) { if (mIUnknown != null) { try { object[] largs = new object[] { aHandle.ToInt64(), null, aOutputNodeAmount }; object lArrayMediaNodes = Win32NativeMethods.Invoke <object>(mIUnknown, Win32NativeMethods.InvokeFlags.DISPATCH_METHOD, "createOutputNodes", largs); if (lArrayMediaNodes == null) { break; } object[] lArray = lArrayMediaNodes as object[]; if (lArray == null) { break; } aTopologyOutputNodesList.AddRange(lArray); lresult = true; } catch (Exception exc1) { LogManager.getInstance().write(exc1.Message); } } else { LogManager.getInstance().write(exc.Message); } } } while (false); return(lresult); }