Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _WIADEF_H_
      7 #define _WIADEF_H_
      8 
      9 #include <pshpack8.h>
     10 
     11 #ifndef _NO_COM
     12 #include <objbase.h>
     13 #endif
     14 
     15 #ifndef __wia_h__
     16 #error Please include in front wia.h instead.
     17 #endif
     18 
     19 #ifdef __cplusplus
     20 extern "C" {
     21 #endif
     22 
     23 #define FACILITY_WIA 33
     24 
     25 #define BASE_VAL_WIA_ERROR 0x00000000
     26 #define BASE_VAL_WIA_SUCCESS 0x00000000
     27 
     28 #define WIA_ERROR_GENERAL_ERROR MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 1))
     29 #define WIA_ERROR_PAPER_JAM MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 2))
     30 #define WIA_ERROR_PAPER_EMPTY MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 3))
     31 #define WIA_ERROR_PAPER_PROBLEM MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 4))
     32 #define WIA_ERROR_OFFLINE MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 5))
     33 #define WIA_ERROR_BUSY MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 6))
     34 #define WIA_ERROR_WARMING_UP MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 7))
     35 #define WIA_ERROR_USER_INTERVENTION MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 8))
     36 #define WIA_ERROR_ITEM_DELETED MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 9))
     37 #define WIA_ERROR_DEVICE_COMMUNICATION MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 10))
     38 #define WIA_ERROR_INVALID_COMMAND MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 11))
     39 #define WIA_ERROR_INCORRECT_HARDWARE_SETTING MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 12))
     40 #define WIA_ERROR_DEVICE_LOCKED MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 13))
     41 #define WIA_ERROR_EXCEPTION_IN_DRIVER MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 14))
     42 #define WIA_ERROR_INVALID_DRIVER_RESPONSE MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 15))
     43 
     44 #define WIA_STATUS_END_OF_MEDIA MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_WIA,(BASE_VAL_WIA_SUCCESS + 1))
     45 
     46 #define WIA_S_NO_DEVICE_AVAILABLE MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 21))
     47 
     48 #define WIA_SELECT_DEVICE_NODEFAULT 0x00000001
     49 
     50 #define WIA_DEVICE_DIALOG_SINGLE_IMAGE 0x00000002
     51 #define WIA_DEVICE_DIALOG_USE_COMMON_UI 0x00000004
     52 
     53   DEFINE_GUID(WiaImgFmt_UNDEFINED,0xb96b3ca9,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     54   DEFINE_GUID(WiaImgFmt_RAWRGB,0xbca48b55,0xf272,0x4371,0xb0,0xf1,0x4a,0x15,0xd,0x5,0x7b,0xb4);
     55   DEFINE_GUID(WiaImgFmt_MEMORYBMP,0xb96b3caa,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     56   DEFINE_GUID(WiaImgFmt_BMP,0xb96b3cab,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     57   DEFINE_GUID(WiaImgFmt_EMF,0xb96b3cac,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     58   DEFINE_GUID(WiaImgFmt_WMF,0xb96b3cad,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     59   DEFINE_GUID(WiaImgFmt_JPEG,0xb96b3cae,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     60   DEFINE_GUID(WiaImgFmt_PNG,0xb96b3caf,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     61   DEFINE_GUID(WiaImgFmt_GIF,0xb96b3cb0,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     62   DEFINE_GUID(WiaImgFmt_TIFF,0xb96b3cb1,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     63   DEFINE_GUID(WiaImgFmt_EXIF,0xb96b3cb2,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     64   DEFINE_GUID(WiaImgFmt_PHOTOCD,0xb96b3cb3,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     65   DEFINE_GUID(WiaImgFmt_FLASHPIX,0xb96b3cb4,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     66   DEFINE_GUID(WiaImgFmt_ICO,0xb96b3cb5,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e);
     67   DEFINE_GUID(WiaImgFmt_CIFF,0x9821a8ab,0x3a7e,0x4215,0x94,0xe0,0xd2,0x7a,0x46,0x0c,0x03,0xb2);
     68   DEFINE_GUID(WiaImgFmt_PICT,0xa6bc85d8,0x6b3e,0x40ee,0xa9,0x5c,0x25,0xd4,0x82,0xe4,0x1a,0xdc);
     69   DEFINE_GUID(WiaImgFmt_JPEG2K,0x344ee2b2,0x39db,0x4dde,0x81,0x73,0xc4,0xb7,0x5f,0x8f,0x1e,0x49);
     70   DEFINE_GUID(WiaImgFmt_JPEG2KX,0x43e14614,0xc80a,0x4850,0xba,0xf3,0x4b,0x15,0x2d,0xc8,0xda,0x27);
     71   DEFINE_GUID(WiaImgFmt_RTF,0x573dd6a3,0x4834,0x432d,0xa9,0xb5,0xe1,0x98,0xdd,0x9e,0x89,0xd);
     72   DEFINE_GUID(WiaImgFmt_XML,0xb9171457,0xdac8,0x4884,0xb3,0x93,0x15,0xb4,0x71,0xd5,0xf0,0x7e);
     73   DEFINE_GUID(WiaImgFmt_HTML,0xc99a4e62,0x99de,0x4a94,0xac,0xca,0x71,0x95,0x6a,0xc2,0x97,0x7d);
     74   DEFINE_GUID(WiaImgFmt_TXT,0xfafd4d82,0x723f,0x421f,0x93,0x18,0x30,0x50,0x1a,0xc4,0x4b,0x59);
     75   DEFINE_GUID(WiaImgFmt_MPG,0xecd757e4,0xd2ec,0x4f57,0x95,0x5d,0xbc,0xf8,0xa9,0x7c,0x4e,0x52);
     76   DEFINE_GUID(WiaImgFmt_AVI,0x32f8ca14,0x87c,0x4908,0xb7,0xc4,0x67,0x57,0xfe,0x7e,0x90,0xab);
     77   DEFINE_GUID(WiaImgFmt_ASF,0x8d948ee9,0xd0aa,0x4a12,0x9d,0x9a,0x9c,0xc5,0xde,0x36,0x19,0x9b);
     78   DEFINE_GUID(WiaImgFmt_SCRIPT,0xfe7d6c53,0x2dac,0x446a,0xb0,0xbd,0xd7,0x3e,0x21,0xe9,0x24,0xc9);
     79   DEFINE_GUID(WiaImgFmt_EXEC,0x485da097,0x141e,0x4aa5,0xbb,0x3b,0xa5,0x61,0x8d,0x95,0xd0,0x2b);
     80   DEFINE_GUID(WiaImgFmt_UNICODE16,0x1b7639b6,0x6357,0x47d1,0x9a,0x07,0x12,0x45,0x2d,0xc0,0x73,0xe9);
     81   DEFINE_GUID(WiaImgFmt_DPOF,0x369eeeab,0xa0e8,0x45ca,0x86,0xa6,0xa8,0x3c,0xe5,0x69,0x7e,0x28);
     82   DEFINE_GUID(WiaAudFmt_WAV,0xf818e146,0x07af,0x40ff,0xae,0x55,0xbe,0x8f,0x2c,0x06,0x5d,0xbe);
     83   DEFINE_GUID(WiaAudFmt_MP3,0x0fbc71fb,0x43bf,0x49f2,0x91,0x90,0xe6,0xfe,0xcf,0xf3,0x7e,0x54);
     84   DEFINE_GUID(WiaAudFmt_AIFF,0x66e2bf4f,0xb6fc,0x443f,0x94,0xc8,0x2f,0x33,0xc8,0xa6,0x5a,0xaf);
     85   DEFINE_GUID(WiaAudFmt_WMA,0xd61d6413,0x8bc2,0x438f,0x93,0xad,0x21,0xbd,0x48,0x4d,0xb6,0xa1);
     86 
     87 #define WIA_REGISTER_EVENT_CALLBACK 0x00000001
     88 #define WIA_UNREGISTER_EVENT_CALLBACK 0x00000002
     89 #define WIA_SET_DEFAULT_HANDLER 0x00000004
     90 
     91 #define WIA_NOTIFICATION_EVENT 0x00000001
     92 #define WIA_ACTION_EVENT 0x00000002
     93 
     94 #define WIA_IS_DEFAULT_HANDLER 0x00000001
     95 
     96   DEFINE_GUID(WIA_EVENT_DEVICE_DISCONNECTED,0x143e4e83,0x6497,0x11d2,0xa2,0x31,0x0,0xc0,0x4f,0xa3,0x18,0x9);
     97   DEFINE_GUID(WIA_EVENT_DEVICE_CONNECTED,0xa28bbade,0x64b6,0x11d2,0xa2,0x31,0x0,0xc0,0x4f,0xa3,0x18,0x9);
     98   DEFINE_GUID(WIA_EVENT_ITEM_DELETED,0x1d22a559,0xe14f,0x11d2,0xb3,0x26,0x00,0xc0,0x4f,0x68,0xce,0x61);
     99   DEFINE_GUID(WIA_EVENT_ITEM_CREATED,0x4c8f4ef5,0xe14f,0x11d2,0xb3,0x26,0x00,0xc0,0x4f,0x68,0xce,0x61);
    100   DEFINE_GUID(WIA_EVENT_TREE_UPDATED,0xc9859b91,0x4ab2,0x4cd6,0xa1,0xfc,0x58,0x2e,0xec,0x55,0xe5,0x85);
    101   DEFINE_GUID(WIA_EVENT_VOLUME_INSERT,0x9638bbfd,0xd1bd,0x11d2,0xb3,0x1f,0x00,0xc0,0x4f,0x68,0xce,0x61);
    102   DEFINE_GUID(WIA_EVENT_SCAN_IMAGE,0xa6c5a715,0x8c6e,0x11d2,0x97,0x7a,0x0,0x0,0xf8,0x7a,0x92,0x6f);
    103   DEFINE_GUID(WIA_EVENT_SCAN_PRINT_IMAGE,0xb441f425,0x8c6e,0x11d2,0x97,0x7a,0x0,0x0,0xf8,0x7a,0x92,0x6f);
    104   DEFINE_GUID(WIA_EVENT_SCAN_FAX_IMAGE,0xc00eb793,0x8c6e,0x11d2,0x97,0x7a,0x0,0x0,0xf8,0x7a,0x92,0x6f);
    105   DEFINE_GUID(WIA_EVENT_SCAN_OCR_IMAGE,0x9d095b89,0x37d6,0x4877,0xaf,0xed,0x62,0xa2,0x97,0xdc,0x6d,0xbe);
    106   DEFINE_GUID(WIA_EVENT_SCAN_EMAIL_IMAGE,0xc686dcee,0x54f2,0x419e,0x9a,0x27,0x2f,0xc7,0xf2,0xe9,0x8f,0x9e);
    107   DEFINE_GUID(WIA_EVENT_SCAN_FILM_IMAGE,0x9b2b662c,0x6185,0x438c,0xb6,0x8b,0xe3,0x9e,0xe2,0x5e,0x71,0xcb);
    108   DEFINE_GUID(WIA_EVENT_SCAN_IMAGE2,0xfc4767c1,0xc8b3,0x48a2,0x9c,0xfa,0x2e,0x90,0xcb,0x3d,0x35,0x90);
    109   DEFINE_GUID(WIA_EVENT_SCAN_IMAGE3,0x154e27be,0xb617,0x4653,0xac,0xc5,0xf,0xd7,0xbd,0x4c,0x65,0xce);
    110   DEFINE_GUID(WIA_EVENT_SCAN_IMAGE4,0xa65b704a,0x7f3c,0x4447,0xa7,0x5d,0x8a,0x26,0xdf,0xca,0x1f,0xdf);
    111   DEFINE_GUID(WIA_EVENT_STORAGE_CREATED,0x353308b2,0xfe73,0x46c8,0x89,0x5e,0xfa,0x45,0x51,0xcc,0xc8,0x5a);
    112   DEFINE_GUID(WIA_EVENT_STORAGE_DELETED,0x5e41e75e,0x9390,0x44c5,0x9a,0x51,0xe4,0x70,0x19,0xe3,0x90,0xcf);
    113   DEFINE_GUID(WIA_EVENT_STI_PROXY,0xd711f81f,0x1f0d,0x422d,0x86,0x41,0x92,0x7d,0x1b,0x93,0xe5,0xe5);
    114   DEFINE_GUID(WIA_EVENT_CANCEL_IO,0xc860f7b8,0x9ccd,0x41ea,0xbb,0xbf,0x4d,0xd0,0x9c,0x5b,0x17,0x95);
    115   DEFINE_GUID(WIA_EVENT_POWER_SUSPEND,0xa0922ff9,0xc3b4,0x411c,0x9e,0x29,0x03,0xa6,0x69,0x93,0xd2,0xbe);
    116   DEFINE_GUID(WIA_EVENT_POWER_RESUME,0x618f153e,0xf686,0x4350,0x96,0x34,0x41,0x15,0xa3,0x04,0x83,0x0c);
    117   DEFINE_GUID(WIA_EVENT_HANDLER_NO_ACTION,0xe0372b7d,0xe115,0x4525,0xbc,0x55,0xb6,0x29,0xe6,0x8c,0x74,0x5a);
    118   DEFINE_GUID(WIA_EVENT_HANDLER_PROMPT,0x5f4baad0,0x4d59,0x4fcd,0xb2,0x13,0x78,0x3c,0xe7,0xa9,0x2f,0x22);
    119 
    120 #define WIA_EVENT_DEVICE_DISCONNECTED_STR L"Device Disconnected"
    121 #define WIA_EVENT_DEVICE_CONNECTED_STR L"Device Connected"
    122 
    123   DEFINE_GUID(WIA_CMD_SYNCHRONIZE,0x9b26b7b2,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c);
    124   DEFINE_GUID(WIA_CMD_TAKE_PICTURE,0xaf933cac,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c);
    125   DEFINE_GUID(WIA_CMD_DELETE_ALL_ITEMS,0xe208c170,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c);
    126   DEFINE_GUID(WIA_CMD_CHANGE_DOCUMENT,0x04e725b0,0xacae,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c);
    127   DEFINE_GUID(WIA_CMD_UNLOAD_DOCUMENT,0x1f3b3d8e,0xacae,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c);
    128   DEFINE_GUID(WIA_CMD_DIAGNOSTIC,0x10ff52f5,0xde04,0x4cf0,0xa5,0xad,0x69,0x1f,0x8d,0xce,0x01,0x41);
    129   DEFINE_GUID(WIA_CMD_DELETE_DEVICE_TREE,0x73815942,0xdbea,0x11d2,0x84,0x16,0x00,0xc0,0x4f,0xa3,0x61,0x45);
    130   DEFINE_GUID(WIA_CMD_BUILD_DEVICE_TREE,0x9cba5ce0,0xdbea,0x11d2,0x84,0x16,0x00,0xc0,0x4f,0xa3,0x61,0x45);
    131 
    132 #define WIA_ICON_DEVICE_DISCONNECTED (L"sti.dll,-1001")
    133 #define WIA_ICON_DEVICE_CONNECTED (L"sti.dll,-1001")
    134 #define WIA_ICON_ITEM_DELETED (L"sti.dll,-1001")
    135 #define WIA_ICON_ITEM_CREATED (L"sti.dll,-1001")
    136 #define WIA_ICON_VOLUME_INSERT (L"sti.dll,-1001")
    137 #define WIA_ICON_SCAN_BUTTON_PRESS (L"sti.dll,-1001")
    138 #define WIA_ICON_SYNCHRONIZE (L"sti.dll,-2000")
    139 #define WIA_ICON_TAKE_PICTURE (L"sti.dll,-2001")
    140 #define WIA_ICON_DELETE_ALL_ITEMS (L"sti.dll,-2002")
    141 #define WIA_ICON_CHANGE_DOCUMENT (L"sti.dll,-2003")
    142 #define WIA_ICON_UNLOAD_DOCUMENT (L"sti.dll,-2004")
    143 #define WIA_ICON_DELETE_DEVICE_TREE (L"sti.dll,-2005")
    144 #define WIA_ICON_BUILD_DEVICE_TREE (L"sti.dll,-2006")
    145 
    146 #define TYMED_CALLBACK 128
    147 #define TYMED_MULTIPAGE_FILE 256
    148 #define TYMED_MULTIPAGE_CALLBACK 512
    149 
    150 #define IT_MSG_DATA_HEADER 0x0001
    151 #define IT_MSG_DATA 0x0002
    152 #define IT_MSG_STATUS 0x0003
    153 #define IT_MSG_TERMINATION 0x0004
    154 #define IT_MSG_NEW_PAGE 0x0005
    155 #define IT_MSG_FILE_PREVIEW_DATA 0x0006
    156 #define IT_MSG_FILE_PREVIEW_DATA_HEADER 0x0007
    157 
    158 #define IT_STATUS_TRANSFER_FROM_DEVICE 0x0001
    159 #define IT_STATUS_PROCESSING_DATA 0x0002
    160 #define IT_STATUS_TRANSFER_TO_CLIENT 0x0004
    161 
    162 #define WIA_MAJOR_EVENT_DEVICE_CONNECT 0x01
    163 #define WIA_MAJOR_EVENT_DEVICE_DISCONNECT 0x02
    164 #define WIA_MAJOR_EVENT_PICTURE_TAKEN 0x03
    165 #define WIA_MAJOR_EVENT_PICTURE_DELETED 0x04
    166 
    167 #define WIA_DEVICE_NOT_CONNECTED 0
    168 #define WIA_DEVICE_CONNECTED 1
    169 
    170 #define WIA_DEVICE_COMMANDS 1
    171 #define WIA_DEVICE_EVENTS 2
    172 
    173 #define WIA_DEVINFO_ENUM_LOCAL 0x00000010
    174 
    175 #define WiaItemTypeFree 0x00000000
    176 #define WiaItemTypeImage 0x00000001
    177 #define WiaItemTypeFile 0x00000002
    178 #define WiaItemTypeFolder 0x00000004
    179 #define WiaItemTypeRoot 0x00000008
    180 #define WiaItemTypeAnalyze 0x00000010
    181 #define WiaItemTypeAudio 0x00000020
    182 #define WiaItemTypeDevice 0x00000040
    183 #define WiaItemTypeDeleted 0x00000080
    184 #define WiaItemTypeDisconnected 0x00000100
    185 #define WiaItemTypeHPanorama 0x00000200
    186 #define WiaItemTypeVPanorama 0x00000400
    187 #define WiaItemTypeBurst 0x00000800
    188 #define WiaItemTypeStorage 0x00001000
    189 #define WiaItemTypeTransfer 0x00002000
    190 #define WiaItemTypeGenerated 0x00004000
    191 #define WiaItemTypeHasAttachments 0x00008000
    192 #define WiaItemTypeVideo 0x00010000
    193 
    194 #define WiaItemTypeRemoved 0x80000000
    195 
    196 #define WiaItemTypeMask 0x8003FFFF
    197 
    198 #define WIA_MAX_CTX_SIZE 0x01000000
    199 
    200 #define WIA_PROP_READ 0x01
    201 #define WIA_PROP_WRITE 0x02
    202 #define WIA_PROP_RW (WIA_PROP_READ | WIA_PROP_WRITE)
    203 #define WIA_PROP_SYNC_REQUIRED 0x04
    204 
    205 #define WIA_PROP_NONE 0x08
    206 #define WIA_PROP_RANGE 0x10
    207 #define WIA_PROP_LIST 0x20
    208 #define WIA_PROP_FLAG 0x40
    209 
    210 #define WIA_PROP_CACHEABLE 0x10000
    211 
    212 #define WIA_ITEM_CAN_BE_DELETED 0x80
    213 #define WIA_ITEM_READ WIA_PROP_READ
    214 #define WIA_ITEM_WRITE WIA_PROP_WRITE
    215 #define WIA_ITEM_RD (WIA_ITEM_READ | WIA_ITEM_CAN_BE_DELETED)
    216 #define WIA_ITEM_RWD (WIA_ITEM_READ | WIA_ITEM_WRITE | WIA_ITEM_CAN_BE_DELETED)
    217 
    218 #ifndef __WIAPROP_H_INCLUDED
    219 #define __WIAPROP_H_INCLUDED
    220 
    221 #define WIA_RESERVED_FOR_SMALL_NEW_PROPS 256
    222 #define WIA_RESERVED_FOR_NEW_PROPS 1024
    223 #define WIA_RESERVED_FOR_ALL_MS_PROPS (1024*32)
    224 
    225 #define WIA_DIP_FIRST 2
    226 #define WIA_DIP_DEV_ID 2
    227 #define WIA_DIP_VEND_DESC 3
    228 #define WIA_DIP_DEV_DESC 4
    229 #define WIA_DIP_DEV_TYPE 5
    230 #define WIA_DIP_PORT_NAME 6
    231 #define WIA_DIP_DEV_NAME 7
    232 #define WIA_DIP_SERVER_NAME 8
    233 #define WIA_DIP_REMOTE_DEV_ID 9
    234 #define WIA_DIP_UI_CLSID 10
    235 #define WIA_DIP_HW_CONFIG 11
    236 #define WIA_DIP_BAUDRATE 12
    237 #define WIA_DIP_STI_GEN_CAPABILITIES 13
    238 #define WIA_DIP_WIA_VERSION 14
    239 #define WIA_DIP_DRIVER_VERSION 15
    240 #define WIA_DIP_LAST 15
    241 
    242 #define WIA_NUM_DIP 1 + WIA_DIP_LAST - WIA_DIP_FIRST
    243 
    244 #define WIA_DIP_DEV_ID_STR L"Unique Device ID"
    245 #define WIA_DIP_VEND_DESC_STR L"Manufacturer"
    246 #define WIA_DIP_DEV_DESC_STR L"Description"
    247 #define WIA_DIP_DEV_TYPE_STR L"Type"
    248 #define WIA_DIP_PORT_NAME_STR L"Port"
    249 #define WIA_DIP_DEV_NAME_STR L"Name"
    250 #define WIA_DIP_SERVER_NAME_STR L"Server"
    251 #define WIA_DIP_REMOTE_DEV_ID_STR L"Remote Device ID"
    252 #define WIA_DIP_UI_CLSID_STR L"UI Class ID"
    253 #define WIA_DIP_HW_CONFIG_STR L"Hardware Configuration"
    254 #define WIA_DIP_BAUDRATE_STR L"BaudRate"
    255 #define WIA_DIP_STI_GEN_CAPABILITIES_STR L"STI Generic Capabilities"
    256 #define WIA_DIP_WIA_VERSION_STR L"WIA Version"
    257 #define WIA_DIP_DRIVER_VERSION_STR L"Driver Version"
    258 
    259 #ifdef WIA_DECLARE_DEVINFO_PROP_ARRAY
    260   PROPSPEC g_psDeviceInfo[WIA_NUM_DIP] = { {PRSPEC_PROPID,WIA_DIP_DEV_ID},{PRSPEC_PROPID,WIA_DIP_VEND_DESC},{PRSPEC_PROPID,WIA_DIP_DEV_DESC},{PRSPEC_PROPID,WIA_DIP_DEV_TYPE},{PRSPEC_PROPID,WIA_DIP_PORT_NAME},{PRSPEC_PROPID,WIA_DIP_DEV_NAME},{PRSPEC_PROPID,WIA_DIP_SERVER_NAME},{PRSPEC_PROPID,WIA_DIP_REMOTE_DEV_ID},{PRSPEC_PROPID,WIA_DIP_UI_CLSID},{PRSPEC_PROPID,WIA_DIP_HW_CONFIG},{PRSPEC_PROPID,WIA_DIP_BAUDRATE},{PRSPEC_PROPID,WIA_DIP_STI_GEN_CAPABILITIES},{PRSPEC_PROPID,WIA_DIP_WIA_VERSION},{PRSPEC_PROPID,WIA_DIP_DRIVER_VERSION},};
    261   PROPID g_piDeviceInfo[WIA_NUM_DIP] = { WIA_DIP_DEV_ID,WIA_DIP_VEND_DESC,WIA_DIP_DEV_DESC,WIA_DIP_DEV_TYPE,WIA_DIP_PORT_NAME,WIA_DIP_DEV_NAME,WIA_DIP_SERVER_NAME,WIA_DIP_REMOTE_DEV_ID,WIA_DIP_UI_CLSID,WIA_DIP_HW_CONFIG,WIA_DIP_BAUDRATE,WIA_DIP_STI_GEN_CAPABILITIES,WIA_DIP_WIA_VERSION,WIA_DIP_DRIVER_VERSION,};
    262   LPOLESTR g_pszDeviceInfo[WIA_NUM_DIP] = { WIA_DIP_DEV_ID_STR,WIA_DIP_VEND_DESC_STR,WIA_DIP_DEV_DESC_STR,WIA_DIP_DEV_TYPE_STR,WIA_DIP_PORT_NAME_STR,WIA_DIP_DEV_NAME_STR,WIA_DIP_SERVER_NAME_STR,WIA_DIP_REMOTE_DEV_ID_STR,WIA_DIP_UI_CLSID_STR,WIA_DIP_HW_CONFIG_STR,WIA_DIP_BAUDRATE_STR,WIA_DIP_STI_GEN_CAPABILITIES_STR,WIA_DIP_WIA_VERSION_STR,WIA_DIP_DRIVER_VERSION_STR,};
    263 #else
    264   extern PROPSPEC g_psDeviceInfo[WIA_NUM_DIP];
    265   extern PROPID g_piDeviceInfo[WIA_NUM_DIP];
    266   extern LPOLESTR g_pszDeviceInfo[WIA_NUM_DIP];
    267 #endif
    268 
    269 #define WIA_DPA_FIRST WIA_DIP_FIRST + WIA_RESERVED_FOR_NEW_PROPS
    270 #define WIA_DPA_FIRMWARE_VERSION WIA_DPA_FIRST + 0
    271 #define WIA_DPA_CONNECT_STATUS WIA_DPA_FIRST + 1
    272 #define WIA_DPA_DEVICE_TIME WIA_DPA_FIRST + 2
    273 #define WIA_DPA_LAST WIA_DPA_FIRST + 3
    274 
    275 #define WIA_DPA_FIRMWARE_VERSION_STR L"Firmware Version"
    276 #define WIA_DPA_CONNECT_STATUS_STR L"Connect Status"
    277 #define WIA_DPA_DEVICE_TIME_STR L"Device Time"
    278 
    279 #define WIA_NUM_DPA (1 + WIA_DPA_LAST - WIA_DPA_FIRST)
    280 
    281 #define WIA_DPC_FIRST WIA_DPA_FIRST + WIA_RESERVED_FOR_NEW_PROPS
    282 #define WIA_DPC_PICTURES_TAKEN WIA_DPC_FIRST + 0
    283 #define WIA_DPC_PICTURES_REMAINING WIA_DPC_FIRST + 1
    284 #define WIA_DPC_EXPOSURE_MODE WIA_DPC_FIRST + 2
    285 #define WIA_DPC_EXPOSURE_COMP WIA_DPC_FIRST + 3
    286 #define WIA_DPC_EXPOSURE_TIME WIA_DPC_FIRST + 4
    287 #define WIA_DPC_FNUMBER WIA_DPC_FIRST + 5
    288 #define WIA_DPC_FLASH_MODE WIA_DPC_FIRST + 6
    289 #define WIA_DPC_FOCUS_MODE WIA_DPC_FIRST + 7
    290 #define WIA_DPC_FOCUS_MANUAL_DIST WIA_DPC_FIRST + 8
    291 #define WIA_DPC_ZOOM_POSITION WIA_DPC_FIRST + 9
    292 #define WIA_DPC_PAN_POSITION WIA_DPC_FIRST + 10
    293 #define WIA_DPC_TILT_POSITION WIA_DPC_FIRST + 11
    294 #define WIA_DPC_TIMER_MODE WIA_DPC_FIRST + 12
    295 #define WIA_DPC_TIMER_VALUE WIA_DPC_FIRST + 13
    296 #define WIA_DPC_POWER_MODE WIA_DPC_FIRST + 14
    297 #define WIA_DPC_BATTERY_STATUS WIA_DPC_FIRST + 15
    298 #define WIA_DPC_THUMB_WIDTH WIA_DPC_FIRST + 16
    299 #define WIA_DPC_THUMB_HEIGHT WIA_DPC_FIRST + 17
    300 #define WIA_DPC_PICT_WIDTH WIA_DPC_FIRST + 18
    301 #define WIA_DPC_PICT_HEIGHT WIA_DPC_FIRST + 19
    302 #define WIA_DPC_DIMENSION WIA_DPC_FIRST + 20
    303 #define WIA_DPC_COMPRESSION_SETTING WIA_DPC_FIRST + 21
    304 #define WIA_DPC_FOCUS_METERING WIA_DPC_FIRST + 22
    305 #define WIA_DPC_TIMELAPSE_INTERVAL WIA_DPC_FIRST + 23
    306 #define WIA_DPC_TIMELAPSE_NUMBER WIA_DPC_FIRST + 24
    307 #define WIA_DPC_BURST_INTERVAL WIA_DPC_FIRST + 25
    308 #define WIA_DPC_BURST_NUMBER WIA_DPC_FIRST + 26
    309 #define WIA_DPC_EFFECT_MODE WIA_DPC_FIRST + 27
    310 #define WIA_DPC_DIGITAL_ZOOM WIA_DPC_FIRST + 28
    311 #define WIA_DPC_SHARPNESS WIA_DPC_FIRST + 29
    312 #define WIA_DPC_CONTRAST WIA_DPC_FIRST + 30
    313 #define WIA_DPC_CAPTURE_MODE WIA_DPC_FIRST + 31
    314 #define WIA_DPC_CAPTURE_DELAY WIA_DPC_FIRST + 32
    315 #define WIA_DPC_EXPOSURE_INDEX WIA_DPC_FIRST + 33
    316 #define WIA_DPC_EXPOSURE_METERING_MODE WIA_DPC_FIRST + 34
    317 #define WIA_DPC_FOCUS_METERING_MODE WIA_DPC_FIRST + 35
    318 #define WIA_DPC_FOCUS_DISTANCE WIA_DPC_FIRST + 36
    319 #define WIA_DPC_FOCAL_LENGTH WIA_DPC_FIRST + 37
    320 #define WIA_DPC_RGB_GAIN WIA_DPC_FIRST + 38
    321 #define WIA_DPC_WHITE_BALANCE WIA_DPC_FIRST + 39
    322 #define WIA_DPC_UPLOAD_URL WIA_DPC_FIRST + 40
    323 #define WIA_DPC_ARTIST WIA_DPC_FIRST + 41
    324 #define WIA_DPC_COPYRIGHT_INFO WIA_DPC_FIRST + 42
    325 #define WIA_DPC_LAST WIA_DPC_FIRST + 42
    326 
    327 #define WIA_DPC_PICTURES_TAKEN_STR L"Pictures Taken"
    328 #define WIA_DPC_PICTURES_REMAINING_STR L"Pictures Remaining"
    329 #define WIA_DPC_EXPOSURE_MODE_STR L"Exposure Mode"
    330 #define WIA_DPC_EXPOSURE_COMP_STR L"Exposure Compensation"
    331 #define WIA_DPC_EXPOSURE_TIME_STR L"Exposure Time"
    332 #define WIA_DPC_FNUMBER_STR L"F Number"
    333 #define WIA_DPC_FLASH_MODE_STR L"Flash Mode"
    334 #define WIA_DPC_FOCUS_MODE_STR L"Focus Mode"
    335 #define WIA_DPC_FOCUS_MANUAL_DIST_STR L"Focus Manual Dist"
    336 #define WIA_DPC_ZOOM_POSITION_STR L"Zoom Position"
    337 #define WIA_DPC_PAN_POSITION_STR L"Pan Position"
    338 #define WIA_DPC_TILT_POSITION_STR L"Tilt Position"
    339 #define WIA_DPC_TIMER_MODE_STR L"Timer Mode"
    340 #define WIA_DPC_TIMER_VALUE_STR L"Timer Value"
    341 #define WIA_DPC_POWER_MODE_STR L"Power Mode"
    342 #define WIA_DPC_BATTERY_STATUS_STR L"Battery Status"
    343 #define WIA_DPC_THUMB_WIDTH_STR L"Thumbnail Width"
    344 #define WIA_DPC_THUMB_HEIGHT_STR L"Thumbnail Height"
    345 #define WIA_DPC_PICT_WIDTH_STR L"Picture Width"
    346 #define WIA_DPC_PICT_HEIGHT_STR L"Picture Height"
    347 #define WIA_DPC_DIMENSION_STR L"Dimension"
    348 #define WIA_DPC_COMPRESSION_SETTING_STR L"Compression Setting"
    349 #define WIA_DPC_FOCUS_METERING_MODE_STR L"Focus Metering Mode"
    350 #define WIA_DPC_TIMELAPSE_INTERVAL_STR L"Timelapse Interval"
    351 #define WIA_DPC_TIMELAPSE_NUMBER_STR L"Timelapse Number"
    352 #define WIA_DPC_BURST_INTERVAL_STR L"Burst Interval"
    353 #define WIA_DPC_BURST_NUMBER_STR L"Burst Number"
    354 #define WIA_DPC_EFFECT_MODE_STR L"Effect Mode"
    355 #define WIA_DPC_DIGITAL_ZOOM_STR L"Digital Zoom"
    356 #define WIA_DPC_SHARPNESS_STR L"Sharpness"
    357 #define WIA_DPC_CONTRAST_STR L"Contrast"
    358 #define WIA_DPC_CAPTURE_MODE_STR L"Capture Mode"
    359 #define WIA_DPC_CAPTURE_DELAY_STR L"Capture Delay"
    360 #define WIA_DPC_EXPOSURE_INDEX_STR L"Exposure Index"
    361 #define WIA_DPC_EXPOSURE_METERING_MODE_STR L"Exposure Metering Mode"
    362 #define WIA_DPC_FOCUS_DISTANCE_STR L"Focus Distance"
    363 #define WIA_DPC_FOCAL_LENGTH_STR L"Focus Length"
    364 #define WIA_DPC_RGB_GAIN_STR L"RGB Gain"
    365 #define WIA_DPC_WHITE_BALANCE_STR L"White Balance"
    366 #define WIA_DPC_UPLOAD_URL_STR L"Upload URL"
    367 #define WIA_DPC_ARTIST_STR L"Artist"
    368 #define WIA_DPC_COPYRIGHT_INFO_STR L"Copyright Info"
    369 
    370 #define WIA_NUM_DPC (1 + WIA_DPC_LAST - WIA_DPC_FIRST)
    371 
    372 #define WIA_DPS_FIRST WIA_DPC_FIRST + WIA_RESERVED_FOR_NEW_PROPS
    373 #define WIA_DPS_HORIZONTAL_BED_SIZE WIA_DPS_FIRST + 0
    374 #define WIA_DPS_VERTICAL_BED_SIZE WIA_DPS_FIRST + 1
    375 #define WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 2
    376 #define WIA_DPS_VERTICAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 3
    377 #define WIA_DPS_SHEET_FEEDER_REGISTRATION WIA_DPS_FIRST + 4
    378 #define WIA_DPS_HORIZONTAL_BED_REGISTRATION WIA_DPS_FIRST + 5
    379 #define WIA_DPS_VERTICAL_BED_REGISTRATION WIA_DPS_FIRST + 6
    380 #define WIA_DPS_PLATEN_COLOR WIA_DPS_FIRST + 7
    381 #define WIA_DPS_PAD_COLOR WIA_DPS_FIRST + 8
    382 #define WIA_DPS_FILTER_SELECT WIA_DPS_FIRST + 9
    383 #define WIA_DPS_DITHER_SELECT WIA_DPS_FIRST + 10
    384 #define WIA_DPS_DITHER_PATTERN_DATA WIA_DPS_FIRST + 11
    385 #define WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES WIA_DPS_FIRST + 12
    386 #define WIA_DPS_DOCUMENT_HANDLING_STATUS WIA_DPS_FIRST + 13
    387 #define WIA_DPS_DOCUMENT_HANDLING_SELECT WIA_DPS_FIRST + 14
    388 #define WIA_DPS_DOCUMENT_HANDLING_CAPACITY WIA_DPS_FIRST + 15
    389 #define WIA_DPS_OPTICAL_XRES WIA_DPS_FIRST + 16
    390 #define WIA_DPS_OPTICAL_YRES WIA_DPS_FIRST + 17
    391 #define WIA_DPS_ENDORSER_CHARACTERS WIA_DPS_FIRST + 18
    392 #define WIA_DPS_ENDORSER_STRING WIA_DPS_FIRST + 19
    393 #define WIA_DPS_SCAN_AHEAD_PAGES WIA_DPS_FIRST + 20
    394 #define WIA_DPS_MAX_SCAN_TIME WIA_DPS_FIRST + 21
    395 #define WIA_DPS_PAGES WIA_DPS_FIRST + 22
    396 #define WIA_DPS_PAGE_SIZE WIA_DPS_FIRST + 23
    397 #define WIA_DPS_PAGE_WIDTH WIA_DPS_FIRST + 24
    398 #define WIA_DPS_PAGE_HEIGHT WIA_DPS_FIRST + 25
    399 #define WIA_DPS_PREVIEW WIA_DPS_FIRST + 26
    400 #define WIA_DPS_TRANSPARENCY WIA_DPS_FIRST + 27
    401 #define WIA_DPS_TRANSPARENCY_SELECT WIA_DPS_FIRST + 28
    402 #define WIA_DPS_SHOW_PREVIEW_CONTROL WIA_DPS_FIRST + 29
    403 #define WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 30
    404 #define WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 31
    405 #define WIA_DPS_LAST WIA_DPS_FIRST + 31
    406 
    407 #define WIA_DPS_HORIZONTAL_BED_SIZE_STR L"Horizontal Bed Size"
    408 #define WIA_DPS_VERTICAL_BED_SIZE_STR L"Vertical Bed Size"
    409 #define WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE_STR L"Horizontal Sheet Feed Size"
    410 #define WIA_DPS_VERTICAL_SHEET_FEED_SIZE_STR L"Vertical Sheet Feed Size"
    411 #define WIA_DPS_SHEET_FEEDER_REGISTRATION_STR L"Sheet Feeder Registration"
    412 #define WIA_DPS_HORIZONTAL_BED_REGISTRATION_STR L"Horizontal Bed Registration"
    413 #define WIA_DPS_VERTICAL_BED_REGISTRATION_STR L"Vertical Bed Registration"
    414 #define WIA_DPS_PLATEN_COLOR_STR L"Platen Color"
    415 #define WIA_DPS_PAD_COLOR_STR L"Pad Color"
    416 #define WIA_DPS_FILTER_SELECT_STR L"Filter Select"
    417 #define WIA_DPS_DITHER_SELECT_STR L"Dither Select"
    418 #define WIA_DPS_DITHER_PATTERN_DATA_STR L"Dither Pattern Data"
    419 #define WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES_STR L"Document Handling Capabilities"
    420 #define WIA_DPS_DOCUMENT_HANDLING_STATUS_STR L"Document Handling Status"
    421 #define WIA_DPS_DOCUMENT_HANDLING_SELECT_STR L"Document Handling Select"
    422 #define WIA_DPS_DOCUMENT_HANDLING_CAPACITY_STR L"Document Handling Capacity"
    423 #define WIA_DPS_OPTICAL_XRES_STR L"Horizontal Optical Resolution"
    424 #define WIA_DPS_OPTICAL_YRES_STR L"Vertical Optical Resolution"
    425 #define WIA_DPS_ENDORSER_CHARACTERS_STR L"Endorser Characters"
    426 #define WIA_DPS_ENDORSER_STRING_STR L"Endorser String"
    427 #define WIA_DPS_SCAN_AHEAD_PAGES_STR L"Scan Ahead Pages"
    428 #define WIA_DPS_MAX_SCAN_TIME_STR L"Max Scan Time"
    429 #define WIA_DPS_PAGES_STR L"Pages"
    430 #define WIA_DPS_PAGE_SIZE_STR L"Page Size"
    431 #define WIA_DPS_PAGE_WIDTH_STR L"Page Width"
    432 #define WIA_DPS_PAGE_HEIGHT_STR L"Page Height"
    433 #define WIA_DPS_PREVIEW_STR L"Preview"
    434 #define WIA_DPS_TRANSPARENCY_STR L"Transparency Adapter"
    435 #define WIA_DPS_TRANSPARENCY_SELECT_STR L"Transparency Adapter Select"
    436 #define WIA_DPS_SHOW_PREVIEW_CONTROL_STR L"Show preview control"
    437 #define WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE_STR L"Minimum Horizontal Sheet Feed Size"
    438 #define WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE_STR L"Minimum Vertical Sheet Feed Size"
    439 
    440 #define WIA_NUM_DPS (1 + WIA_DPS_LAST - WIA_DPS_FIRST)
    441 
    442 #define WIA_DPF_FIRST WIA_DPS_FIRST + WIA_RESERVED_FOR_SMALL_NEW_PROPS
    443 #define WIA_DPF_MOUNT_POINT WIA_DPF_FIRST + 0
    444 #define WIA_DPF_LAST WIA_DPF_FIRST + 0
    445 
    446 #define WIA_DPF_MOUNT_POINT_STR L"Directory mount point"
    447 
    448 #define WIA_NUM_DPF (1 + WIA_DPF_LAST - WIA_DPF_FIRST)
    449 
    450 #define WIA_DPV_FIRST WIA_DPF_FIRST + WIA_RESERVED_FOR_SMALL_NEW_PROPS
    451 #define WIA_DPV_LAST_PICTURE_TAKEN WIA_DPV_FIRST + 0
    452 #define WIA_DPV_IMAGES_DIRECTORY WIA_DPV_FIRST + 1
    453 #define WIA_DPV_DSHOW_DEVICE_PATH WIA_DPV_FIRST + 2
    454 #define WIA_DPV_LAST WIA_DPV_FIRST + 2
    455 
    456 #define WIA_DPV_LAST_PICTURE_TAKEN_STR L"Last Picture Taken"
    457 #define WIA_DPV_IMAGES_DIRECTORY_STR L"Images Directory"
    458 #define WIA_DPV_DSHOW_DEVICE_PATH_STR L"Directshow Device Path"
    459 
    460 #define WIA_NUM_DPV (1 + WIA_DPV_LAST - WIA_DPV_FIRST)
    461 
    462 #define WIA_IPA_FIRST WIA_DPS_FIRST + WIA_RESERVED_FOR_NEW_PROPS
    463 #define WIA_IPA_ITEM_NAME WIA_IPA_FIRST + 0
    464 #define WIA_IPA_FULL_ITEM_NAME WIA_IPA_FIRST + 1
    465 #define WIA_IPA_ITEM_TIME WIA_IPA_FIRST + 2
    466 #define WIA_IPA_ITEM_FLAGS WIA_IPA_FIRST + 3
    467 #define WIA_IPA_ACCESS_RIGHTS WIA_IPA_FIRST + 4
    468 #define WIA_IPA_DATATYPE WIA_IPA_FIRST + 5
    469 #define WIA_IPA_DEPTH WIA_IPA_FIRST + 6
    470 #define WIA_IPA_PREFERRED_FORMAT WIA_IPA_FIRST + 7
    471 #define WIA_IPA_FORMAT WIA_IPA_FIRST + 8
    472 #define WIA_IPA_COMPRESSION WIA_IPA_FIRST + 9
    473 #define WIA_IPA_TYMED WIA_IPA_FIRST + 10
    474 #define WIA_IPA_CHANNELS_PER_PIXEL WIA_IPA_FIRST + 11
    475 #define WIA_IPA_BITS_PER_CHANNEL WIA_IPA_FIRST + 12
    476 #define WIA_IPA_PLANAR WIA_IPA_FIRST + 13
    477 #define WIA_IPA_PIXELS_PER_LINE WIA_IPA_FIRST + 14
    478 #define WIA_IPA_BYTES_PER_LINE WIA_IPA_FIRST + 15
    479 #define WIA_IPA_NUMBER_OF_LINES WIA_IPA_FIRST + 16
    480 #define WIA_IPA_GAMMA_CURVES WIA_IPA_FIRST + 17
    481 #define WIA_IPA_ITEM_SIZE WIA_IPA_FIRST + 18
    482 #define WIA_IPA_COLOR_PROFILE WIA_IPA_FIRST + 19
    483 #define WIA_IPA_MIN_BUFFER_SIZE WIA_IPA_FIRST + 20
    484 
    485 #define WIA_IPA_BUFFER_SIZE WIA_IPA_FIRST + 20
    486 #define WIA_IPA_REGION_TYPE WIA_IPA_FIRST + 21
    487 #define WIA_IPA_ICM_PROFILE_NAME WIA_IPA_FIRST + 22
    488 #define WIA_IPA_APP_COLOR_MAPPING WIA_IPA_FIRST + 23
    489 #define WIA_IPA_PROP_STREAM_COMPAT_ID WIA_IPA_FIRST + 24
    490 #define WIA_IPA_FILENAME_EXTENSION WIA_IPA_FIRST + 25
    491 #define WIA_IPA_SUPPRESS_PROPERTY_PAGE WIA_IPA_FIRST + 26
    492 #define WIA_IPA_LAST WIA_IPA_FIRST + 26
    493 
    494 #define WIA_IPA_ITEM_NAME_STR L"Item Name"
    495 #define WIA_IPA_FULL_ITEM_NAME_STR L"Full Item Name"
    496 #define WIA_IPA_ITEM_TIME_STR L"Item Time Stamp"
    497 #define WIA_IPA_ITEM_FLAGS_STR L"Item Flags"
    498 #define WIA_IPA_ACCESS_RIGHTS_STR L"Access Rights"
    499 #define WIA_IPA_DATATYPE_STR L"Data Type"
    500 #define WIA_IPA_DEPTH_STR L"Bits Per Pixel"
    501 #define WIA_IPA_PREFERRED_FORMAT_STR L"Preferred Format"
    502 #define WIA_IPA_FORMAT_STR L"Format"
    503 #define WIA_IPA_COMPRESSION_STR L"Compression"
    504 #define WIA_IPA_TYMED_STR L"Media Type"
    505 #define WIA_IPA_CHANNELS_PER_PIXEL_STR L"Channels Per Pixel"
    506 #define WIA_IPA_BITS_PER_CHANNEL_STR L"Bits Per Channel"
    507 #define WIA_IPA_PLANAR_STR L"Planar"
    508 #define WIA_IPA_PIXELS_PER_LINE_STR L"Pixels Per Line"
    509 #define WIA_IPA_BYTES_PER_LINE_STR L"Bytes Per Line"
    510 #define WIA_IPA_NUMBER_OF_LINES_STR L"Number of Lines"
    511 #define WIA_IPA_GAMMA_CURVES_STR L"Gamma Curves"
    512 #define WIA_IPA_ITEM_SIZE_STR L"Item Size"
    513 #define WIA_IPA_COLOR_PROFILE_STR L"Color Profiles"
    514 #define WIA_IPA_MIN_BUFFER_SIZE_STR L"Buffer Size"
    515 #define WIA_IPA_REGION_TYPE_STR L"Region Type"
    516 #define WIA_IPA_ICM_PROFILE_NAME_STR L"Color Profile Name"
    517 #define WIA_IPA_APP_COLOR_MAPPING_STR L"Application Applies Color Mapping"
    518 #define WIA_IPA_PROP_STREAM_COMPAT_ID_STR L"Stream Compatibility ID"
    519 #define WIA_IPA_FILENAME_EXTENSION_STR L"Filename extension"
    520 #define WIA_IPA_SUPPRESS_PROPERTY_PAGE_STR L"Suppress a property page"
    521 
    522 #define WIA_NUM_IPA (1 + WIA_IPA_LAST - WIA_IPA_FIRST)
    523 
    524 #define WIA_IPC_FIRST WIA_IPA_FIRST + WIA_RESERVED_FOR_NEW_PROPS
    525 #define WIA_IPC_THUMBNAIL WIA_IPC_FIRST + 0
    526 #define WIA_IPC_THUMB_WIDTH WIA_IPC_FIRST + 1
    527 #define WIA_IPC_THUMB_HEIGHT WIA_IPC_FIRST + 2
    528 #define WIA_IPC_AUDIO_AVAILABLE WIA_IPC_FIRST + 3
    529 #define WIA_IPC_AUDIO_DATA_FORMAT WIA_IPC_FIRST + 4
    530 #define WIA_IPC_AUDIO_DATA WIA_IPC_FIRST + 5
    531 #define WIA_IPC_NUM_PICT_PER_ROW WIA_IPC_FIRST + 6
    532 #define WIA_IPC_SEQUENCE WIA_IPC_FIRST + 7
    533 #define WIA_IPC_TIMEDELAY WIA_IPC_FIRST + 8
    534 #define WIA_IPC_LAST WIA_IPC_FIRST + 8
    535 
    536 #define WIA_IPC_THUMBNAIL_STR L"Thumbnail Data"
    537 #define WIA_IPC_THUMB_WIDTH_STR L"Thumbnail Width"
    538 #define WIA_IPC_THUMB_HEIGHT_STR L"Thumbnail Height"
    539 #define WIA_IPC_AUDIO_AVAILABLE_STR L"Audio Available"
    540 #define WIA_IPC_AUDIO_DATA_FORMAT_STR L"Audio Format"
    541 #define WIA_IPC_AUDIO_DATA_STR L"Audio Data"
    542 #define WIA_IPC_NUM_PICT_PER_ROW_STR L"Pictures per Row"
    543 #define WIA_IPC_SEQUENCE_STR L"Sequence Number"
    544 #define WIA_IPC_TIMEDELAY_STR L"Time Delay"
    545 
    546 #define WIA_NUM_IPC (1 + WIA_IPC_LAST - WIA_IPC_FIRST)
    547 
    548 #define WIA_IPS_FIRST WIA_IPC_FIRST + WIA_RESERVED_FOR_NEW_PROPS
    549 #define WIA_IPS_CUR_INTENT WIA_IPS_FIRST + 0
    550 #define WIA_IPS_XRES WIA_IPS_FIRST + 1
    551 #define WIA_IPS_YRES WIA_IPS_FIRST + 2
    552 #define WIA_IPS_XPOS WIA_IPS_FIRST + 3
    553 #define WIA_IPS_YPOS WIA_IPS_FIRST + 4
    554 #define WIA_IPS_XEXTENT WIA_IPS_FIRST + 5
    555 #define WIA_IPS_YEXTENT WIA_IPS_FIRST + 6
    556 #define WIA_IPS_PHOTOMETRIC_INTERP WIA_IPS_FIRST + 7
    557 #define WIA_IPS_BRIGHTNESS WIA_IPS_FIRST + 8
    558 #define WIA_IPS_CONTRAST WIA_IPS_FIRST + 9
    559 #define WIA_IPS_ORIENTATION WIA_IPS_FIRST + 10
    560 #define WIA_IPS_ROTATION WIA_IPS_FIRST + 11
    561 #define WIA_IPS_MIRROR WIA_IPS_FIRST + 12
    562 #define WIA_IPS_THRESHOLD WIA_IPS_FIRST + 13
    563 #define WIA_IPS_INVERT WIA_IPS_FIRST + 14
    564 #define WIA_IPS_WARM_UP_TIME WIA_IPS_FIRST + 15
    565 #define WIA_IPS_LAST WIA_IPS_FIRST + 15
    566 
    567 #define WIA_IPS_CUR_INTENT_STR L"Current Intent"
    568 #define WIA_IPS_XRES_STR L"Horizontal Resolution"
    569 #define WIA_IPS_YRES_STR L"Vertical Resolution"
    570 #define WIA_IPS_XPOS_STR L"Horizontal Start Position"
    571 #define WIA_IPS_YPOS_STR L"Vertical Start Position"
    572 #define WIA_IPS_XEXTENT_STR L"Horizontal Extent"
    573 #define WIA_IPS_YEXTENT_STR L"Vertical Extent"
    574 #define WIA_IPS_PHOTOMETRIC_INTERP_STR L"Photometric Interpretation"
    575 #define WIA_IPS_BRIGHTNESS_STR L"Brightness"
    576 #define WIA_IPS_CONTRAST_STR L"Contrast"
    577 #define WIA_IPS_ORIENTATION_STR L"Orientation"
    578 #define WIA_IPS_ROTATION_STR L"Rotation"
    579 #define WIA_IPS_MIRROR_STR L"Mirror"
    580 #define WIA_IPS_THRESHOLD_STR L"Threshold"
    581 #define WIA_IPS_INVERT_STR L"Invert"
    582 #define WIA_IPS_WARM_UP_TIME_STR L"Lamp Warm up Time"
    583 
    584 #define WIA_NUM_IPS (1 + WIA_IPS_LAST - WIA_IPS_FIRST)
    585 
    586 #define WIA_PRIVATE_DEVPROP (WIA_IPS_FIRST + WIA_RESERVED_FOR_ALL_MS_PROPS)
    587 #define WIA_PRIVATE_ITEMPROP (WIA_PRIVATE_DEVPROP + WIA_RESERVED_FOR_ALL_MS_PROPS)
    588 
    589 #define WHITEBALANCE_MANUAL 1
    590 #define WHITEBALANCE_AUTO 2
    591 #define WHITEBALANCE_ONEPUSH_AUTO 3
    592 #define WHITEBALANCE_DAYLIGHT 4
    593 #define WHITEBALANCE_FLORESCENT 5
    594 #define WHITEBALANCE_TUNGSTEN 6
    595 #define WHITEBALANCE_FLASH 7
    596 
    597 #define FOCUSMODE_MANUAL 1
    598 #define FOCUSMODE_AUTO 2
    599 #define FOCUSMODE_MACROAUTO 3
    600 
    601 #define EXPOSUREMETERING_AVERAGE 1
    602 #define EXPOSUREMETERING_CENTERWEIGHT 2
    603 #define EXPOSUREMETERING_MULTISPOT 3
    604 #define EXPOSUREMETERING_CENTERSPOT 4
    605 
    606 #define FLASHMODE_AUTO 1
    607 #define FLASHMODE_OFF 2
    608 #define FLASHMODE_FILL 3
    609 #define FLASHMODE_REDEYE_AUTO 4
    610 #define FLASHMODE_REDEYE_FILL 5
    611 #define FLASHMODE_EXTERNALSYNC 6
    612 
    613 #define EXPOSUREMODE_MANUAL 1
    614 #define EXPOSUREMODE_AUTO 2
    615 #define EXPOSUREMODE_APERTURE_PRIORITY 3
    616 #define EXPOSUREMODE_SHUTTER_PRIORITY 4
    617 #define EXPOSUREMODE_PROGRAM_CREATIVE 5
    618 #define EXPOSUREMODE_PROGRAM_ACTION 6
    619 #define EXPOSUREMODE_PORTRAIT 7
    620 
    621 #define CAPTUREMODE_NORMAL 1
    622 #define CAPTUREMODE_BURST 2
    623 #define CAPTUREMODE_TIMELAPSE 3
    624 
    625 #define EFFECTMODE_STANDARD 1
    626 #define EFFECTMODE_BW 2
    627 #define EFFECTMODE_SEPIA 3
    628 
    629 #define FOCUSMETERING_CENTERSPOT 1
    630 #define FOCUSMETERING_MULTISPOT 2
    631 
    632 #define POWERMODE_LINE 1
    633 #define POWERMODE_BATTERY 2
    634 
    635 #define LEFT_JUSTIFIED 0
    636 #define CENTERED 1
    637 #define RIGHT_JUSTIFIED 2
    638 
    639 #define TOP_JUSTIFIED 0
    640 #define CENTERED 1
    641 #define BOTTOM_JUSTIFIED 2
    642 
    643 #define PORTRAIT 0
    644 #define LANSCAPE 1
    645 #define ROT180 2
    646 #define ROT270 3
    647 
    648 #define MIRRORED 0x01
    649 
    650 #define FEED 0x01
    651 #define FLAT 0x02
    652 #define DUP 0x04
    653 #define DETECT_FLAT 0x08
    654 #define DETECT_SCAN 0x10
    655 #define DETECT_FEED 0x20
    656 #define DETECT_DUP 0x40
    657 #define DETECT_FEED_AVAIL 0x80
    658 #define DETECT_DUP_AVAIL 0x100
    659 
    660 #define FEED_READY 0x01
    661 #define FLAT_READY 0x02
    662 #define DUP_READY 0x04
    663 #define FLAT_COVER_UP 0x08
    664 #define PATH_COVER_UP 0x10
    665 #define PAPER_JAM 0x20
    666 
    667 #define FEEDER 0x001
    668 #define FLATBED 0x002
    669 #define DUPLEX 0x004
    670 #define FRONT_FIRST 0x008
    671 #define BACK_FIRST 0x010
    672 #define FRONT_ONLY 0x020
    673 #define BACK_ONLY 0x040
    674 #define NEXT_PAGE 0x080
    675 #define PREFEED 0x100
    676 #define AUTO_ADVANCE 0x200
    677 
    678 #define LIGHT_SOURCE_PRESENT_DETECT 0x01
    679 #define LIGHT_SOURCE_PRESENT 0x02
    680 #define LIGHT_SOURCE_DETECT_READY 0x04
    681 #define LIGHT_SOURCE_READY 0x08
    682 
    683 #define LIGHT_SOURCE_SELECT 0x001
    684 
    685 #define WIA_SCAN_AHEAD_ALL 0
    686 
    687 #define ALL_PAGES 0
    688 
    689 #define WIA_FINAL_SCAN 0
    690 #define WIA_PREVIEW_SCAN 1
    691 
    692 #define WIA_SHOW_PREVIEW_CONTROL 0
    693 #define WIA_DONT_SHOW_PREVIEW_CONTROL 1
    694 
    695 #define WIA_ENDORSER_TOK_DATE L"$DATE$"
    696 #define WIA_ENDORSER_TOK_TIME L"$TIME$"
    697 #define WIA_ENDORSER_TOK_PAGE_COUNT L"$PAGE_COUNT$"
    698 #define WIA_ENDORSER_TOK_DAY L"$DAY$"
    699 #define WIA_ENDORSER_TOK_MONTH L"$MONTH$"
    700 #define WIA_ENDORSER_TOK_YEAR L"$YEAR$"
    701 
    702 #define WIA_PAGE_A4 0
    703 #define WIA_PAGE_LETTER 1
    704 #define WIA_PAGE_CUSTOM 2
    705 
    706 #define WIA_COMPRESSION_NONE 0
    707 #define WIA_COMPRESSION_BI_RLE4 1
    708 #define WIA_COMPRESSION_BI_RLE8 2
    709 #define WIA_COMPRESSION_G3 3
    710 #define WIA_COMPRESSION_G4 4
    711 #define WIA_COMPRESSION_JPEG 5
    712 
    713 #define WIA_PACKED_PIXEL 0
    714 #define WIA_PLANAR 1
    715 
    716 #define WIA_DATA_THRESHOLD 0
    717 #define WIA_DATA_DITHER 1
    718 #define WIA_DATA_GRAYSCALE 2
    719 #define WIA_DATA_COLOR 3
    720 #define WIA_DATA_COLOR_THRESHOLD 4
    721 #define WIA_DATA_COLOR_DITHER 5
    722 
    723 #define WIA_PROPPAGE_SCANNER_ITEM_GENERAL 0x00000001
    724 #define WIA_PROPPAGE_CAMERA_ITEM_GENERAL 0x00000002
    725 
    726 #define WIA_INTENT_NONE 0x00000000
    727 #define WIA_INTENT_IMAGE_TYPE_COLOR 0x00000001
    728 #define WIA_INTENT_IMAGE_TYPE_GRAYSCALE 0x00000002
    729 #define WIA_INTENT_IMAGE_TYPE_TEXT 0x00000004
    730 #define WIA_INTENT_IMAGE_TYPE_MASK 0x0000000F
    731 #define WIA_INTENT_MINIMIZE_SIZE 0x00010000
    732 #define WIA_INTENT_MAXIMIZE_QUALITY 0x00020000
    733 #define WIA_INTENT_BEST_PREVIEW 0x00040000
    734 #define WIA_INTENT_SIZE_MASK 0x000F0000
    735 
    736 #define WIA_PHOTO_WHITE_1 0
    737 #define WIA_PHOTO_WHITE_0 1
    738 
    739 #define WIA_RANGE_MIN 0
    740 #define WIA_RANGE_NOM 1
    741 #define WIA_RANGE_MAX 2
    742 #define WIA_RANGE_STEP 3
    743 #define WIA_RANGE_NUM_ELEMS 4
    744 
    745 #define WIA_LIST_COUNT 0
    746 #define WIA_LIST_NOM 1
    747 #define WIA_LIST_VALUES 2
    748 #define WIA_LIST_NUM_ELEMS 2
    749 
    750 #define WIA_FLAG_NOM 0
    751 #define WIA_FLAG_VALUES 1
    752 #define WIA_FLAG_NUM_ELEMS 2
    753 
    754 #ifdef DEFINE_WIA_PROPID_TO_NAME
    755   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_DIP_HW_CONFIG,WIA_DIP_HW_CONFIG_STR},{WIA_DIP_BAUDRATE,WIA_DIP_BAUDRATE_STR},{WIA_DIP_STI_GEN_CAPABILITIES,WIA_DIP_STI_GEN_CAPABILITIES_STR},{WIA_DIP_WIA_VERSION,WIA_DIP_WIA_VERSION_STR},{WIA_DIP_DRIVER_VERSION,WIA_DIP_DRIVER_VERSION_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_DPC_DIMENSION,WIA_DPC_DIMENSION_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_DPS_PREVIEW,WIA_DPS_PREVIEW_STR},{WIA_DPS_TRANSPARENCY,WIA_DPS_TRANSPARENCY_STR},{WIA_DPS_TRANSPARENCY_SELECT,WIA_DPS_TRANSPARENCY_SELECT_STR},{WIA_DPS_SHOW_PREVIEW_CONTROL,WIA_DPS_SHOW_PREVIEW_CONTROL_STR},{WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE,WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE_STR},{WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE,WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE_STR},{WIA_DPV_LAST_PICTURE_TAKEN,WIA_DPV_LAST_PICTURE_TAKEN_STR},{WIA_DPV_IMAGES_DIRECTORY,WIA_DPV_IMAGES_DIRECTORY_STR},{WIA_DPV_DSHOW_DEVICE_PATH,WIA_DPV_DSHOW_DEVICE_PATH_STR},{WIA_DPF_MOUNT_POINT,WIA_DPF_MOUNT_POINT_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_IPA_ICM_PROFILE_NAME,WIA_IPA_ICM_PROFILE_NAME_STR},{WIA_IPA_APP_COLOR_MAPPING,WIA_IPA_APP_COLOR_MAPPING_STR},{WIA_IPA_PROP_STREAM_COMPAT_ID,WIA_IPA_PROP_STREAM_COMPAT_ID_STR},{WIA_IPA_FILENAME_EXTENSION,WIA_IPA_FILENAME_EXTENSION_STR},{WIA_IPA_SUPPRESS_PROPERTY_PAGE,WIA_IPA_SUPPRESS_PROPERTY_PAGE_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_IPC_NUM_PICT_PER_ROW,WIA_IPC_NUM_PICT_PER_ROW_STR},{WIA_IPC_SEQUENCE,WIA_IPC_SEQUENCE_STR},{WIA_IPC_TIMEDELAY,WIA_IPC_TIMEDELAY_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},{WIA_IPS_INVERT,WIA_IPS_INVERT_STR},{WIA_IPS_WARM_UP_TIME,WIA_IPS_WARM_UP_TIME_STR},{0,L"Not a WIA property"} };
    756 #else
    757   extern WIA_PROPID_TO_NAME g_wiaPropIdToName[];
    758 #endif
    759 #endif
    760 
    761 #define WIA_PROP_LIST_COUNT(ppv) (((PROPVARIANT*)ppv)->cal.cElems - WIA_LIST_VALUES)
    762 #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
    763 
    764 #ifdef __cplusplus
    765 };
    766 #endif
    767 
    768 #include <poppack.h>
    769 #endif
    770