/// <summary> /// Implementing IDisposable pattern to properly release unmanaged resources. /// See https://msdn.microsoft.com/en-us/library/b1yfkh5e(v=vs.110).aspx /// and https://msdn.microsoft.com/en-us/library/b1yfkh5e(v=vs.100).aspx /// for more information. /// </summary> /// <param name="disposing"></param> void Dispose(bool disposing) { if (disposing) { // TODO: dispose managed state (managed objects). } if (_biDi != IntPtr.Zero) { NativeMethods.ubidi_close(_biDi); _biDi = IntPtr.Zero; } if (_para != IntPtr.Zero) { Marshal.FreeHGlobal(_para); _para = IntPtr.Zero; } }