Start of Twister TWAIN Analysis Analysis Started: 2010.02.08 at 11:43:20 Twister Version: 1.11.0.1 --- TW_IDENTITY block --- Product Name: KS810 Product Family: KS810-Source Manufacturer: KeyScan Ltd. Software Version: 1.0 ("7.00.5") TWAIN Protocol Version: 1.9 --- DataSource File Version Info --- File: C:\Windows\Twain_32\KeyScan\CDS.DS File Timestamp: 2010.01.21 06:07:23 File version: 7.0.1.708 Product version: 7.0.1.708 Description: Cds DLL Copyright: Copyright (C) 2005 Comments: 07.00.01-15Jul08 Company: KeyScan Ltd. File Version: 07.00.01-15Jul08 Internal Name: Cds Language: Legal Trademarks: KeyScan Original Filename: Cds.DLL Private Build: Product Name: Seagull TWAIN source Product Version: 07.00.01-15Jul08 Special Build: 07.00.01-15Jul08 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_AUTHOR: GET.............str128 "¨ð2¨ð2(õ2qn¤~" GETCURRENT......str128 "(õ2qn¤~" GETDEFAULT......str128 "(õ2qn¤~" SET............*¨ð2¨ð2(õ2qn¤~ set wrong value: ¨ð2 CAP_AUTOFEED: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET.............not tested, can't enable feeder. CAP_CAPTION: GET.............str255 " è4 è4xè4ƒn¤~" GETCURRENT......str255 "xè4ƒn¤~" GETDEFAULT......str255 "xè4ƒn¤~" SET............. ok CAP_CLEARPAGE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET.............not tested due to side effects. CAP_DEVICEONLINE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_FEEDERENABLED: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE).......refused (TWCC_BADVALUE) SET(FALSE).....*failed CAP_FEEDERLOADED: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_FEEDPAGE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET.............not tested due to side effects. CAP_INDICATORS: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE SET(FALSE).....*no change/no error SET(TRUE).......ok CAP_PAPERDETECTABLE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_REWINDPAGE: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET.............not tested due to side effects. CAP_SUPPORTEDCAPS: GET.............uint16 ARRAY[ CAP_AUTHOR, CAP_AUTOFEED, CAP_CAPTION, CAP_CLEARPAGE, CAP_DEVICEONLINE, CAP_FEEDERENABLED, CAP_FEEDERLOADED, CAP_FEEDPAGE, CAP_INDICATORS, CAP_REWINDPAGE, CAP_TIMEDATE, CAP_UICONTROLLABLE, CAP_XFERCOUNT, ICAP_AUTOBRIGHT, ICAP_BITDEPTH, ICAP_BITDEPTHREDUCTION, ICAP_BITORDER, ICAP_BITORDERCODES, ICAP_BRIGHTNESS, ICAP_COMPRESSION, ICAP_CONTRAST, ICAP_FLASHUSED, ICAP_GAMMA, ICAP_HIGHLIGHT, ICAP_IMAGEFILEFORMAT, ICAP_JPEGPIXELTYPE, ICAP_LAMPSTATE, ICAP_LIGHTPATH, ICAP_LIGHTSOURCE, ICAP_ORIENTATION, ICAP_PHYSICALHEIGHT, ICAP_PHYSICALWIDTH, ICAP_PIXELFLAVOR, ICAP_PIXELFLAVORCODES, ICAP_PIXELTYPE, ICAP_YRESOLUTION, ICAP_ROTATION, ICAP_SHADOW, ICAP_THRESHOLD, ICAP_YSCALING, ICAP_UNDEFINEDIMAGESIZE, ICAP_UNITS, ICAP_XFERMECH, ICAP_GAMMA, ICAP_XNATIVERESOLUTION, ICAP_XRESOLUTION, ICAP_XSCALING, ICAP_YNATIVERESOLUTION, CAP_PAPERDETECTABLE ] GETCURRENT.....*uint16 CAP_0x0000 GETDEFAULT.....*uint16 CAP_0x0000 CAP_TIMEDATE: GET............*str32 "˜¶8˜¶8ȶ8ùn¤~" GETCURRENT.....*str32 "ȶ8ùn¤~" GETDEFAULT.....*str32 "ȶ8ùn¤~" CAP_UICONTROLLABLE: GET.............bool TRUE GETCURRENT......bool TRUE GETDEFAULT......bool TRUE CAP_XFERCOUNT: GET.............int16 -1 GETCURRENT......int16 -1 GETDEFAULT......int16 -1 ICAP_AUTOBRIGHT: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......*no change/no error SET(FALSE)......ok ICAP_BITDEPTH: GET............*uint16 ENUM{ 1, 0, 8 } Current: 0, Default: 0 GETCURRENT......uint16 8 GETDEFAULT......uint16 8 ICAP_BITDEPTHREDUCTION: GET............*uint16 ENUM{ TWBR_THRESHOLD, TWBR_THRESHOLD, TWBR_HALFTONE, TWBR_THRESHOLD } Current: TWBR_THRESHOLD, Default: TWBR_THRESHOLD GETCURRENT......uint16 TWBR_THRESHOLD GETDEFAULT......uint16 TWBR_THRESHOLD SET.............TWBR_THRESHOLD ok SET.............TWBR_THRESHOLD ok SET.............TWBR_HALFTONE ok SET.............TWBR_THRESHOLD ok ICAP_BITORDER: GET............*uint16 ENUM{ TWBO_LSBFIRST, TWBO_LSBFIRST } Current: TWBO_LSBFIRST, Default: TWBO_LSBFIRST GETCURRENT......uint16 TWBO_LSBFIRST GETDEFAULT......uint16 TWBO_LSBFIRST SET.............TWBO_LSBFIRST ok SET.............TWBO_LSBFIRST ok ICAP_BITORDERCODES: GET............*uint16 ENUM{ TWBO_LSBFIRST, TWBO_LSBFIRST } Current: TWBO_LSBFIRST, Default: TWBO_LSBFIRST GETCURRENT......uint16 TWBO_LSBFIRST GETDEFAULT......uint16 TWBO_LSBFIRST SET.............TWBO_LSBFIRST ok SET.............TWBO_LSBFIRST ok ICAP_BRIGHTNESS: GET............*fix32 From -100 To 100 Step 1, Current: 0, Default: 0 GETCURRENT......fix32 0 GETDEFAULT......fix32 0 SET.............0 ok SET.............-100 ok SET.............-50 ok SET.............50 ok SET.............100 ok 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_CONTRAST: GET............*fix32 From -100 To 100 Step 1, Current: 0, Default: 0 GETCURRENT......fix32 0 GETDEFAULT......fix32 0 SET.............0 ok SET.............-100 ok SET.............-50 ok SET.............50 ok SET.............100 ok ICAP_FLASHUSED: GET............*bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......*no change/no error SET(FALSE)......ok ICAP_GAMMA: GET............*returned invalid Container. GETCURRENT......fix32 2 GETDEFAULT......fix32 2 ICAP_HIGHLIGHT: GET.............fix32 From 0 To 255 Step 1, Current: 255, Default: 255 GETCURRENT......fix32 255 GETDEFAULT......fix32 255 SET.............0 ok SET.............255 ok SET.............63 ok SET.............127 ok SET.............191 ok ICAP_IMAGEFILEFORMAT: GET............*uint16 ENUM{ TWFF_TIFF, TWFF_TIFF, TWFF_PICT, TWFF_TIFF, TWFF_BMP } Current: TWFF_PICT, Default: TWFF_PICT GETCURRENT......uint16 TWFF_BMP GETDEFAULT......uint16 TWFF_BMP SET.............TWFF_TIFF ok SET.............TWFF_TIFF ok SET.............TWFF_PICT ok SET.............TWFF_TIFF ok SET.............TWFF_BMP ok ICAP_JPEGPIXELTYPE: GET............*uint16 ENUM{ TWPT_BW, TWPT_BW, TWPT_GRAY } Current: TWPT_BW, Default: TWPT_BW GETCURRENT......uint16 TWPT_GRAY GETDEFAULT......uint16 TWPT_GRAY SET.............TWPT_BW ok SET.............TWPT_BW ok SET.............TWPT_GRAY ok ICAP_LAMPSTATE: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......*no change/no error SET(FALSE)......ok ICAP_LIGHTPATH: GET............*uint16 ENUM{ TWLP_REFLECTIVE, TWLP_REFLECTIVE } Current: TWLP_REFLECTIVE, Default: TWLP_REFLECTIVE GETCURRENT......uint16 TWLP_REFLECTIVE GETDEFAULT......uint16 TWLP_REFLECTIVE SET.............TWLP_REFLECTIVE ok SET.............TWLP_REFLECTIVE ok ICAP_LIGHTSOURCE: GET............*uint16 ENUM{ TWLS_RED, TWLS_RED, TWLS_GREEN, TWLS_RED, TWLS_BLUE, TWLS_RED, TWLS_NONE } Current: TWLS_RED, Default: TWLS_RED GETCURRENT......uint16 TWLS_GREEN GETDEFAULT......uint16 TWLS_GREEN SET.............TWLS_RED ok SET.............TWLS_RED ok SET.............TWLS_GREEN ok SET.............TWLS_RED ok SET.............TWLS_BLUE ok SET.............TWLS_RED ok SET.............TWLS_NONE ok ICAP_ORIENTATION: GET............*uint16 ENUM{ TWOR_ROT0, TWOR_ROT0, TWOR_ROT90, TWOR_ROT0 } Current: TWOR_ROT0, Default: TWOR_ROT0 GETCURRENT......uint16 TWOR_ROT0 GETDEFAULT......uint16 TWOR_ROT0 SET.............TWOR_ROT0 ok SET.............TWOR_ROT0 ok SET.............TWOR_ROT90 ok SET.............TWOR_ROT0 ok ICAP_PHYSICALHEIGHT: GET............*fix32 From 0 To 30000 Step 1, Current: 11, Default: 11 GETCURRENT......fix32 11 GETDEFAULT......fix32 11 ICAP_PHYSICALWIDTH: GET............*fix32 From 0 To 8.499985 Step 1, Current: 8, Default: 8.499985 GETCURRENT......fix32 8 GETDEFAULT......fix32 8 ICAP_PIXELFLAVOR: GET............*uint16 ENUM{ TWPF_CHOCOLATE, TWPF_CHOCOLATE } Current: TWPF_CHOCOLATE, Default: TWPF_CHOCOLATE GETCURRENT......uint16 TWPF_CHOCOLATE GETDEFAULT......uint16 TWPF_CHOCOLATE SET.............TWPF_CHOCOLATE ok SET.............TWPF_CHOCOLATE ok ICAP_PIXELFLAVORCODES: GET............*uint16 ENUM{ TWPF_CHOCOLATE, TWPF_CHOCOLATE } Current: TWPF_CHOCOLATE, Default: TWPF_CHOCOLATE GETCURRENT......uint16 TWPF_CHOCOLATE GETDEFAULT......uint16 TWPF_CHOCOLATE SET.............TWPF_CHOCOLATE ok SET.............TWPF_CHOCOLATE ok ICAP_PIXELTYPE: GET............*uint16 ENUM{ TWPT_BW, TWPT_BW, TWPT_GRAY } Current: TWPT_GRAY, Default: TWPT_GRAY GETCURRENT......uint16 TWPT_RGB GETDEFAULT......uint16 TWPT_RGB SET.............TWPT_BW ok SET.............TWPT_BW ok SET.............TWPT_GRAY ok ICAP_PLANARCHUNKY: GET............*not supported. GETCURRENT.....*not supported. GETDEFAULT.....*not supported. ICAP_ROTATION: GET.............fix32 From -360 To 360 Step 1, Current: 0, Default: 0 GETCURRENT......fix32 0 GETDEFAULT......fix32 0 SET.............0 ok SET.............-360 ok SET.............-180 ok SET.............180 ok SET.............360 ok ICAP_SHADOW: GET.............fix32 From 0 To 255 Step 1, Current: 0, Default: 0 GETCURRENT......fix32 0 GETDEFAULT......fix32 0 SET.............0 ok SET.............63 ok SET.............127 ok SET.............191 ok SET.............255 ok ICAP_THRESHOLD: GET............*fix32 From 0 To 255 Step 1, Current: 127, Default: 127 GETCURRENT......fix32 127 GETDEFAULT......fix32 127 SET.............0 ok SET.............127 ok SET.............63 ok SET.............191 ok SET.............255 ok ICAP_UNDEFINEDIMAGESIZE: GET.............bool FALSE GETCURRENT......bool FALSE GETDEFAULT......bool FALSE SET(TRUE)......*no change/no error SET(FALSE)......ok ICAP_UNITS: GET............*uint16 ENUM{ TWUN_INCHES, TWUN_INCHES, TWUN_CENTIMETERS } Current: TWUN_INCHES, Default: TWUN_INCHES GETCURRENT......uint16 TWUN_INCHES GETDEFAULT......uint16 TWUN_INCHES SET.............TWUN_INCHES ok SET.............TWUN_INCHES ok SET.............TWUN_CENTIMETERS ok ICAP_XFERMECH: GET............*uint16 ENUM{ TWSX_NATIVE, TWSX_NATIVE, TWSX_FILE } Current: TWSX_NATIVE, Default: TWSX_NATIVE GETCURRENT......uint16 TWSX_NATIVE GETDEFAULT......uint16 TWSX_NATIVE SET.............TWSX_NATIVE ok SET.............TWSX_NATIVE ok SET.............TWSX_FILE ok ICAP_XNATIVERESOLUTION: GET............*fix32 From 100 To 600 Step 100, Current: 600, Default: 600 GETCURRENT......fix32 600 GETDEFAULT......fix32 600 ICAP_XRESOLUTION: GET.............fix32 From 100 To 1200 Step 50, Current: 300, Default: 300 GETCURRENT......fix32 300 GETDEFAULT......fix32 300 SET.............300 ok SET.............100 ok SET.............350 ok SET.............650 ok SET.............900 ok SET.............1200 ok ICAP_XSCALING: GET.............fix32 From 0.009995 To 10 Step 0.009995, Current: 1, Default: 1 GETCURRENT......fix32 1 GETDEFAULT......fix32 1 SET.............0.009995 ok SET.............2.498627 ok SET.............4.997253 ok SET.............7.49588 ok SET.............9.994507 ok ICAP_YNATIVERESOLUTION: GET............*fix32 From 100 To 600 Step 100, Current: 600, Default: 600 GETCURRENT......fix32 600 GETDEFAULT......fix32 600 ICAP_YRESOLUTION: GET.............fix32 From 100 To 1200 Step 50, Current: 300, Default: 300 GETCURRENT......fix32 300 GETDEFAULT......fix32 300 SET.............300 ok SET.............100 ok SET.............350 ok SET.............650 ok SET.............900 ok SET.............1200 ok ICAP_YSCALING: GET.............fix32 From 0.009995 To 10 Step 0.009995, Current: 1, Default: 1 GETCURRENT......fix32 1 GETDEFAULT......fix32 1 SET.............0.009995 ok SET.............2.498627 ok SET.............4.997253 ok SET.............7.49588 ok SET.............9.994507 ok Section 2. File System DG_CONTROL, DAT_FILESYSTEM, MSG_CHANGEDIRECTORY("/") => Success. Root Entry Type Group TWFY_UNKNOWN Section 3. Image Layout DG_IMAGE, DAT_IMAGELAYOUT, MSG_RESET => OK. DG_IMAGE, DAT_IMAGELAYOUT, MSG_GETDEFAULT => ( 0, 0, 8.49998, 11.5). DG_IMAGE, DAT_IMAGELAYOUT, MSG_GET => ( 0, 0, 8.49998, 11.5). DG_IMAGE, DAT_IMAGELAYOUT, MSG_SET (1.06, 1.91, 2.12, 3.83) => Failed. ---------- Questions [? items] ---------- (0) CAP_AUTHOR: GET value sure has a lot of odd characters in it: ¨ð2¨ð2(õ2qn¤~ (1) CAP_AUTHOR, GETCURRENT value sure has a lot of odd characters in it: (õ2qn¤~ (2) CAP_AUTHOR, GETDEFAULT value sure has a lot of odd characters in it: (õ2qn¤~ (3) CAP_CAPTION: GET value sure has a lot of odd characters in it: è4 è4xè4ƒn¤~ (4) CAP_CAPTION, GETCURRENT value sure has a lot of odd characters in it: xè4ƒn¤~ (5) CAP_CAPTION, GETDEFAULT value sure has a lot of odd characters in it: xè4ƒn¤~ (6) ICAP_LIGHTSOURCE: GET after open is TWLS_RED? ---------- Compliance Issues [* items] ---------- (0) CAP_SUPPORTEDCAPS: GET worked, but cap is not in CAP_SUPPORTEDCAPS. (1) CAP_SUPPORTEDCAPS, GETCURRENT: must return an ARRAY (2) CAP_SUPPORTEDCAPS, GETDEFAULT: must return an ARRAY (3) ICAP_PIXELTYPE: GET: duplicate item value: TWPT_BW (4) ICAP_UNITS: GET: duplicate item value: TWUN_INCHES (5) ICAP_XFERMECH: GET: duplicate item value: TWSX_NATIVE (6) ICAP_XFERMECH: GET value does not include TWSX_MEMORY. (7) CAP_TIMEDATE: GET = "˜¶8˜¶8ȶ8ùn¤~", which is not YYYY/MM/DD HH:mm:SS.sss (8) CAP_TIMEDATE, GETCURRENT = "ȶ8ùn¤~", which is not YYYY/MM/DD HH:mm:SS.sss (9) CAP_TIMEDATE, GETDEFAULT = "ȶ8ùn¤~", which is not YYYY/MM/DD HH:mm:SS.sss (10) ICAP_BRIGHTNESS: GET minimum value not -1000. (11) ICAP_BRIGHTNESS: GET maximum value not 1000. (12) ICAP_CONTRAST: GET minimum value not -1000. (13) ICAP_CONTRAST: GET maximum value not 1000. (14) ICAP_FLASHUSED: GET in a device that supports CAP_PAPERDETECTABLE?? (15) ICAP_GAMMA: GET returned an invalid container. (16) ICAP_IMAGEFILEFORMAT: GET: duplicate item value: TWFF_TIFF (17) ICAP_IMAGEFILEFORMAT: GET: duplicate item value: TWFF_TIFF (18) ICAP_IMAGEFILEFORMAT: GET contains TWFF_PICT! Incredibly unlikely. (19) ICAP_LIGHTSOURCE: GET: duplicate item value: TWLS_RED (20) ICAP_LIGHTSOURCE: GET: duplicate item value: TWLS_RED (21) ICAP_LIGHTSOURCE: GET: duplicate item value: TWLS_RED (22) ICAP_ORIENTATION: GET: duplicate item value: TWOR_ROT0 (23) ICAP_ORIENTATION: GET: duplicate item value: TWOR_ROT0 (24) ICAP_PHYSICALWIDTH: GET produced a container of the wrong format. (25) ICAP_PHYSICALHEIGHT: GET produced a container of the wrong format. (26) ICAP_XNATIVERESOLUTION: GET produced a container of the wrong format. (27) ICAP_YNATIVERESOLUTION: GET produced a container of the wrong format. (28) ICAP_BITORDER: GET: duplicate item value: TWBO_LSBFIRST (29) ICAP_BITORDER: GET after open, current value isn't TWBO_MSBFIRST (30) ICAP_LIGHTPATH: GET: duplicate item value: TWLP_REFLECTIVE (31) ICAP_PIXELFLAVOR: GET: duplicate item value: TWPF_CHOCOLATE (32) ICAP_PLANARCHUNKY: GET failed when it is required of all sources. (33) ICAP_PLANARCHUNKY: GETCURRENT failed when it is required of all sources. (34) ICAP_PLANARCHUNKY: GETDEFAULT failed when it is required of all sources. (35) ICAP_THRESHOLD: GET after open, current value is not 128. (36) ICAP_BITORDERCODES: GET: duplicate item value: TWBO_LSBFIRST (37) ICAP_PIXELFLAVORCODES: GET: duplicate item value: TWPF_CHOCOLATE (38) ICAP_JPEGPIXELTYPE: GET: duplicate item value: TWPT_BW (39) ICAP_JPEGPIXELTYPE: GET contains invalid value: TWPT_BW (40) ICAP_BITDEPTH: GET: current value (0) is invalid (41) ICAP_BITDEPTH: GET contains invalid value: 0 (42) ICAP_BITDEPTHREDUCTION: GET: duplicate item value: TWBR_THRESHOLD (43) ICAP_BITDEPTHREDUCTION: GET: duplicate item value: TWBR_THRESHOLD (44) CAP_SUPPORTEDCAPS: RESET succeeded when it should fail. (45) CAP_DEVICEONLINE: RESET succeeded when it should fail. (46) CAP_FEEDERLOADED: RESET succeeded when it should fail. (47) CAP_TIMEDATE: RESET succeeded when it should fail. (48) CAP_PAPERDETECTABLE: RESET succeeded when it should fail. (49) CAP_UICONTROLLABLE: RESET succeeded when it should fail. (50) ICAP_PHYSICALWIDTH: RESET succeeded when it should fail. (51) ICAP_PHYSICALHEIGHT: RESET succeeded when it should fail. (52) ICAP_XNATIVERESOLUTION: RESET succeeded when it should fail. (53) ICAP_YNATIVERESOLUTION: RESET succeeded when it should fail. (54) CAP_AUTHOR: SET("¨ð2¨ð2(õ2qn¤~") reported success but value not accepted! (55) CAP_AUTHOR: SET failed on all values. (56) CAP_AUTHOR: RESET threw an unhandled exception! (57) CAP_CAPTION: RESET threw an unhandled exception! (58) CAP_FEEDERENABLED: Could not set to FALSE. (59) CAP_INDICATORS: SET(FALSE) reported success but value didn't change! (60) ICAP_AUTOBRIGHT: SET(TRUE) reported success but value didn't change! (61) ICAP_FLASHUSED: SET(TRUE) reported success but value didn't change! (62) ICAP_LAMPSTATE: SET(TRUE) reported success but value didn't change! (63) ICAP_UNDEFINEDIMAGESIZE: SET(TRUE) reported success but value didn't change! (64) DAT_FILESYSTEM: MSG_GETFIRSTFILE returned FileType=TWFY_UNKNOWN (65) DAT_FILESYSTEM: MSG_GETFIRSTFILE (entry 0) returned OutputName="" (66) DG_IMAGE, DAT_IMAGELAYOUT, MSG_SET (1.06, 1.91, 2.12, 3.83) failed although it is mandatory. ------------------------------------------------------------------------ End Twister Analysis.