protected virtual void Dispose(bool disposing) { if (m_nativeSend != null) { m_nativeSend.Release(IntPtr.Zero); m_nativeSend = null; } }
protected virtual void Dispose(bool disposing) { if (m_native != null) { m_native.Release(IntPtr.Zero); m_native = null; } if (m_nativeRef != IntPtr.Zero) { Registration.removeObject(m_nativeRef); m_nativeRef = IntPtr.Zero; } }
public CppProxyOutputFunction(signals.IModule module, IntPtr native) : base(module, native) { m_nativeSendRef = new IntPtr(native.ToInt64() + IntPtr.Size); m_nativeSend = (Native.IEPSendTo)CppNativeProxy.CreateCallout(m_nativeSendRef, typeof(Native.IEPSendTo)); m_nativeSend.AddRef(IntPtr.Zero); }
public CppProxyEPSender(signals.IBlockDriver driver, IntPtr native) { if (driver == null) throw new ArgumentNullException("driver"); if (native == IntPtr.Zero) throw new ArgumentNullException("native"); m_driver = driver; m_nativeRef = native; Registration.storeObject(native, this); m_native = (Native.IEPSendTo)CppNativeProxy.CreateCallout(native, typeof(Native.IEPSendTo)); m_native.AddRef(IntPtr.Zero); }