Start of Twister TWAIN Analysis Analysis Started: 2005.03.10 at 13:02:11 Twister Version: 1.05.002 --- TW_IDENTITY block --- Product Name: Kodak Scanner 3000 Series Product Family: Digital Science Manufacturer: Eastman Kodak Company Software Version: 1.2 ("KDS v1.2.15 1999/09/24") TWAIN Protocol Version: 1.8 --- DataSource File Version Info --- File: C:\WINNT\Twain_32\kodak\kds\kds_3000.ds File Timestamp: 2005.03.01 23:08:47 ** unable to get version info from C:\WINNT\Twain_32\kodak\kds\kds_3000.ds ** Section 1. Capabilities If a capability does not appear in the following list, then the device reported it as unsupported in conformance with the TWAIN standard. CAP_XFERCOUNT: GET.............int16 -1 GETCURRENT......int16 -1 GETDEFAULT......int16 -1 ICAP_COMPRESSION: GET.............uint16 ENUM{ TWCP_NONE } Current: TWCP_NONE, Default: TWCP_NONE GETCURRENT......uint16 TWCP_NONE GETDEFAULT......uint16 TWCP_NONE SET.............TWCP_NONE ok ICAP_PIXELTYPE: GET.............uint16 ENUM{ TWPT_BW } Current: TWPT_BW, Default: TWPT_BW GETCURRENT......uint16 TWPT_BW GETDEFAULT......uint16 TWPT_BW SET.............TWPT_BW ok ICAP_UNITS: GET.............uint16 ENUM{ TWUN_INCHES, TWUN_CENTIMETERS, TWUN_PICAS, TWUN_POINTS, TWUN_TWIPS, TWUN_PIXELS } Current: TWUN_INCHES, Default: TWUN_INCHES GETCURRENT......uint16 TWUN_INCHES GETDEFAULT......uint16 TWUN_INCHES SET.............TWUN_INCHES ok SET.............TWUN_CENTIMETERS ok SET.............TWUN_PICAS ok SET.............TWUN_POINTS ok SET.............TWUN_TWIPS ok SET.............TWUN_PIXELS ok ICAP_XFERMECH: GET.............uint16 ENUM{ TWSX_NATIVE, TWSX_FILE, TWSX_MEMORY } Current: TWSX_NATIVE, Default: TWSX_NATIVE GETCURRENT......uint16 TWSX_NATIVE GETDEFAULT......uint16 TWSX_NATIVE SET.............TWSX_NATIVE ok SET.............TWSX_FILE ok SET.............TWSX_MEMORY ok CAP_AUTHOR: GET.............str128 Eastman Kodak Company GETCURRENT......ditto GETDEFAULT......ditto SET.............Eastman Kodak Company ok CAP_CAPTION: GET.............str255 GETCURRENT......str255 GETDEFAULT......str255 SET............. ok CAP_FEEDERENABLED: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET(FALSE).....?failed SET(TRUE).......ok CAP_FEEDERLOADED: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_TIMEDATE: GET.............str32 GETCURRENT......str32 GETDEFAULT......str32 CAP_SUPPORTEDCAPS: GET.............uint16 ARRAY[ CAP_ALARMS, CAP_ALARMVOLUME, CAP_AUTHOR, CAP_AUTOFEED, CAP_AUTOSCAN, CAP_0x8050, CAP_0x8051, CAP_CAPTION, CAP_CLEARBUFFERS, CAP_CUSTOMDSDATA, CAP_DEVICEEVENT, CAP_DEVICEONLINE, CAP_DEVICETIMEDATE, CAP_DUPLEX, CAP_DUPLEXENABLED, CAP_ENABLEDSUIONLY, CAP_FEEDERENABLED, CAP_0x8001, CAP_FEEDERLOADED, CAP_INDICATORS, CAP_LANGUAGE, CAP_MAXBATCHBUFFERS, CAP_0x8002, CAP_PAPERDETECTABLE, CAP_SERIALNUMBER, CAP_SUPPORTEDCAPS, CAP_TIMEDATE, CAP_0x8003, CAP_UICONTROLLABLE, CAP_0x8004, CAP_XFERCOUNT, ICAP_BITDEPTH, ICAP_BITDEPTHREDUCTION, ICAP_BITORDER, ICAP_BITORDERCODES, ICAP_CCITTKFACTOR, ICAP_COMPRESSION, ICAP_CONTRAST, ICAP_FRAMES, ICAP_HALFTONES, ICAP_IMAGEFILEFORMAT, ICAP_IMAGEFILTER, CAP_0x8005, ICAP_MAXFRAMES, ICAP_MINIMUMHEIGHT, ICAP_MINIMUMWIDTH, ICAP_NOISEFILTER, ICAP_ORIENTATION, ICAP_OVERSCAN, CAP_0x8006, CAP_0x8007, ICAP_PHYSICALHEIGHT, ICAP_PHYSICALWIDTH, ICAP_PIXELFLAVOR, ICAP_PIXELFLAVORCODES, ICAP_PIXELTYPE, ICAP_PLANARCHUNKY, ICAP_SUPPORTEDSIZES, ICAP_THRESHOLD, ICAP_UNDEFINEDIMAGESIZE, ICAP_UNITS, ICAP_XFERMECH, ICAP_XNATIVERESOLUTION, ICAP_XRESOLUTION, ICAP_YNATIVERESOLUTION, ICAP_YRESOLUTION ] GETCURRENT......ditto GETDEFAULT......ditto CAP_AUTOFEED: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET(FALSE).....?failed SET(TRUE)......?failed CAP_INDICATORS: GET............*bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE).......ok SET(FALSE)......ok CAP_PAPERDETECTABLE: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE CAP_UICONTROLLABLE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_DEVICEONLINE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool FALSE CAP_AUTOSCAN: GET............*bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET(FALSE)......ok SET(TRUE).......ok CAP_DUPLEX: GET.............uint16 TWDX_1PASSDUPLEX GETCURRENT......ditto GETDEFAULT......ditto CAP_DUPLEXENABLED: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool TRUE SET(FALSE)......ok SET(TRUE).......ok CAP_ENABLEDSUIONLY: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_CUSTOMDSDATA: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_ALARMS: GET.............uint16 ARRAY[ ] GETCURRENT......uint16 ARRAY[ ] GETDEFAULT......uint16 ARRAY[ 4 ] CAP_ALARMVOLUME: GET............*uint16 From 0 To 100 Step 7, Current: 0, Default: 0 GETCURRENT.....*uint16 0 GETDEFAULT.....*uint16 0 CAP_CLEARBUFFERS: GET............*uint16 1 GETCURRENT......uint16 1 GETDEFAULT......uint16 0 SET............?1 failed CAP_MAXBATCHBUFFERS: GET.............uint32 0 GETCURRENT......uint32 0 GETDEFAULT......uint32 7 CAP_DEVICETIMEDATE: GET.............str32 2005/03/10 14:35:00:000 GETCURRENT......ditto GETDEFAULT......str32 0000/00/00 00:00:00:000 SET.............2005/03/10 14:35:00:000 ok CAP_DEVICEEVENT: GET.............uint16 ARRAY[ ] GETCURRENT......uint16 ARRAY[ ] GETDEFAULT......uint16 ARRAY[ 12, 13 ] CAP_SERIALNUMBER: GET.............str255 12025101 GETCURRENT......str255 12025101 GETDEFAULT......str255 Uninitialized Scanner CAP_LANGUAGE: GET.............uint16 ENUM{ 1, 13, 5, 6, 8, 68, 76, 11 } Current: 13, Default: 13 GETCURRENT......uint16 13 GETDEFAULT......uint16 13 SET.............1 ok SET.............13 ok SET.............5 ok SET.............6 ok SET.............8 ok SET.............68 ok SET.............76 ok SET.............11 ok ICAP_CONTRAST: GET............*fix32 From -980 To 1000 Step 20, Current: 0, Default: 0 GETCURRENT......fix32 0 GETDEFAULT......fix32 0 SET.............0 ok SET.............-980 ok SET.............-500 ok SET.............500 ok SET.............1000 ok ICAP_HALFTONES: GET.............str32 ENUM{ Adaptive Thresholding, Fixed Thresholding, 64-Level 45-Degree Cluster Dot, 64-Level Disperse Dot, 64-Level Bayer Dither } Current: Adaptive Thresholding, Default: Adaptive Thresholding GETCURRENT......str32 Adaptive Thresholding GETDEFAULT......ditto SET.............Adaptive Thresholding ok SET.............Fixed Thresholding ok SET.............64-Level 45-Degree Cluster Dot ok SET.............64-Level Disperse Dot ok SET.............64-Level Bayer Dither ok ICAP_IMAGEFILEFORMAT: GET.............uint16 ENUM{ TWFF_TIFF, TWFF_BMP } Current: TWFF_BMP, Default: TWFF_BMP GETCURRENT......uint16 TWFF_BMP GETDEFAULT......uint16 TWFF_BMP SET.............TWFF_TIFF ok SET.............TWFF_BMP ok ICAP_ORIENTATION: GET.............uint16 ENUM{ TWOR_ROT0 (PORTRAIT), TWOR_ROT270 (LANDSCAPE) } Current: TWOR_ROT0 (PORTRAIT), Default: TWOR_ROT0 (PORTRAIT) GETCURRENT......uint16 TWOR_ROT0 (PORTRAIT) GETDEFAULT......ditto SET.............TWOR_ROT0 (PORTRAIT) ok SET.............TWOR_ROT270 (LANDSCAPE) ok ICAP_PHYSICALWIDTH: GET.............fix32 12 GETCURRENT......fix32 12 GETDEFAULT......fix32 12 ICAP_PHYSICALHEIGHT: GET.............fix32 26 GETCURRENT......fix32 26 GETDEFAULT......fix32 26 ICAP_FRAMES: GET.............frame ENUM{ Frame(1.75, 0, 10.25, 14) } Current: Frame(1.75, 0, 10.25, 14), Default: Frame(1.75, 0, 10.25, 14) GETCURRENT......frame Frame(1.75, 0, 10.25, 14) GETDEFAULT......frame Frame(1.86667, 0, 10.1333, 11.69) ICAP_XNATIVERESOLUTION: GET.............fix32 ENUM{ 200, 300 } Current: 300, Default: 200 GETCURRENT......fix32 300 GETDEFAULT......fix32 200 ICAP_YNATIVERESOLUTION: GET.............fix32 ENUM{ 200, 300 } Current: 300, Default: 200 GETCURRENT......fix32 300 GETDEFAULT......fix32 200 ICAP_XRESOLUTION: GET.............fix32 ENUM{ 200, 300 } Current: 300, Default: 200 GETCURRENT......fix32 300 GETDEFAULT......fix32 200 SET.............200 ok SET.............300 ok ICAP_YRESOLUTION: GET.............fix32 ENUM{ 200, 300 } Current: 300, Default: 200 GETCURRENT......fix32 300 GETDEFAULT......fix32 200 SET.............200 ok SET.............300 ok ICAP_MAXFRAMES: GET.............uint16 1 GETCURRENT......uint16 1 GETDEFAULT......uint16 1 SET.............1 ok ICAP_BITORDER: GET.............uint16 ENUM{ TWBO_MSBFIRST } Current: TWBO_MSBFIRST, Default: TWBO_MSBFIRST GETCURRENT......uint16 TWBO_MSBFIRST GETDEFAULT......uint16 TWBO_MSBFIRST SET.............TWBO_MSBFIRST ok ICAP_CCITTKFACTOR: GET............*uint16 4 GETCURRENT......uint16 4 GETDEFAULT......uint16 4 ICAP_PIXELFLAVOR: GET.............uint16 ENUM{ TWPF_CHOCOLATE, TWPF_VANILLA } Current: TWPF_CHOCOLATE, Default: TWPF_CHOCOLATE GETCURRENT......uint16 TWPF_CHOCOLATE GETDEFAULT......uint16 TWPF_CHOCOLATE SET.............TWPF_CHOCOLATE ok SET.............TWPF_VANILLA ok ICAP_PLANARCHUNKY: GET.............uint16 ENUM{ TWPC_PLANAR, TWPC_CHUNKY } Current: TWPC_CHUNKY, Default: TWPC_CHUNKY GETCURRENT......uint16 TWPC_CHUNKY GETDEFAULT......uint16 TWPC_CHUNKY SET.............TWPC_PLANAR ok SET.............TWPC_CHUNKY ok ICAP_SUPPORTEDSIZES: GET.............uint16 ENUM{ TWSS_NONE, TWSS_USLETTER, TWSS_USLEGAL, TWSS_USLEDGER, TWSS_USEXECUTIVE, TWSS_USSTATEMENT, TWSS_A3, TWSS_A4(TWSS_A4LETTER), TWSS_A5, TWSS_A6, TWSS_A7, TWSS_ISOB4(TWSS_B4), TWSS_ISOB5, TWSS_ISOB6(TWSS_B6), TWSS_ISOB7, TWSS_JISB4, TWSS_B5LETTER/TWSS_JISB5, TWSS_JISB6, TWSS_JISB7, TWSS_JISB8, TWSS_C4, TWSS_C5, TWSS_C6, TWSS_C7 } Current: TWSS_USLEGAL, Default: TWSS_A4(TWSS_A4LETTER) GETCURRENT......uint16 TWSS_USLEGAL GETDEFAULT......uint16 TWSS_A4(TWSS_A4LETTER) SET.............TWSS_NONE ok SET.............TWSS_USLEDGER ok SET.............TWSS_A3 ok SET.............TWSS_A6 ok SET.............TWSS_ISOB6(TWSS_B6) ok SET.............TWSS_B5LETTER/TWSS_JISB5 ok SET.............TWSS_JISB8 ok SET.............TWSS_C7 ok ICAP_THRESHOLD: GET............*fix32 From 0 To 255 Step 1, Current: 90, Default: 90 GETCURRENT......fix32 90 GETDEFAULT......fix32 90 SET.............0 ok SET.............90 ok SET.............63 ok SET.............127 ok SET.............191 ok SET.............255 ok ICAP_BITORDERCODES: GET............*uint16 ENUM{ 1 } Current: 1, Default: 1 GETCURRENT......uint16 1 GETDEFAULT......uint16 1 ICAP_PIXELFLAVORCODES: GET............*uint16 ENUM{ TWPF_CHOCOLATE, TWPF_VANILLA } Current: TWPF_CHOCOLATE, Default: TWPF_CHOCOLATE GETCURRENT......uint16 TWPF_CHOCOLATE GETDEFAULT......uint16 TWPF_CHOCOLATE SET.............TWPF_CHOCOLATE ok SET.............TWPF_VANILLA ok ICAP_BITDEPTH: GET.............uint16 ENUM{ 1 } Current: 1, Default: 1 GETCURRENT......uint16 1 GETDEFAULT......uint16 1 ICAP_BITDEPTHREDUCTION: GET.............uint16 ENUM{ TWBR_THRESHOLD, TWBR_HALFTONE } Current: TWBR_HALFTONE, Default: TWBR_HALFTONE GETCURRENT......uint16 TWBR_HALFTONE GETDEFAULT......uint16 TWBR_HALFTONE SET.............TWBR_THRESHOLD ok SET.............TWBR_HALFTONE ok ICAP_UNDEFINEDIMAGESIZE: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE).......ok SET(FALSE)......ok ICAP_EXTIMAGEINFO: GET............*bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET(FALSE)......ok SET(TRUE).......ok ICAP_MINIMUMHEIGHT: GET.............fix32 2.5 GETCURRENT......fix32 2.5 GETDEFAULT......fix32 2.5 ICAP_MINIMUMWIDTH: GET.............fix32 2.5 GETCURRENT......fix32 2.5 GETDEFAULT......fix32 2.5 ICAP_IMAGEFILTER: GET............*not supported. ICAP_NOISEFILTER: GET.............uint16 ENUM{ TWNF_NONE, TWNF_LONEPIXEL, TWNF_MAJORITYRULE } Current: TWNF_NONE, Default: TWNF_NONE GETCURRENT......uint16 TWNF_NONE GETDEFAULT......uint16 TWNF_NONE SET.............TWNF_NONE ok SET.............TWNF_LONEPIXEL ok SET.............TWNF_MAJORITYRULE ok ICAP_OVERSCAN: GET.............uint16 ENUM{ 0, 2, 3, 4 } Current: 0, Default: 0 GETCURRENT......uint16 0 GETDEFAULT......uint16 0 SET.............0 ok SET.............2 ok SET.............3 ok SET.............4 ok CAP_0x8001: GET.............bool FALSE CAP_0x8002: GET.............fix32 From 0 To 31800 Step 1, Current: 0, Default: 0 CAP_0x8003: GET.............int32 From 3 To 30 Step 1, Current: 8, Default: 8 CAP_0x8004: GET.............frame ENUM{ Frame(0.14917, 0.0716705, 0, 0) } Current: Frame(0.14917, 0.0716705, 0, 0), Default: Frame(0.14917, 0.0716705, 0, 0) CAP_0x8005: GET.............bool TRUE CAP_0x8006: GET.............fix32 From 0 To 600 Step 1, Current: 600, Default: 600 CAP_0x8007: GET.............fix32 From 0 To 600 Step 1, Current: 600, Default: 600 CAP_0x8008: GET.............uint16 ENUM{ 0, 5 } Current: 0, Default: 0 CAP_0x8050: GET.............uint16 ENUM{ 0, 1, 2 } Current: 0, Default: 0 CAP_0x8051: GET.............uint16 ENUM{ 1 } Current: 1, Default: 1 CAP_0x8052: GET.............bool FALSE CAP_0x8053: GET.............int32 ARRAY[ ] CAP_0x8054: GET.............bool FALSE CAP_0x8055: GET.............bool FALSE CAP_0x8056: GET.............bool TRUE CAP_0x8057: GET.............bool FALSE CAP_0x8058: GET.............bool FALSE CAP_0x8059: GET.............str255 C:\TWAIN\IMG CAP_0x8062: GET.............fix32 From 0 To 255 Step 1, Current: 99, Default: 99 Section 2. Image Layout DG_IMAGE, DAT_IMAGELAYOUT, MSG_RESET => OK. DG_IMAGE, DAT_IMAGELAYOUT, MSG_GETDEFAULT => ( 1.86667, 0, 10.1333, 11.69). DG_IMAGE, DAT_IMAGELAYOUT, MSG_GET => ( 1.86667, 0, 10.1333, 11.69). DG_IMAGE, DAT_IMAGELAYOUT, MSG_SET (2.9, 1.945, 3.93, 3.895) => OK. Scanning to verify image layout: OK Returned image is 224 x 390 pixels, with resolution of 200 x 200 DPI Requested resolution was: 200 x 200 DPI Width = 1.12 (versus requested 1.03) Height = 1.95 (versus requested 1.95) ---------- Questions [? items] ---------- (0) Could not set CAP_FEEDERENABLED to FALSE. (1) Could not set CAP_AUTOFEED to FALSE. (2) Could not set CAP_AUTOFEED to TRUE. (3) Could not set CAP_CLEARBUFFERS to 1. ---------- Compliance Issues [* items] ---------- (0) CAP_INDICATORS: GET after open, current value is not TRUE. (1) CAP_AUTOSCAN: GET after open, current value is not FALSE. (2) CAP_ALARMVOLUME: GET returned a container with incorrect item-type. (3) CAP_ALARMVOLUME: GETCURRENT returned a container with incorrect item-type. (4) CAP_ALARMVOLUME: GETDEFAULT returned a container with incorrect item-type. (5) CAP_CLEARBUFFERS: GET after open, current value is not TWCB_AUTO. (6) ICAP_CONTRAST: GET minimum value not -1000. (7) ICAP_CCITTKFACTOR: GET produced a container of the wrong format. (8) ICAP_THRESHOLD: GET after open, current value is not 128. (9) ICAP_BITORDERCODES: GET produced a container of the wrong format. (10) ICAP_PIXELFLAVORCODES: GET produced a container of the wrong format. (11) ICAP_EXTIMAGEINFO: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (12) ICAP_EXTIMAGEINFO: GET after open, current value is not FALSE. (13) ICAP_IMAGEFILTER: GET failed, but cap is in CAP_SUPPORTEDCAPS. (14) CAP_0x8008: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (15) CAP_0x8052: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (16) CAP_0x8053: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (17) CAP_0x8054: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (18) CAP_0x8055: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (19) CAP_0x8056: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (20) CAP_0x8057: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (21) CAP_0x8058: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (22) CAP_0x8059: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (23) CAP_0x8062: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (24) CAP_AUTOFEED: RESET failed when it should succeed. (25) CAP_ALARMS: RESET - leaves current(uint16 ARRAY[ ]) != default(uint16 ARRAY[ 4 ]). (26) CAP_CLEARBUFFERS: RESET - leaves current(uint16 1) != default(uint16 0). (27) CAP_DEVICETIMEDATE: RESET - leaves current(str32 2005/03/10 14:35:00:000) != default(str32 0000/00/00 00:00:00:000). (28) CAP_DEVICEEVENT: RESET - leaves current(uint16 ARRAY[ ]) != default(uint16 ARRAY[ 12, 13 ]). (29) ICAP_CCITTKFACTOR: RESET succeeded when it should fail. (30) ICAP_BITORDERCODES: RESET succeeded when it should fail. (31) CAP_AUTOFEED: SET failed on all values. (32) CAP_ALARMS: SET failed on all values. (33) CAP_CLEARBUFFERS: SET failed on all values. (34) CAP_DEVICEEVENT: SET failed on all values. (35) Default ImageLayout upper-left coordinates not (0,0) (36) After ImageLayout, actual scan width differs from requested by > 1% ------------------------------------------------------------------------ End Twister Analysis.