public static extern TwainResult DsUserInterface([In, Out] Identity origin, [In, Out] Identity dest, DataGroup dg, DataArgumentType dat, Message msg, UserInterface ui);
public static extern TwainResult DsUserInterface([In, Out] Identity origin, [In, Out] Identity dest, DataGroup dg, DataArgumentType dat, Message msg, UserInterface ui);
public bool Enable(ScanSettings settings) { UserInterface ui = new UserInterface(); ui.ShowUI = (short)(settings.ShowTwainUI ? 1 : 0); ui.ModalUI = 1; ui.ParentHand = _messageHook.WindowHandle; var result = Twain32Native.DsUserInterface( _applicationId, SourceId, DataGroup.Control, DataArgumentType.UserInterface, Message.EnableDS, ui); if (result != TwainResult.Success) { Dispose(); return false; } return true; }
public void Close() { if (SourceId.Id != 0) { UserInterface userInterface = new UserInterface(); TwainResult result = Twain32Native.DsUserInterface( _applicationId, SourceId, DataGroup.Control, DataArgumentType.UserInterface, Message.DisableDS, userInterface); result = Twain32Native.DsmIdentity( _applicationId, IntPtr.Zero, DataGroup.Control, DataArgumentType.Identity, Message.CloseDS, SourceId); } }
public bool Disable() { if (SourceState != null && SourceState >= TwainState.SourceEnabled) { if (SourceId.Id != 0) { var userInterface = new UserInterface(); TwainResult result = Twain32Native.DsUserInterface( _applicationId, SourceId, DataGroup.Control, DataArgumentType.UserInterface, Message.DisableDS, userInterface); if (result != TwainResult.Failure) { _log.Debug(string.Format("DisableDS, result: {0}", result)); SourceState = TwainState.SourceOpen; return true; } var condition = DataSourceManager.GetConditionCode(_applicationId, SourceId); _log.Debug(string.Format("DisableDS, result: {0}, conditionCode: {1}", result, condition)); return false; } return false; } return false; }
public bool Enable(ScanSettings settings) { var ui = new UserInterface(); ui.ShowUI = (short)(settings.ShowTwainUI ? 1 : 0); ui.ModalUI = 0; ui.ParentHand = _messageHook.WindowHandle; var result = Twain32Native.DsUserInterface( _applicationId, SourceId, DataGroup.Control, DataArgumentType.UserInterface, Message.EnableDS, ui); _log.Debug(string.Format("EnableDS, result: {0}", result)); if (result != TwainResult.Success) { Dispose(); return false; } SourceState = TwainState.SourceEnabled; return true; }