📄 wiadef.h
字号:
#define WIA_IPA_DEPTH_STR L"Bits Per Pixel"
#define WIA_IPA_PREFERRED_FORMAT_STR L"Preferred Format"
#define WIA_IPA_FORMAT_STR L"Format"
#define WIA_IPA_COMPRESSION_STR L"Compression"
#define WIA_IPA_TYMED_STR L"Media Type"
#define WIA_IPA_CHANNELS_PER_PIXEL_STR L"Channels Per Pixel"
#define WIA_IPA_BITS_PER_CHANNEL_STR L"Bits Per Channel"
#define WIA_IPA_PLANAR_STR L"Planar"
#define WIA_IPA_PIXELS_PER_LINE_STR L"Pixels Per Line"
#define WIA_IPA_BYTES_PER_LINE_STR L"Bytes Per Line"
#define WIA_IPA_NUMBER_OF_LINES_STR L"Number of Lines"
#define WIA_IPA_GAMMA_CURVES_STR L"Gamma Curves"
#define WIA_IPA_ITEM_SIZE_STR L"Item Size"
#define WIA_IPA_COLOR_PROFILE_STR L"Color Profiles"
#define WIA_IPA_MIN_BUFFER_SIZE_STR L"Minimum Buffer Size"
#define WIA_IPA_REGION_TYPE_STR L"Region Type"
//
// Constants used with the WIA item properties:
//
//
// Page size constants
//
#define WIA_PAGE_A4 0
#define WIA_PAGE_LETTER 1
#define WIA_PAGE_CUSTOM 2
#define WIA_PAGE_LETTER_WIDTH 8500
#define WIA_PAGE_LETTER_HEIGHT 10500
//
// FORMAT FLAGS constants:
//
#define WIA_TOPDOWN 0x00000001 // biHeight must be negative
#define WIA_BOTTOMUP 0x00000002 // biHeight must be positive
//
// temp new format defn
//
// !!! These definitions need to be merged with OS definitions
// of clipformat ???
//
#define CF_JPEG 19
#define CF_TOPDOWN_DIB 20
#define CF_BOTTOMUP_DIB CF_DIB
#define CF_MULTI_TIFF 22
//
// WIA_IPA_COMPRESSION constants:
//
#define WIA_COMPRESSION_NONE 0
#define WIA_COMPRESSION_BI_RLE4 1
#define WIA_COMPRESSION_BI_RLE8 2
#define WIA_COMPRESSION_G3 3
//
// planar -vs- packed
//
#define WIA_PACKED_PIXEL 0
#define WIA_PLANAR 1
//
// Constants for DataType property
//
#define WIA_DATA_THRESHOLD 0
#define WIA_DATA_DITHER 1
#define WIA_DATA_GRAYSCALE 2
#define WIA_DATA_COLOR 3
#define WIA_DATA_COLOR_THRESHOLD 4
#define WIA_DATA_COLOR_DITHER 5
//
// camera specific item properties IPC
//
#define WIA_IPC_FIRST WIA_IPA_FIRST + WIA_RESERVED_FOR_NEW_PROPS
#define WIA_IPC_THUMBNAIL WIA_IPC_FIRST + 0
#define WIA_IPC_THUMB_WIDTH WIA_IPC_FIRST + 1
#define WIA_IPC_THUMB_HEIGHT WIA_IPC_FIRST + 2
#define WIA_IPC_AUDIO_AVAILABLE WIA_IPC_FIRST + 3
#define WIA_IPC_AUDIO_DATA_FORMAT WIA_IPC_FIRST + 4
#define WIA_IPC_AUDIO_DATA WIA_IPC_FIRST + 5
#define WIA_IPC_LAST WIA_IPC_FIRST + 5
#define WIA_NUM_IPC 1 + WIA_IPC_LAST - WIA_IPC_FIRST
#define WIA_IPC_THUMBNAIL_STR L"Thumbnail Data"
#define WIA_IPC_THUMB_WIDTH_STR L"Thumbnail Width"
#define WIA_IPC_THUMB_HEIGHT_STR L"Thumbnail Height"
#define WIA_IPC_AUDIO_AVAILABLE_STR L"Audio Available"
#define WIA_IPC_AUDIO_DATA_FORMAT_STR L"Audio Format"
#define WIA_IPC_AUDIO_DATA_STR L"Audio Data"
//
// Scanner specific Item properties IPS
//
#define WIA_IPS_FIRST WIA_IPC_FIRST + WIA_RESERVED_FOR_NEW_PROPS
#define WIA_IPS_CUR_INTENT WIA_IPS_FIRST + 0
#define WIA_IPS_XRES WIA_IPS_FIRST + 1
#define WIA_IPS_YRES WIA_IPS_FIRST + 2
#define WIA_IPS_XPOS WIA_IPS_FIRST + 3
#define WIA_IPS_YPOS WIA_IPS_FIRST + 4
#define WIA_IPS_XEXTENT WIA_IPS_FIRST + 5
#define WIA_IPS_YEXTENT WIA_IPS_FIRST + 6
#define WIA_IPS_PHOTOMETRIC_INTERP WIA_IPS_FIRST + 7
#define WIA_IPS_BRIGHTNESS WIA_IPS_FIRST + 8
#define WIA_IPS_CONTRAST WIA_IPS_FIRST + 9
#define WIA_IPS_ORIENTATION WIA_IPS_FIRST + 10
#define WIA_IPS_ROTATION WIA_IPS_FIRST + 11
#define WIA_IPS_MIRROR WIA_IPS_FIRST + 12
#define WIA_IPS_THRESHOLD WIA_IPS_FIRST + 13
#define WIA_IPS_LAST WIA_IPS_FIRST + 13
#define WIA_NUM_IPS 1 + WIA_IPS_LAST - WIA_IPS_FIRST
#define WIA_IPS_CUR_INTENT_STR L"Current Intent"
#define WIA_IPS_XRES_STR L"Horizontal Resolution"
#define WIA_IPS_YRES_STR L"Vertical Resolution"
#define WIA_IPS_XPOS_STR L"Horizontal Start Position"
#define WIA_IPS_YPOS_STR L"Vertical Start Position"
#define WIA_IPS_XEXTENT_STR L"Horizontal Extent"
#define WIA_IPS_YEXTENT_STR L"Vertical Extent"
#define WIA_IPS_PHOTOMETRIC_INTERP_STR L"Photometric Interpretation"
#define WIA_IPS_BRIGHTNESS_STR L"Brightness"
#define WIA_IPS_CONTRAST_STR L"Contrast"
#define WIA_IPS_ORIENTATION_STR L"Orientation"
#define WIA_IPS_ROTATION_STR L"Rotation"
#define WIA_IPS_MIRROR_STR L"Mirror"
#define WIA_IPS_THRESHOLD_STR L"Threshold"
//
// WIA_IPA_BRIGHTNESS constants:
//
#define BRIGHTNESS_LIGHT -1
#define BRIGHTNESS_AUTO -2
#define BRIGHTNESS_NORM -3
#define BRIGHTNESS_DARK -4
//
// WIA_IPA_CONTRAST constants:
//
#define CONTRAST_AUTO -1
//
// WIA property itendifier. WIA extended properties give information
// about the possible values the property may be set to.
// Min, Max, Step are used to set up a range of legal values
// Nom represents the default(nominal) value
// Index constants for accessing range values from array.
//
#define WIA_RANGE_MIN 0
#define WIA_RANGE_NOM 1
#define WIA_RANGE_MAX 2
#define WIA_RANGE_STEP 3
#define WIA_RANGE_NUM_ELEMS 4
#define WIA_LIST_COUNT 0
#define WIA_LIST_NOM 1
#define WIA_LIST_VALUES 2
#define WIA_LIST_NUM_ELEMS 2
#define WIA_FLAG_NOM 0
#define WIA_FLAG_VALUES 1
#define WIA_FLAG_NUM_ELEMS 2
//
// Intent image type constants
// To provide an intent, use an image type and a size/quality flags or'ed together.
// Both flags are optional, the driver or acquisition UI will provide defaults if either is
// not present
//
#define WIA_INTENT_NONE 0x00000000
#define WIA_INTENT_IMAGE_TYPE_COLOR 0x00000001
#define WIA_INTENT_IMAGE_TYPE_GRAYSCALE 0x00000002
#define WIA_INTENT_IMAGE_TYPE_TEXT 0x00000004
#define WIA_INTENT_IMAGE_TYPE_MASK 0x0000000F
//
// Intent size / quality constants
//
#define WIA_INTENT_MINIMIZE_SIZE 0x00010000
#define WIA_INTENT_MAXIMIZE_QUALITY 0x00020000
#define WIA_INTENT_SIZE_MASK 0x000F0000
#define WIA_INTENT_USER 100
//
// remote Device info DIP
//
#define WIA_PRIVATE_DEVPROP 4096
#define WIA_PRIVATE_ITEMPROP 4096
//
// Property ID to name string mapping
//
#ifdef DEFINE_WIA_PROPID_TO_NAME
WIA_PROPID_TO_NAME g_wiaPropIdToName[] =
{
{WIA_DIP_DEV_ID, WIA_DIP_DEV_ID_STR},
{WIA_DIP_VEND_DESC, WIA_DIP_VEND_DESC_STR},
{WIA_DIP_DEV_DESC, WIA_DIP_DEV_DESC_STR},
{WIA_DIP_DEV_TYPE, WIA_DIP_DEV_TYPE_STR},
{WIA_DIP_PORT_NAME, WIA_DIP_PORT_NAME_STR},
{WIA_DIP_DEV_NAME, WIA_DIP_DEV_NAME_STR},
{WIA_DIP_SERVER_NAME, WIA_DIP_SERVER_NAME_STR},
{WIA_DIP_REMOTE_DEV_ID, WIA_DIP_REMOTE_DEV_ID_STR},
{WIA_DIP_UI_CLSID, WIA_DIP_UI_CLSID_STR},
{WIA_DPA_FIRMWARE_VERSION, WIA_DPA_FIRMWARE_VERSION_STR},
{WIA_DPA_CONNECT_STATUS, WIA_DPA_CONNECT_STATUS_STR},
{WIA_DPA_DEVICE_TIME, WIA_DPA_DEVICE_TIME_STR},
{WIA_DPC_PICTURES_TAKEN, WIA_DPC_PICTURES_TAKEN_STR},
{WIA_DPC_PICTURES_REMAINING, WIA_DPC_PICTURES_REMAINING_STR},
{WIA_DPC_EXPOSURE_MODE, WIA_DPC_EXPOSURE_MODE_STR},
{WIA_DPC_EXPOSURE_COMP, WIA_DPC_EXPOSURE_COMP_STR},
{WIA_DPC_EXPOSURE_TIME, WIA_DPC_EXPOSURE_TIME_STR},
{WIA_DPC_FNUMBER, WIA_DPC_FNUMBER_STR},
{WIA_DPC_FLASH_MODE, WIA_DPC_FLASH_MODE_STR},
{WIA_DPC_FOCUS_MODE, WIA_DPC_FOCUS_MODE_STR},
{WIA_DPC_FOCUS_MANUAL_DIST, WIA_DPC_FOCUS_MANUAL_DIST_STR},
{WIA_DPC_ZOOM_POSITION, WIA_DPC_ZOOM_POSITION_STR},
{WIA_DPC_PAN_POSITION, WIA_DPC_PAN_POSITION_STR},
{WIA_DPC_TILT_POSITION, WIA_DPC_TILT_POSITION_STR},
{WIA_DPC_TIMER_MODE, WIA_DPC_TIMER_MODE_STR},
{WIA_DPC_TIMER_VALUE, WIA_DPC_TIMER_VALUE_STR},
{WIA_DPC_POWER_MODE, WIA_DPC_POWER_MODE_STR},
{WIA_DPC_BATTERY_STATUS, WIA_DPC_BATTERY_STATUS_STR},
{WIA_DPS_HORIZONTAL_BED_SIZE, WIA_DPS_HORIZONTAL_BED_SIZE_STR},
{WIA_DPS_VERTICAL_BED_SIZE, WIA_DPS_VERTICAL_BED_SIZE_STR},
{WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE, WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE_STR},
{WIA_DPS_VERTICAL_SHEET_FEED_SIZE, WIA_DPS_VERTICAL_SHEET_FEED_SIZE_STR},
{WIA_DPS_SHEET_FEEDER_REGISTRATION, WIA_DPS_SHEET_FEEDER_REGISTRATION_STR},
{WIA_DPS_HORIZONTAL_BED_REGISTRATION, WIA_DPS_HORIZONTAL_BED_REGISTRATION_STR},
{WIA_DPS_VERTICAL_BED_REGISTRATION, WIA_DPS_VERTICAL_BED_REGISTRATION_STR},
{WIA_DPS_PLATEN_COLOR, WIA_DPS_PLATEN_COLOR_STR},
{WIA_DPS_PAD_COLOR, WIA_DPS_PAD_COLOR_STR},
{WIA_DPS_FILTER_SELECT, WIA_DPS_FILTER_SELECT_STR},
{WIA_DPS_DITHER_SELECT, WIA_DPS_DITHER_SELECT_STR},
{WIA_DPS_DITHER_PATTERN_DATA, WIA_DPS_DITHER_PATTERN_DATA_STR},
{WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES, WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES_STR},
{WIA_DPS_DOCUMENT_HANDLING_STATUS, WIA_DPS_DOCUMENT_HANDLING_STATUS_STR},
{WIA_DPS_DOCUMENT_HANDLING_SELECT, WIA_DPS_DOCUMENT_HANDLING_SELECT_STR},
{WIA_DPS_DOCUMENT_HANDLING_CAPACITY, WIA_DPS_DOCUMENT_HANDLING_CAPACITY_STR},
{WIA_DPS_OPTICAL_XRES, WIA_DPS_OPTICAL_XRES_STR},
{WIA_DPS_OPTICAL_YRES, WIA_DPS_OPTICAL_YRES_STR},
{WIA_DPS_ENDORSER_CHARACTERS, WIA_DPS_ENDORSER_CHARACTERS_STR},
{WIA_DPS_ENDORSER_STRING, WIA_DPS_ENDORSER_STRING_STR},
{WIA_DPS_SCAN_AHEAD_PAGES, WIA_DPS_SCAN_AHEAD_PAGES_STR},
{WIA_DPS_MAX_SCAN_TIME, WIA_DPS_MAX_SCAN_TIME_STR},
{WIA_DPS_PAGES, WIA_DPS_PAGES_STR},
{WIA_DPS_PAGE_SIZE, WIA_DPS_PAGE_SIZE_STR},
{WIA_DPS_PAGE_WIDTH, WIA_DPS_PAGE_WIDTH_STR},
{WIA_DPS_PAGE_HEIGHT, WIA_DPS_PAGE_HEIGHT_STR},
{WIA_IPA_ITEM_NAME, WIA_IPA_ITEM_NAME_STR},
{WIA_IPA_FULL_ITEM_NAME, WIA_IPA_FULL_ITEM_NAME_STR},
{WIA_IPA_ITEM_TIME, WIA_IPA_ITEM_TIME_STR},
{WIA_IPA_ITEM_FLAGS, WIA_IPA_ITEM_FLAGS_STR},
{WIA_IPA_ACCESS_RIGHTS, WIA_IPA_ACCESS_RIGHTS_STR},
{WIA_IPA_DATATYPE, WIA_IPA_DATATYPE_STR},
{WIA_IPA_DEPTH, WIA_IPA_DEPTH_STR},
{WIA_IPA_PREFERRED_FORMAT, WIA_IPA_PREFERRED_FORMAT_STR},
{WIA_IPA_FORMAT, WIA_IPA_FORMAT_STR},
{WIA_IPA_COMPRESSION, WIA_IPA_COMPRESSION_STR},
{WIA_IPA_TYMED, WIA_IPA_TYMED_STR},
{WIA_IPA_CHANNELS_PER_PIXEL, WIA_IPA_CHANNELS_PER_PIXEL_STR},
{WIA_IPA_BITS_PER_CHANNEL, WIA_IPA_BITS_PER_CHANNEL_STR},
{WIA_IPA_PLANAR, WIA_IPA_PLANAR_STR},
{WIA_IPA_PIXELS_PER_LINE, WIA_IPA_PIXELS_PER_LINE_STR},
{WIA_IPA_BYTES_PER_LINE, WIA_IPA_BYTES_PER_LINE_STR},
{WIA_IPA_NUMBER_OF_LINES, WIA_IPA_NUMBER_OF_LINES_STR},
{WIA_IPA_GAMMA_CURVES, WIA_IPA_GAMMA_CURVES_STR},
{WIA_IPA_ITEM_SIZE, WIA_IPA_ITEM_SIZE_STR},
{WIA_IPA_COLOR_PROFILE, WIA_IPA_COLOR_PROFILE_STR},
{WIA_IPA_MIN_BUFFER_SIZE, WIA_IPA_MIN_BUFFER_SIZE_STR},
{WIA_IPA_REGION_TYPE, WIA_IPA_REGION_TYPE_STR},
{WIA_IPC_THUMBNAIL, WIA_IPC_THUMBNAIL_STR},
{WIA_IPC_THUMB_WIDTH, WIA_IPC_THUMB_WIDTH_STR},
{WIA_IPC_THUMB_HEIGHT, WIA_IPC_THUMB_HEIGHT_STR},
{WIA_IPC_AUDIO_AVAILABLE, WIA_IPC_AUDIO_AVAILABLE_STR},
{WIA_IPC_AUDIO_DATA_FORMAT, WIA_IPC_AUDIO_DATA_FORMAT_STR},
{WIA_IPC_AUDIO_DATA, WIA_IPC_AUDIO_DATA_STR},
{WIA_IPS_CUR_INTENT, WIA_IPS_CUR_INTENT_STR},
{WIA_IPS_XRES, WIA_IPS_XRES_STR},
{WIA_IPS_YRES, WIA_IPS_YRES_STR},
{WIA_IPS_XPOS, WIA_IPS_XPOS_STR},
{WIA_IPS_YPOS, WIA_IPS_YPOS_STR},
{WIA_IPS_XEXTENT, WIA_IPS_XEXTENT_STR},
{WIA_IPS_YEXTENT, WIA_IPS_YEXTENT_STR},
{WIA_IPS_PHOTOMETRIC_INTERP, WIA_IPS_PHOTOMETRIC_INTERP_STR},
{WIA_IPS_BRIGHTNESS, WIA_IPS_BRIGHTNESS_STR},
{WIA_IPS_CONTRAST, WIA_IPS_CONTRAST_STR},
{WIA_IPS_ORIENTATION, WIA_IPS_ORIENTATION_STR},
{WIA_IPS_ROTATION, WIA_IPS_ROTATION_STR},
{WIA_IPS_MIRROR, WIA_IPS_MIRROR_STR},
{WIA_IPS_THRESHOLD, WIA_IPS_THRESHOLD_STR},
{0, L"Not a WIA property"}
};
#endif
#endif //WIAPROP_H_INCLUDED
//
// Macro Helpers
//
#define WIA_PROP_LIST_COUNT(ppv) (((PROPVARIANT*)ppv)->cal.cElems - WIA_LIST_VALUES)
#define WIA_PROP_LIST_VALUE(ppv, index) \\
((index > ((PROPVARIANT*) ppv)->cal.cElems - WIA_LIST_VALUES) || (index < -WIA_LIST_NOM)) ?\\
NULL : \\
(((PROPVARIANT*) ppv)->vt == VT_UI1) ? \\
((PROPVARIANT*) ppv)->caub.pElems[WIA_LIST_VALUES + index] : \\
(((PROPVARIANT*) ppv)->vt == VT_UI2) ? \\
((PROPVARIANT*) ppv)->caui.pElems[WIA_LIST_VALUES + index] : \\
(((PROPVARIANT*) ppv)->vt == VT_UI4) ? \\
((PROPVARIANT*) ppv)->caul.pElems[WIA_LIST_VALUES + index] : \\
(((PROPVARIANT*) ppv)->vt == VT_I2) ? \\
((PROPVARIANT*) ppv)->cai.pElems[WIA_LIST_VALUES + index] : \\
(((PROPVARIANT*) ppv)->vt == VT_I4) ? \\
((PROPVARIANT*) ppv)->cal.pElems[WIA_LIST_VALUES + index] : \\
(((PROPVARIANT*) ppv)->vt == VT_R4) ? \\
((PROPVARIANT*) ppv)->caflt.pElems[WIA_LIST_VALUES + index] : \\
(((PROPVARIANT*) ppv)->vt == VT_R8) ? \\
((PROPVARIANT*) ppv)->cadbl.pElems[WIA_LIST_VALUES + index] : \\
(((PROPVARIANT*) ppv)->vt == VT_BSTR) ? \\
(LONG)(((PROPVARIANT*) ppv)->cabstr.pElems[WIA_LIST_VALUES + index]) : \\
NULL
//
// End of Macro Helpers
//
#pragma option pop /*P_O_Pop*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -