protected virtual void Dispose(bool disposing) { Marshal.FreeHGlobal(_eventMessage.EventPtr); if (disposing) { DataSource.Dispose(); IntPtr windowHandle = _messageHook.WindowHandle; if (ApplicationId.Id != 0) { // Close down the data source manager Twain32Native.DsmParent( ApplicationId, IntPtr.Zero, DataGroup.Control, DataArgumentType.Parent, Message.CloseDSM, ref windowHandle); } ApplicationId.Id = 0; } }
protected virtual void Dispose(bool disposing) { Marshal.FreeHGlobal(_eventMessage.EventPtr); if (disposing) { DataSource.Dispose(); IntPtr windowHandle = _messageHook.WindowHandle; if (ApplicationId.Id != 0) { // Close down the data source manager var result = Twain32Native.DsmParent( ApplicationId, IntPtr.Zero, DataGroup.Control, DataArgumentType.Parent, Message.CloseDSM, ref windowHandle); _log.Debug(string.Format("CloseDSM, result: {0}", result)); if (result != TwainResult.Failure) { _twainState = TwainState.SourceManagerLoaded; } } ApplicationId.Id = 0; } }
public void SelectSource(DataSource dataSource) { DataSource.Dispose(); DataSource = dataSource; }
public void SelectSource() { DataSource.Dispose(); DataSource = DataSource.UserSelected(ApplicationId, _messageHook); }
public void SetScanSource(string sourceProductName) { DataSource.Dispose(); DataSource = DataSource.GetSource(sourceProductName, ApplicationId, _messageHook); }