public void Dispose() { if (Handle != IntPtr.Zero) { Twain.GlobalFree(Handle); } Handle = IntPtr.Zero; }
public TwCapability(TwCap cap, short sval) { Cap = (short)cap; ConType = (short)TwOn.One; Handle = Twain.GlobalAlloc(0x42, 6); IntPtr pv = Twain.GlobalLock(Handle); Marshal.WriteInt16(pv, 0, (short)TwType.Int16); Marshal.WriteInt32(pv, 2, (int)sval); Twain.GlobalUnlock(Handle); }
/// <summary> /// /// </summary> /// <param name="cap"></param> /// <param name="str">Maximum 255 ASCII chars</param> /// <param name="typ"></param> public TwCapability(TwCap cap, string str, TwType typ) { Cap = (short)cap; ConType = (short)TwOn.One; Handle = Twain.GlobalAlloc(0x42, 258); IntPtr pv = Twain.GlobalLock(Handle); Marshal.WriteInt16(pv, 0, (short)typ); int j; for (j = 0; j < Math.Min(str.Length - 1, 255); j++) { Marshal.WriteByte(pv, 2 + j, (byte)(int)str[j]); } Marshal.WriteByte(pv, 2 + j, (byte)0); Twain.GlobalUnlock(Handle); }