You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
5.1 KiB
111 lines
5.1 KiB
#ifndef __IOBLOCKDEFS
|
|
#define __IOBLOCKDEFS
|
|
|
|
#include "pch.h"
|
|
|
|
#define MAX_IO_HANDLES 16
|
|
#define DWORD_ALIGN 0
|
|
#define LEFT_JUSTIFIED 0
|
|
#define CENTERED 1
|
|
#define RIGHT_JUSTIFIED 2
|
|
#define TOP_JUSTIFIED 0
|
|
#define CENTERED 1
|
|
#define BOTTOM_JUSTIFIED 2
|
|
|
|
#define XRESOLUTION_ID 2
|
|
#define YRESOLUTION_ID 3
|
|
#define XPOS_ID 4
|
|
#define YPOS_ID 5
|
|
#define XEXT_ID 6
|
|
#define YEXT_ID 7
|
|
#define BRIGHTNESS_ID 8
|
|
#define CONTRAST_ID 9
|
|
#define DATA_TYPE_ID 10
|
|
#define BIT_DEPTH_ID 11
|
|
#define NEGATIVE_ID 12
|
|
#define PIXEL_PACKING_ID 13
|
|
#define PIXEL_FORMAT_ID 14
|
|
#define BED_WIDTH_ID 15
|
|
#define BED_HEIGHT_ID 16
|
|
#define XOPTICAL_ID 17
|
|
#define YOPTICAL_ID 18
|
|
#define ADF_ID 19
|
|
#define TPA_ID 20
|
|
#define ADF_WIDTH_ID 21
|
|
#define ADF_HEIGHT_ID 22
|
|
#define ADF_VJUSTIFY_ID 23
|
|
#define ADF_HJUSTIFY_ID 24
|
|
#define ADF_MAX_PAGES_ID 25
|
|
#define FIRMWARE_VER_ID 26
|
|
#define DATA_ALIGN_ID 27
|
|
|
|
typedef struct _GSD_EVENT_INFO {
|
|
GUID *pEventGUID; // pointer to the GUID of event that just occurred
|
|
HANDLE hShutDownEvent; // handle to the shutdown event (interrupt usage only)
|
|
HANDLE *phSignalEvent; // pointer to event handle to used to signal service (interrupt usage only)
|
|
} GSD_EVENT_INFO, *PGSD_EVENT_INFO;
|
|
|
|
typedef struct _GSD_INFO {
|
|
LPTSTR szDeviceName; // Device Name (Device Description from DeviceData section)
|
|
LPTSTR szProductFileName; // Product initialization script
|
|
LPTSTR szFamilyFileName; // Product family script
|
|
} GSD_INFO, *PGSD_INFO;
|
|
|
|
typedef struct _RANGEVALUEEX {
|
|
LONG lMin; // minimum value
|
|
LONG lMax; // maximum value
|
|
LONG lNom; // nominal value
|
|
LONG lStep; // increment/step value
|
|
} RANGEVALUEEX, *PRANGEVALUEEX;
|
|
|
|
typedef struct _SCANSETTINGS {
|
|
HANDLE DeviceIOHandles[MAX_IO_HANDLES]; // data pipes
|
|
// string values
|
|
TCHAR Version[10]; // GSD version
|
|
TCHAR DeviceName[255]; // Device Name ??(needed?)
|
|
TCHAR FirmwareVersion[10]; // firmware version
|
|
// current values
|
|
LONG BUSType; // bus type ??(needed?)
|
|
LONG bNegative; // negative on/off
|
|
LONG CurrentXResolution; // current x resolution setting
|
|
LONG CurrentYResolution; // current y resolution setting
|
|
LONG BedWidth; // bed width (1/1000th inch)
|
|
LONG BedHeight; // bed height (1/1000th inch)
|
|
LONG FeederWidth; // feeder width (1/1000th inch)
|
|
LONG FeederHeight; // feeder height (1/1000th inch)
|
|
LONG FeederJustification; // feeder justification
|
|
LONG HFeederJustification; // feeder horizontal justification
|
|
LONG VFeederJustification; // feeder vertical justification
|
|
LONG MaxADFPageCapacity; // max page capacity of feeder
|
|
LONG XOpticalResolution; // optical x resolution
|
|
LONG YOpticalResolution; // optical y resolution
|
|
LONG CurrentBrightness; // current brightness setting
|
|
LONG CurrentContrast; // current contrast setting
|
|
LONG CurrentDataType; // current data type setting
|
|
LONG CurrentBitDepth; // current bit depth setting
|
|
LONG CurrentXPos; // current x position setting
|
|
LONG CurrentYPos; // current u position setting
|
|
LONG CurrentXExtent; // current x extent setting
|
|
LONG CurrentYExtent; // current y extent setting
|
|
LONG ADFSupport; // ADF support TRUE/FALSE
|
|
LONG TPASupport; // TPA support TRUE/FALSE
|
|
LONG RawPixelPackingOrder; // raw pixel packing order
|
|
LONG RawPixelFormat; // raw pixel format
|
|
LONG RawDataAlignment; // raw data alignment
|
|
// Range values
|
|
RANGEVALUEEX XSupportedResolutionsRange; // valid values for x resolution
|
|
RANGEVALUEEX YSupportedResolutionsRange; // valid values for y resolution
|
|
RANGEVALUEEX XExtentsRange; // valid values for x extent
|
|
RANGEVALUEEX YExtentsRange; // valid values for y extent
|
|
RANGEVALUEEX XPosRange; // valid values for x position
|
|
RANGEVALUEEX YPosRange; // valid values for y position
|
|
RANGEVALUEEX BrightnessRange; // valid values for brightness
|
|
RANGEVALUEEX ContrastRange; // valid values for contrast
|
|
// List values
|
|
PLONG XSupportedResolutionsList; // valid values for x resolution (LIST)
|
|
PLONG YSupportedResolutionsList; // valid values for y resolution (LIST)
|
|
PLONG SupportedDataTypesList; // supported data types (LIST)
|
|
|
|
}SCANSETTINGS, *PSCANSETTIINGS;
|
|
|
|
#endif
|