// wiamicro.h
typedef struct _SCANINFO {
LONG ADF;
LONG TPA;
LONG Endorser;
LONG OpticalXResolution;
LONG OpticalYResolution;
LONG BedWidth;
LONG BedHeight;
RANGEVALUE IntensityRange;
RANGEVALUE ContrastRange;
LONG SupportedCompressionType;
LONG SupportedDataTypes;
LONG WidthPixels;
LONG WidthBytes;
LONG Lines;
LONG DataType;
LONG PixelBits;
LONG Intensity;
LONG Contrast;
LONG Xresolution;
LONG Yresolution;
SCANWINDOW Window;
LONG DitherPattern;
LONG Negative;
LONG Mirror;
LONG AutoBack;
LONG ColorDitherPattern;
LONG ToneMap;
LONG Compression;
LONG RawDataFormat;
LONG RawPixelOrder;
LONG bNeedDataAlignment;
LONG DelayBetweenRead;
LONG MaxBufferSize;
HANDLE DeviceIOHandles[MAX_IO_HANDLES];
LONG lReserved[MAX_RESERVED];
VOID *pMicroDriverContext;
} SCANINFO, *PSCANINFO;
View the official Windows Driver Kit DDI referenceNo description available.
The SCANINFO structure is used to store and communicate information about a scan acquisition. The WIA Flatbed Driver reads values from the SCANINFO structure, but never writes values. It is the microdriver's responsibility to set values for the SCANINFO members.
ADFIndicates whether the scanner supports an automatic document feeder (ADF). This member can be one of the following values:
| Value | Meaning |
|---|---|
| 0 | The scanner does not support an ADF. |
| 1 | The scanner supports an ADF. |
| 2 | The scanner supports an ADF with duplex capability. |
TPAIndicates whether the scanner supports TPA (TransParency Adapter). The value can be:
0 - not supported
1 - supported
EndorserIndicates whether the scanner has endorser capabilities. The value can be:
0 - not supported
1 - supported
OpticalXResolutionSpecifies the horizontal dpi setting of the scanner optics.
OpticalYResolutionSpecifies the vertical dpi setting of the scanner optics.
BedWidthSpecifies the bed width of the scanner in thousandths of an inch.
BedHeightSpecifies the bed height of the scanner in thousandths of an inch.
IntensityRangeSpecifies the intensity/brightness range values of the scanner.
ContrastRangeSpecifies the contrast range values of the scanner.
SupportedCompressionTypeSpecifies a mask value of supported compression types. A value of zero indicates that no compression types are supported.
SupportedDataTypesSpecifies a mask value of supported data types. A value of zero indicates that no data types are supported. This member can be the bitwise OR of the following.
| Value | Meaning |
|---|---|
| SUPPORT_BW | The image is 1 bit-per-pixel black and white. |
| SUPPORT_COLOR | The image is 24 bits-per-pixel color. |
| SUPPORT_GRAYSCALE | The image is 8 bits-per-pixel grayscale. |
WidthPixelsSpecifies the width of the current image in pixels.
WidthBytesSpecifies the width of the current image in bytes.
LinesSpecifies the height of the current image in pixels.
DataTypeSpecifies the current data type set of the current image. This member can be set to one of the following.
| Value | Meaning |
|---|---|
| WIA_DATA_COLOR | The driver supports 24 bit-per-pixel color. |
| WIA_DATA_COLOR_DITHER | This value is not supported in the WIA Flatbed driver. |
| WIA_DATA_COLOR_THRESHOLD | This value is not supported in the WIA Flatbed driver. |
| WIA_DATA_DITHER | This value is not supported in the WIA Flatbed driver. |
| WIA_DATA_GRAYSCALE | The driver supports 8 bit-per-pixel grayscale. |
| WIA_DATA_THRESHOLD | The driver supports 1 bit-per-pixel black and white. |
PixelBitsSpecifies the current bit depth setting of the current image.
IntensitySpecifies the current intensity/brightness setting of the scanner.
ContrastSpecifies the current contrast setting of the scanner.
XresolutionSpecifies the horizontal dpi setting of the scanner optics.
YresolutionSpecifies the vertical dpi setting of the scanner optics.
WindowSpecifies the current scanner window settings.
DitherPatternSpecifies the dither pattern of the scanner.
NegativeSpecifies whether negative is on or off. The value can be:
0 - off
1 - on
MirrorSpecifies whether mirror is on or off. The value can be:
0 - off
1 - on
AutoBackSpecifies whether AutoBack is on or off. The value can be:
0 - off
1 - on
ColorDitherPatternReserved. Set to zero.
ToneMapReserved. Set to zero.
CompressionSpecifies whether compression is on or off for the scanner. The value can be:
0 - off
1 - on
RawDataFormatSpecifies the raw data format for the scanner. The value can be:
0 - packed data
1 - planar data
RawPixelOrderSpecifies the pixel order for the scanner. The value can be:
0 - RGB
1 - BGR
bNeedDataAlignmentSpecifies whether data alignment is needed for the scanner. The value can be:
0 - false
1 - true
DelayBetweenReadSpecifies the time delay in milliseconds between Scan function calls that the scanner can support.
MaxBufferSizeSpecifies the maximum buffer size in the scanner.
DeviceIOHandlesSpecifies an array of device I/O handles needed for device communication.
lReservedSpecifies an array of reserved bits.
pMicroDriverContextPoints to the microdriver's context. The microdriver allocates the buffer pointed to by this member. The buffer should be allocated in CMD_INITIALIZE, and freed in CMD_UNINITIALIZE. (See Required Commands.) The WIA Flatbed driver knows nothing of this pointer, and hence will not alter the memory pointed to by this member.
This structure is used as a parameter in the microdriver's SetPixelWindow, and Scan functions.