/// <summary> /// Initializes a new instance of the <see cref="TwCapability"/> class. /// </summary> /// <param name="cap">The cap.</param> /// <param name="range">The range.</param> public TwCapability(TwCap cap, _TwRange range) { this.Cap = cap; this.ConType = TwOn.Range; this.Handle = Twain32.GlobalAlloc(0x42, Marshal.SizeOf(typeof(_TwRange))); IntPtr _pTwRange = Twain32.GlobalLock(Handle); Marshal.StructureToPtr(range, _pTwRange, true); Twain32.GlobalUnlock(Handle); }
/// <summary> /// Initializes a new instance of the <see cref="TwCapability"/> class. /// </summary> /// <param name="cap">The cap.</param> /// <param name="enumeration">The enumeration.</param> /// <param name="enumerationValue">The enumeration value.</param> public TwCapability(TwCap cap, _TwEnumeration enumeration, object[] enumerationValue) { this.Cap = cap; this.ConType = TwOn.Enum; this.Handle = Twain32.GlobalAlloc(0x42, Marshal.SizeOf(typeof(_TwEnumeration)) + (Marshal.SizeOf(enumerationValue[0]) * enumerationValue.Length)); IntPtr _pTwEnumeration = Twain32.GlobalLock(Handle); Marshal.StructureToPtr(enumeration, _pTwEnumeration, true); for (int i = 0, _ptr = _pTwEnumeration.ToInt32() + Marshal.SizeOf(typeof(_TwEnumeration)); i < enumerationValue.Length; i++, _ptr += Marshal.SizeOf(enumerationValue[0])) { Marshal.StructureToPtr(enumerationValue[i], (IntPtr)_ptr, true); } Twain32.GlobalUnlock(Handle); }
/// <summary> /// Initializes a new instance of the <see cref="TwCapability"/> class. /// </summary> /// <param name="cap">The cap.</param> /// <param name="array">The array.</param> /// <param name="arrayValue">The array value.</param> public TwCapability(TwCap cap, _TwArray array, object[] arrayValue) { this.Cap = cap; this.ConType = TwOn.Array; this.Handle = Twain32.GlobalAlloc(0x42, Marshal.SizeOf(typeof(_TwArray)) + (Marshal.SizeOf(arrayValue[0]) * arrayValue.Length)); IntPtr _pTwArray = Twain32.GlobalLock(Handle); Marshal.StructureToPtr(array, _pTwArray, true); for (int i = 0, _ptr = _pTwArray.ToInt32() + Marshal.SizeOf(typeof(_TwArray)); i < arrayValue.Length; i++, _ptr += Marshal.SizeOf(arrayValue[0])) { Marshal.StructureToPtr(arrayValue[i], (IntPtr)_ptr, true); } Twain32.GlobalUnlock(Handle); }
/// <summary> /// Initializes a new instance of the <see cref="TwCapability"/> class. /// </summary> /// <param name="cap">The cap.</param> /// <param name="value">The value.</param> /// <param name="type">The type.</param> public TwCapability(TwCap cap, int value, TwType type) { this.Cap = cap; this.ConType = TwOn.One; _TwOneValue _value = new _TwOneValue() { ItemType = type, Item = value }; this.Handle = Twain32.GlobalAlloc(0x42, Marshal.SizeOf(typeof(_TwOneValue))); IntPtr _pTwOneValue = Twain32.GlobalLock(Handle); Marshal.StructureToPtr(_value, _pTwOneValue, true); Twain32.GlobalUnlock(Handle); }