public void Acquire(bool showUI) { TwRC rc; CloseSrc(); if (appid.Id == IntPtr.Zero) { Init(hwnd); if (appid.Id == IntPtr.Zero) { BuildScannerException(srcds, TwainScannerError.ScannerNotAvailable); } } rc = DSMident(appid, IntPtr.Zero, TwDG.Control, TwDAT.Identity, TwMSG.OpenDS, srcds); // if (rc != TwRC.Success) { BuildScannerException(srcds, TwainScannerError.ScannerNotAvailable); } TwCapability cap = new TwCapability(TwCap.XferCount, 1); rc = DScap(appid, srcds, TwDG.Control, TwDAT.Capability, TwMSG.Set, cap); if (rc != TwRC.Success) { CloseSrc(); BuildScannerException(srcds, TwainScannerError.Other); } TwUserInterface guif = new TwUserInterface(); guif.ShowUI = Convert.ToInt16(showUI); guif.ModalUI = 1; guif.ParentHand = hwnd; rc = DSuserif(appid, srcds, TwDG.Control, TwDAT.UserInterface, TwMSG.EnableDS, guif); if (rc != TwRC.Success) { CloseSrc(); BuildScannerException(srcds, TwainScannerError.Other); } }
private static extern TwRC DScap([In, Out] TwIdentity origin, [In] TwIdentity dest, TwDG dg, TwDAT dat, TwMSG msg, [In, Out] TwCapability capa);