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 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 static extern TwainResult DsUserInterface([In, Out] Identity origin, [In, Out] Identity dest, DataGroup dg, DataArgumentType dat, Message msg, UserInterface ui);