This function retrieves the possible setting values for a specified property of the scan device

[C++Builder]   DWORD IKScanGetCapEnum(HANDLE AppHandle, HANDLE SrcHandle, LPCSTR ScanDsName, WORD CapNo, WORD *ConType, float *List, LPSTR StringList, DWORD *CurrentIndex, DWORD *DefaultIndex, DWORD ListNum);
[Delphi]   function IKScanGetCapEnum(AppHandle, SrcHandle: THandle; ScanDsName: PChar; CapNo: Word; var ConType: Word; var List: Single; StringList: PChar; var CurrentIndex, DefaultIndex: DWORD; ListNum: DWORD): DWORD;

Parameters

Name Explanation
AppHandle The application handle retrieved by IKScanInitialize
SrcHandle The scan device handle retrieved by IKScanOpenDS or 0
ScanDsName The name of the datasource (scan device) Required when the SrcHandle is 0
CapNo The number for the retrieved property (in hexidecimal)
0x0100 Compression method
0x0101 Pixel type
0x0102 Scan units of measurement
0x0103 Method of transfer
0x1101 Brightness
0x1103 Contrast
0x1108 Gamma
0x1109 Halftone
0x110a Highlight
0x1110 Paper orientation
0x1113 Shadow
0x1118 Horizontal resolution
0x1119 Vertical resolution
0x1121 Rotation angle
0x1122 Paper size
0x1123 Threshold
0x1124 Horizontal scaling
0x1125 Vertical scaling
0x112c Method of color reduction
0x1147 Image filter
0x1148 Noise filter
0x1149 Overscan
0x1153 JPEG quality coefficient
0x115c Image merge
0xf001 Scanning speed
0xf002 Moire filter
0xf004 Sharpness
0xf006 Extended UI Mode
0xf007 Dynamic threshold
0xf00b SkipBlankPage
0xf00e Text enhancement
In Delphi, replace 0x with $.
ConType A variable that contains the type of the retrieved property value (see below)
List An array containing the retrieved values (Use when CapNo refers to properies other than HalfTone)
In C++Builder, pass the pointer to the first element in the array.
In Delphi, If Lt: array [0..2] of Single, then arguments are returned in the first element of the array Lt[0]
StringList A variable containing the retrieved string (Used when CapNo refers to HalfTone)
CurrentIndex Refers to the current value's index in the List array. (The index starts from 0)
List[CurrentIndex] = The current value
DefaultIndex Refers to the default value's index in the List array. (The index starts from 0)
List[DefaultIndex] = The default value
ListNum The number of elements in the List array

Return Value

When the CapNo refers to halftone
If StringList is NULL (C++Builder) or nil (Delphi), then the size of the necessary string is returned. If a variable is set into StringList then the number of supported HalfTones are returned

When the CapNo refers to settings other than halftonether than halftone
If ConType=3 or 4, then the number is retrieved
If ConType=5 then 1 is returned, if ConType=6 then 5 is returned (these are constants)
If List is NULL or ListNum is 0 then the number of elements in the appropriate array are returned.
If 0 is returned then there was an error. Please refer to the error status.

Explanation

If using the value retrieved from IKScanOpenDS in SrcHandle, then no other application can use the opened datasource (scan device) until the datasource is closed. If SrcHandle is 0 and ScanDsName is blank then you must execute the IKScanSelect function. ("" or null means the datasource selected by IKScanSelect will be used). When CapNo refers to HalfTone, the List array is not used. However, in this case please set the List array to NULL or to a dummy array and set ListNum to 0. When CapNo refers to settings other than HalfTone, StringList is not used, please set it to a blank string, NULL, or a dummy variable.

Regarding ConType values
(0: When False (0) is returned, 3: when an array is returned, 4 when a list is returned, 5: when a single value is returned, 6: when a range is returned)

When CapNo refers to HalfTone
If ConType=3, then the HalfToneList property value is set and CurrentIndex and DefaultIndex are disabled.
If ConType=4, then the HalfToneList property value is set.
If ConType=5, then the HalfToneList property value is set to the current value.

When CapNo refers to something other than HalfTone
If ConType=3, then the values of the List array are set and CurrentIndex and DefaultIndex are disabled.
If ConType=4, then the values of the List array are set.
If ConType=5, then the current value is set in the first element, List[0], of the List array.
If ConType=6, then minimum value is set in the first element, List[0], of the List array; the maximum value is set in the second element, List[1], the step value is set in the third element, List[2], the default value is set in the fourth element, List[3], and the current value is set in the fifth element, List[4].

Regarding the values set into the List array

When CapNo refers to the compression method:
0: uncompressed, 1: PACKBITS, 2: GROUP3-1D, 3: GROUP3-1DEOL, 4: GROUP3-2D, 5: GROUP4, 6: JPEG, 7: LZW, 8: JBIG, 9:PNG, 10: RLE4, 11: RLE8, 12: BITFIELDS (1, 2, 3, 4, 5 are FAX[CCITT], 10, 11, and 12 are BMP)

When CapNo refers to PixelType:
0: Black and White (2 bit), 1: Grayscale, 2: RGB color, 3: Palette color
(Depending on the datasource, values can also range from 4 to 8)

When CapNo refers to Scan Units:
0: Inches, 1: Centimeters, 2: Pica, 3: Points, 4: Twips, 5: Pixels, 6: Millimeters

When CapNo refers to the Method of Transfer:
0: Native, 1: File, 2: Memory, 3: File2

When CapNo refers to the File Format:
0: TIFF, 1: PICT, 2: BMP, 3: XBM, 4: JFIF(JPEG), 5: FPX, 6: TIFF MULTI, 7: PNG, 8: SPIFF, 9: EXIF, 10: PDF, 11: JP2 (JPEG2000 Part1), 13: JPX(JPEG2000 Part2), 14: DEJAVU, 15: PDF/A (Version1), 16: PDF/A (Version2)

When CapNo refers to the Dropout Color:
0: Red, 1: Green, 2: Blue, 3: None, 4: WHite
(Depending on the datasource, values of 5 or 6 may also be set)

When CapNo refers to the Orientation of the paper:
0: 0 degrees (Portrait), 1: 90 degrees, 2: 180 degrees, 3: 270 degrees (Landscape)

When CapNo refers to Paper Size:
0: User defined size, 1: A4, 2: JIS B5, 3: US letter, 4: US legal, 5: A5, 6: ISO B4, 7: ISO B6, 9: US ledger, 10: US executive, 11: A3, 12: ISO B3, 13: A6, 14: C4, 15: C5, 16: C6, 17: 4A0, 18: 2A0, 19: A0, 20: A1, 21: A2, 22: A7, 23: A8, 24: A9, 25: A10, 26: ISO B0, 27: ISO B1, 28: ISO B2, 29: ISO B5, 30: ISO B7, 31: ISO B8, 32: ISO B9, 33: ISO B10, 34: JIS B0, 35: JIS B1, 36: JIS B2, 37: JIS B3, 38: JIS B4, 39: JIS B6, 40: JIS B7, 41: JIS B8, 42: JIS B9, 43: JIS B10, 44: C0, 45: C1, 46: C2, 47: C3, 48: C7, 49: C8, 50: C9, 51: C10, 52: US statement, 53: Business card, 54: Maximum size, 1000: Undefined

When CapNo refers to reduction of Color Depth:
0: Threshold, 1: HalfTone, 2: Custom HalfTone, 3: Diffusion, 4: Dynamic Threshold

When CapNo refers to Image Filter:
0: None, 1: Automatic, 2: LOWPASS, 3: BANDPASS, 4: HIGHPASS

When CapNo refers to Noise Filer:
0: None, 1: Automatic, 2: LONEPIXEL, 3: MAJORITYRULE

When CapNo refers to OverScan:
0: Uses the set scan size to scan
1: Considers the scan size setting and automatically scans
2: Uses the scan size setting as a base then increases the top and bottom dimensions to scan
3: Uses the scan size setting as a base then increases the left and right dimensions to scan
4: Uses the scan size setting as a base then increases the top, bottom, left, and right dimensions to scan

When CapNo refers to ImageMerge:
0: None (image are not merged)
1: Front image is on top, back image on bottom
2: Back image on top, front image on bottom
3: Front image on left, back image on right
4: Back image on left, front image on right

When CapNo refers to Scanning Speed:
For Epson scan drivers: 0 - For quality (Default); 1 - For speed
For Panasonic scan drivers: 0 - Slow (Default); 1 - Normal; 2 - Fast

When CapNo refers to Moire Filter:
Enabled for Epson, Canon DR, PFU, and Panasonic scan drivers.

For Epson Scan Drivers:
0: None
1: Standard (This can be used for general settings)
2: 85lpi (This can be used for Newspapers)
3: 133lpi (This can be used for Magazines and Catalogs)
4: 175lpi (This can be used for Pictures)

For Canon DR Scan Drivers
1: None
2: High scan speed
3: High scan quality

For PFU Scan Drivers
0: None
1: Moire Filter level 1
2: Moire Filter level 2
3: Moire Filter level 3
4: Moire Filter level 4


For Panasonic Scan Drivers
0: No Moire Filter
1: Moire Filter

When CapNo refers to Sharpness:
Enabled for certain Canon DR scanners, Epson scanners, Panasonic scanners, and PFU scanners

Canon DR scan driver (Edge Enhancement)
Values from 0 to 5:
0: uses the scan driver's default value and has the same effect as 3.
1: weakens edges.
5: strengthens edges.

Epson scan driver (Unsharp Mask)
0: None (Default)
1: Weak
2: Normal
3: Strong

Panasonic scan driver (Image Quality)
0: None
1: Smooth
2: Low
3: Standard
4: High
5: Automatic

PFU scan driver
0: None (Default)
1: Weak outline enhancement
2: Medium outline enhancement
3: Strong outline enhancement

When CapNo refers to Extended UI Mode:
Enabled for Epson scan drivers

0: Start up the UI mode that was last used
1: Start up the professional mode
2: Start up the automatic mode
3: Start up the home mode
4: Start up the automatic mode (with no error messages and supressed UI)
5: Start up office mode
7: Start up sheet feed only mode

When CapNo refers to Dynamic Threshold:
Enabled for Panasonic scan drivers

0: None
1: Bright
2: A little brighter
3: Standard
4: A little darker
5: Dark

When CapNo refers to Text Enhancement:
Enabled for Canon DR scan drivers and Epson scan drivers. For Canon DR drivers, PixelType must be 0 and BitDepthReduction must be 0. Canon DR drivers refer to this functionality as "text enhancement". Epson scan drivers refer to it as "character distinction". Text Enhancement is enabled when the UiMode=2

For Canon DR Scan Drivers
0: Text enhancement is not used (default)
1: Text enhancement is used
2: Advanced text enhancement is used
3: High speed text enhancement is used
4, 5: Advanced text enhancement II is used. (Value depends on the functions used)

For Epson Scan Drivers
0: Character distinction is not used. (default)
1: Standard character distinction is used
2: Strong character distinction is used


When CapNo refers to Brightness, Contrast, Gamma, Highlight, Shadow, XResolution, YResolution, Rotation, Threshold, XScaling, YScaling, JPEG Quality Coefficient, and SkipBlankPage then the value returned will be the possible setting value for that property.

Note: whe ConType=6, the result will be the same as that returned from the IKScanGetCapRange.

Regarding the string value set in StringList

When CapNo refers to HalfTone, the name of the HalfTone is set.
When there is only one name "XXX,"
When there is more than one name "XXX,YYY, ,"
XXX and YYY represent the name of the HalfTone, the name are separated by a comma with a comma at the end.

 

[Differences from the ImageKit6]
CapNo referring to File Filter, Dropout Color, Image Filter, Noise Filter, JPEG Quality Coefficient, Scanning Speed, Moire Filter, Sharpness, Extended UI Mode, and Dynamic Threshold were all added with the ImageKit7.

[Differences from the ImageKit7]
CapNo referring to Rotation, OverScan, SkipBlankPage, Text Enhancement were added in the ImageKit8

[Differences from the ImageKit8]
CapNo referring to ImageMerge were added in the ImageKit9

 

The ImageKit9 VCL is a product created by Newtone Corporation