private void CloseDS() { DisableDS(); if ((twainState & TwainStateFlag.DSOpen) != 0) { if (tw.DsmIdentity(appId, IntPtr.Zero, TwDG.Control, TwDAT.Identity, TwMSG.CloseDS, sources[CurrentScanner]) == TwRC.Success) { twainState &= ~TwainStateFlag.DSOpen; } else { throw new Exception(GetTwainStatus()); } } }
private TwRC OpenDS() { CloseDS(); TwRC rc = tw.DsmIdentity(appId, IntPtr.Zero, TwDG.Control, TwDAT.Identity, TwMSG.OpenDS, sources[CurrentScanner]); if (rc == TwRC.Success) { twainState |= TwainStateFlag.DSOpen; } else { throw new Exception(GetTwainStatus()); } return(rc); }
private void CloseDSM() { CloseDS(); if ((twainState & TwainStateFlag.DSMOpen) != 0) { if (tw.DsmParent(appId, IntPtr.Zero, TwDG.Control, TwDAT.Parent, TwMSG.CloseDSM, ref hwnd) == TwRC.Success) { twainState &= ~TwainStateFlag.DSMOpen; } else { throw new Exception(GetTwainStatus()); } } appId.Id = 0; }
private TwRC SetCapability() { TwCapability cap = new TwCapability(TwCap.XferCount, 1, TwType.Int16); TwRC rc = tw.DsCapability(appId, sources[CurrentScanner], TwDG.Control, TwDAT.Capability, TwMSG.Set, cap); if (rc != TwRC.Success) { CloseDS(); throw new Exception(GetTwainStatus()); } else { twainState |= TwainStateFlag.DSReady; } return(rc); }
private TwRC OpenDSM() { CloseDSM(); TwRC rc = tw.DsmParent(appId, IntPtr.Zero, TwDG.Control, TwDAT.Parent, TwMSG.OpenDSM, ref hwnd); if (rc == TwRC.Success) { twainState |= TwainStateFlag.DSMOpen; GetAllSorces(); CurrentScanner = DefaultScanner; } else { throw new Exception(GetTwainStatus()); } return(rc); }
private void DisableDS() { if ((twainState & TwainStateFlag.DSEnabled) != 0) { TwUserInterface guif = new TwUserInterface() { ParentHand = hwnd, ShowUI = false }; if (tw.DsUserinterface(appId, sources[CurrentScanner], TwDG.Control, TwDAT.UserInterface, TwMSG.DisableDS, guif) == TwRC.Success) { twainState &= ~TwainStateFlag.DSEnabled; } else { throw new Exception(GetTwainStatus()); } } }
private TwRC EnableDS() { TwRC rc = SetCapability(); if (rc == TwRC.Success) { TwUserInterface guif = new TwUserInterface() { ShowUI = false, ModalUI = true, ParentHand = hwnd }; rc = tw.DsUserinterface(appId, sources[CurrentScanner], TwDG.Control, TwDAT.UserInterface, TwMSG.EnableDS, guif); if (rc == TwRC.Success) { twainState |= TwainStateFlag.DSEnabled; } else { throw new Exception(GetTwainStatus()); } } return(rc); }