603 lines
30 KiB
Plaintext
603 lines
30 KiB
Plaintext
|
// wiascr.idl : IDL source for wiascr.dll
|
||
|
//
|
||
|
|
||
|
// This file will be processed by the MIDL tool to
|
||
|
// produce the type library (wiascr.tlb) and marshalling code.
|
||
|
|
||
|
import "oaidl.idl";
|
||
|
import "ocidl.idl";
|
||
|
|
||
|
#define WIA_INTENT_IMAGE_TYPE_COLOR 0x00000001
|
||
|
#define WIA_INTENT_IMAGE_TYPE_GRAYSCALE 0x00000002
|
||
|
#define WIA_INTENT_IMAGE_TYPE_TEXT 0x00000004
|
||
|
#define WIA_INTENT_MINIMIZE_SIZE 0x00010000
|
||
|
#define WIA_INTENT_MAXIMIZE_QUALITY 0x00020000
|
||
|
#define WIA_INTENT_BEST_PREVIEW 0x00040000
|
||
|
|
||
|
#define WIA_DEVICE_DIALOG_SINGLE_IMAGE 0x00000002 // Only allow one image to be selected
|
||
|
#define WIA_DEVICE_DIALOG_USE_COMMON_UI 0x00000004 // Give preference to the system-provided UI, if available
|
||
|
|
||
|
#define WIA_RESERVED_FOR_SMALL_NEW_PROPS 256
|
||
|
#define WIA_RESERVED_FOR_NEW_PROPS 1024
|
||
|
#define WIA_RESERVED_FOR_ALL_MS_PROPS (1024*32)
|
||
|
|
||
|
#define WIA_DIP_FIRST 2
|
||
|
#define WIA_DIP_DEV_ID 2
|
||
|
#define WIA_DIP_VEND_DESC 3
|
||
|
#define WIA_DIP_DEV_DESC 4
|
||
|
#define WIA_DIP_DEV_TYPE 5
|
||
|
#define WIA_DIP_PORT_NAME 6
|
||
|
#define WIA_DIP_DEV_NAME 7
|
||
|
#define WIA_DIP_SERVER_NAME 8
|
||
|
#define WIA_DIP_REMOTE_DEV_ID 9
|
||
|
#define WIA_DIP_UI_CLSID 10
|
||
|
#define WIA_DIP_HW_CONFIG 11
|
||
|
#define WIA_DIP_BAUDRATE 12
|
||
|
#define WIA_DIP_STI_GEN_CAPABILITIES 13
|
||
|
#define WIA_DIP_WIA_VERSION 14
|
||
|
#define WIA_DIP_DRIVER_VERSION 15
|
||
|
#define WIA_DIP_LAST 15
|
||
|
|
||
|
#define WIA_NUM_DIP 1 + WIA_DIP_LAST - WIA_DIP_FIRST
|
||
|
|
||
|
//
|
||
|
// Common device properties
|
||
|
//
|
||
|
|
||
|
#define WIA_DPA_FIRST WIA_DIP_FIRST + WIA_RESERVED_FOR_NEW_PROPS
|
||
|
#define WIA_DPA_FIRMWARE_VERSION WIA_DPA_FIRST + 0
|
||
|
#define WIA_DPA_CONNECT_STATUS WIA_DPA_FIRST + 1
|
||
|
#define WIA_DPA_DEVICE_TIME WIA_DPA_FIRST + 2
|
||
|
#define WIA_DPA_LAST WIA_DPA_FIRST + 3
|
||
|
|
||
|
//
|
||
|
// Camera device properties
|
||
|
//
|
||
|
|
||
|
#define WIA_DPC_FIRST WIA_DPA_FIRST + WIA_RESERVED_FOR_NEW_PROPS
|
||
|
#define WIA_DPC_PICTURES_TAKEN WIA_DPC_FIRST + 0
|
||
|
#define WIA_DPC_PICTURES_REMAINING WIA_DPC_FIRST + 1
|
||
|
#define WIA_DPC_EXPOSURE_MODE WIA_DPC_FIRST + 2
|
||
|
#define WIA_DPC_EXPOSURE_COMP WIA_DPC_FIRST + 3
|
||
|
#define WIA_DPC_EXPOSURE_TIME WIA_DPC_FIRST + 4
|
||
|
#define WIA_DPC_FNUMBER WIA_DPC_FIRST + 5
|
||
|
#define WIA_DPC_FLASH_MODE WIA_DPC_FIRST + 6
|
||
|
#define WIA_DPC_FOCUS_MODE WIA_DPC_FIRST + 7
|
||
|
#define WIA_DPC_FOCUS_MANUAL_DIST WIA_DPC_FIRST + 8
|
||
|
#define WIA_DPC_ZOOM_POSITION WIA_DPC_FIRST + 9
|
||
|
#define WIA_DPC_PAN_POSITION WIA_DPC_FIRST + 10
|
||
|
#define WIA_DPC_TILT_POSITION WIA_DPC_FIRST + 11
|
||
|
#define WIA_DPC_TIMER_MODE WIA_DPC_FIRST + 12
|
||
|
#define WIA_DPC_TIMER_VALUE WIA_DPC_FIRST + 13
|
||
|
#define WIA_DPC_POWER_MODE WIA_DPC_FIRST + 14
|
||
|
#define WIA_DPC_BATTERY_STATUS WIA_DPC_FIRST + 15
|
||
|
#define WIA_DPC_THUMB_WIDTH WIA_DPC_FIRST + 16
|
||
|
#define WIA_DPC_THUMB_HEIGHT WIA_DPC_FIRST + 17
|
||
|
#define WIA_DPC_PICT_WIDTH WIA_DPC_FIRST + 18
|
||
|
#define WIA_DPC_PICT_HEIGHT WIA_DPC_FIRST + 19
|
||
|
#define WIA_DPC_DIMENSION WIA_DPC_FIRST + 20
|
||
|
#define WIA_DPC_COMPRESSION_SETTING WIA_DPC_FIRST + 21
|
||
|
#define WIA_DPC_FOCUS_METERING WIA_DPC_FIRST + 22
|
||
|
#define WIA_DPC_TIMELAPSE_INTERVAL WIA_DPC_FIRST + 23
|
||
|
#define WIA_DPC_TIMELAPSE_NUMBER WIA_DPC_FIRST + 24
|
||
|
#define WIA_DPC_BURST_INTERVAL WIA_DPC_FIRST + 25
|
||
|
#define WIA_DPC_BURST_NUMBER WIA_DPC_FIRST + 26
|
||
|
#define WIA_DPC_EFFECT_MODE WIA_DPC_FIRST + 27
|
||
|
#define WIA_DPC_DIGITAL_ZOOM WIA_DPC_FIRST + 28
|
||
|
#define WIA_DPC_SHARPNESS WIA_DPC_FIRST + 29
|
||
|
#define WIA_DPC_CONTRAST WIA_DPC_FIRST + 30
|
||
|
#define WIA_DPC_CAPTURE_MODE WIA_DPC_FIRST + 31
|
||
|
#define WIA_DPC_CAPTURE_DELAY WIA_DPC_FIRST + 32
|
||
|
#define WIA_DPC_EXPOSURE_INDEX WIA_DPC_FIRST + 33
|
||
|
#define WIA_DPC_EXPOSURE_METERING_MODE WIA_DPC_FIRST + 34
|
||
|
#define WIA_DPC_FOCUS_METERING_MODE WIA_DPC_FIRST + 35
|
||
|
#define WIA_DPC_FOCUS_DISTANCE WIA_DPC_FIRST + 36
|
||
|
#define WIA_DPC_FOCAL_LENGTH WIA_DPC_FIRST + 37
|
||
|
#define WIA_DPC_RGB_GAIN WIA_DPC_FIRST + 38
|
||
|
#define WIA_DPC_WHITE_BALANCE WIA_DPC_FIRST + 39
|
||
|
#define WIA_DPC_UPLOAD_URL WIA_DPC_FIRST + 40
|
||
|
#define WIA_DPC_ARTIST WIA_DPC_FIRST + 41
|
||
|
#define WIA_DPC_COPYRIGHT_INFO WIA_DPC_FIRST + 42
|
||
|
#define WIA_DPC_LAST WIA_DPC_FIRST + 42
|
||
|
|
||
|
//
|
||
|
// Scanner device properties
|
||
|
//
|
||
|
|
||
|
#define WIA_DPS_FIRST WIA_DPC_FIRST + WIA_RESERVED_FOR_NEW_PROPS
|
||
|
#define WIA_DPS_HORIZONTAL_BED_SIZE WIA_DPS_FIRST + 0
|
||
|
#define WIA_DPS_VERTICAL_BED_SIZE WIA_DPS_FIRST + 1
|
||
|
#define WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 2
|
||
|
#define WIA_DPS_VERTICAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 3
|
||
|
#define WIA_DPS_SHEET_FEEDER_REGISTRATION WIA_DPS_FIRST + 4
|
||
|
#define WIA_DPS_HORIZONTAL_BED_REGISTRATION WIA_DPS_FIRST + 5
|
||
|
#define WIA_DPS_VERTICAL_BED_REGISTRATION WIA_DPS_FIRST + 6
|
||
|
#define WIA_DPS_PLATEN_COLOR WIA_DPS_FIRST + 7
|
||
|
#define WIA_DPS_PAD_COLOR WIA_DPS_FIRST + 8
|
||
|
#define WIA_DPS_FILTER_SELECT WIA_DPS_FIRST + 9
|
||
|
#define WIA_DPS_DITHER_SELECT WIA_DPS_FIRST + 10
|
||
|
#define WIA_DPS_DITHER_PATTERN_DATA WIA_DPS_FIRST + 11
|
||
|
#define WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES WIA_DPS_FIRST + 12
|
||
|
#define WIA_DPS_DOCUMENT_HANDLING_STATUS WIA_DPS_FIRST + 13
|
||
|
#define WIA_DPS_DOCUMENT_HANDLING_SELECT WIA_DPS_FIRST + 14
|
||
|
#define WIA_DPS_DOCUMENT_HANDLING_CAPACITY WIA_DPS_FIRST + 15
|
||
|
#define WIA_DPS_OPTICAL_XRES WIA_DPS_FIRST + 16
|
||
|
#define WIA_DPS_OPTICAL_YRES WIA_DPS_FIRST + 17
|
||
|
#define WIA_DPS_ENDORSER_CHARACTERS WIA_DPS_FIRST + 18
|
||
|
#define WIA_DPS_ENDORSER_STRING WIA_DPS_FIRST + 19
|
||
|
#define WIA_DPS_SCAN_AHEAD_PAGES WIA_DPS_FIRST + 20
|
||
|
#define WIA_DPS_MAX_SCAN_TIME WIA_DPS_FIRST + 21
|
||
|
#define WIA_DPS_PAGES WIA_DPS_FIRST + 22
|
||
|
#define WIA_DPS_PAGE_SIZE WIA_DPS_FIRST + 23
|
||
|
#define WIA_DPS_PAGE_WIDTH WIA_DPS_FIRST + 24
|
||
|
#define WIA_DPS_PAGE_HEIGHT WIA_DPS_FIRST + 25
|
||
|
#define WIA_DPS_PREVIEW WIA_DPS_FIRST + 26
|
||
|
#define WIA_DPS_TRANSPARENCY WIA_DPS_FIRST + 27
|
||
|
#define WIA_DPS_TRANSPARENCY_SELECT WIA_DPS_FIRST + 28
|
||
|
#define WIA_DPS_SHOW_PREVIEW_CONTROL WIA_DPS_FIRST + 29
|
||
|
#define WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 30
|
||
|
#define WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 31
|
||
|
#define WIA_DPS_LAST WIA_DPS_FIRST + 31
|
||
|
|
||
|
//
|
||
|
// File System Properties
|
||
|
//
|
||
|
#define WIA_DPF_FIRST WIA_DPS_FIRST + WIA_RESERVED_FOR_SMALL_NEW_PROPS
|
||
|
#define WIA_DPF_MOUNT_POINT WIA_DPF_FIRST + 0
|
||
|
#define WIA_DPF_LAST WIA_DPF_FIRST + 0
|
||
|
|
||
|
//
|
||
|
// Video Camera properties.
|
||
|
//
|
||
|
//
|
||
|
#define WIA_DPV_FIRST WIA_DPF_FIRST + WIA_RESERVED_FOR_SMALL_NEW_PROPS
|
||
|
#define WIA_DPV_LAST_PICTURE_TAKEN WIA_DPV_FIRST + 0
|
||
|
#define WIA_DPV_IMAGES_DIRECTORY WIA_DPV_FIRST + 1
|
||
|
#define WIA_DPV_DSHOW_DEVICE_PATH WIA_DPV_FIRST + 2
|
||
|
#define WIA_DPV_LAST WIA_DPV_FIRST + 2
|
||
|
|
||
|
//
|
||
|
// Common item properties
|
||
|
//
|
||
|
|
||
|
#define WIA_IPA_FIRST WIA_DPS_FIRST + WIA_RESERVED_FOR_NEW_PROPS
|
||
|
#define WIA_IPA_ITEM_NAME WIA_IPA_FIRST + 0
|
||
|
#define WIA_IPA_FULL_ITEM_NAME WIA_IPA_FIRST + 1
|
||
|
#define WIA_IPA_ITEM_TIME WIA_IPA_FIRST + 2
|
||
|
#define WIA_IPA_ITEM_FLAGS WIA_IPA_FIRST + 3
|
||
|
#define WIA_IPA_ACCESS_RIGHTS WIA_IPA_FIRST + 4
|
||
|
#define WIA_IPA_DATATYPE WIA_IPA_FIRST + 5
|
||
|
#define WIA_IPA_DEPTH WIA_IPA_FIRST + 6
|
||
|
#define WIA_IPA_PREFERRED_FORMAT WIA_IPA_FIRST + 7
|
||
|
#define WIA_IPA_FORMAT WIA_IPA_FIRST + 8
|
||
|
#define WIA_IPA_COMPRESSION WIA_IPA_FIRST + 9
|
||
|
#define WIA_IPA_TYMED WIA_IPA_FIRST + 10
|
||
|
#define WIA_IPA_CHANNELS_PER_PIXEL WIA_IPA_FIRST + 11
|
||
|
#define WIA_IPA_BITS_PER_CHANNEL WIA_IPA_FIRST + 12
|
||
|
#define WIA_IPA_PLANAR WIA_IPA_FIRST + 13
|
||
|
#define WIA_IPA_PIXELS_PER_LINE WIA_IPA_FIRST + 14
|
||
|
#define WIA_IPA_BYTES_PER_LINE WIA_IPA_FIRST + 15
|
||
|
#define WIA_IPA_NUMBER_OF_LINES WIA_IPA_FIRST + 16
|
||
|
#define WIA_IPA_GAMMA_CURVES WIA_IPA_FIRST + 17
|
||
|
#define WIA_IPA_ITEM_SIZE WIA_IPA_FIRST + 18
|
||
|
#define WIA_IPA_COLOR_PROFILE WIA_IPA_FIRST + 19
|
||
|
#define WIA_IPA_MIN_BUFFER_SIZE WIA_IPA_FIRST + 20
|
||
|
// Note: BUFFER_SIZE and MIN_BUFFER_SIZE have the same propids
|
||
|
#define WIA_IPA_BUFFER_SIZE WIA_IPA_FIRST + 20
|
||
|
#define WIA_IPA_REGION_TYPE WIA_IPA_FIRST + 21
|
||
|
#define WIA_IPA_ICM_PROFILE_NAME WIA_IPA_FIRST + 22
|
||
|
#define WIA_IPA_APP_COLOR_MAPPING WIA_IPA_FIRST + 23
|
||
|
#define WIA_IPA_PROP_STREAM_COMPAT_ID WIA_IPA_FIRST + 24
|
||
|
#define WIA_IPA_FILENAME_EXTENSION WIA_IPA_FIRST + 25
|
||
|
#define WIA_IPA_SUPPRESS_PROPERTY_PAGE WIA_IPA_FIRST + 26
|
||
|
#define WIA_IPA_LAST WIA_IPA_FIRST + 26
|
||
|
|
||
|
//
|
||
|
// Camera item properties
|
||
|
//
|
||
|
|
||
|
#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_NUM_PICT_PER_ROW WIA_IPC_FIRST + 6
|
||
|
#define WIA_IPC_SEQUENCE WIA_IPC_FIRST + 7
|
||
|
#define WIA_IPC_TIMEDELAY WIA_IPC_FIRST + 8
|
||
|
#define WIA_IPC_LAST WIA_IPC_FIRST + 8
|
||
|
|
||
|
//
|
||
|
// Scanner item properties
|
||
|
//
|
||
|
#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_INVERT WIA_IPS_FIRST + 14
|
||
|
#define WIA_IPS_WARM_UP_TIME WIA_IPS_FIRST + 15
|
||
|
#define WIA_IPS_LAST WIA_IPS_FIRST + 15
|
||
|
|
||
|
[
|
||
|
uuid(95CEDD63-2E34-4B84-9FB3-F86AF1D4BF7A),
|
||
|
version(1.0),
|
||
|
helpstring("Microsoft Windows Image Acquisition 1.01 Type Library")
|
||
|
]
|
||
|
library WIALib
|
||
|
{
|
||
|
importlib("stdole32.tlb");
|
||
|
importlib("stdole2.tlb");
|
||
|
|
||
|
////////////////////////////////////////////////////////////
|
||
|
// WiaProtocol Object (used only internally)
|
||
|
|
||
|
[
|
||
|
uuid(13F3EA8B-91D7-4F0A-AD76-D2853AC8BECE),
|
||
|
helpstring("WiaProtocol Class"),
|
||
|
hidden
|
||
|
]
|
||
|
coclass WiaProtocol
|
||
|
{
|
||
|
[restricted] interface IUnknown;
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////////////////
|
||
|
// Enumerations
|
||
|
|
||
|
[uuid(E9F173A4-EF5C-4553-9F80-87ECFB636D9B), helpstring("WiaIntents")]
|
||
|
typedef [public] enum WiaIntent {
|
||
|
ImageTypeColor = WIA_INTENT_IMAGE_TYPE_COLOR,
|
||
|
ImageTypeGrayscale = WIA_INTENT_IMAGE_TYPE_GRAYSCALE,
|
||
|
ImageTypeText = WIA_INTENT_IMAGE_TYPE_TEXT,
|
||
|
MinimizeSize = WIA_INTENT_MINIMIZE_SIZE,
|
||
|
MaximizeQuality = WIA_INTENT_MAXIMIZE_QUALITY,
|
||
|
BestPreview = WIA_INTENT_BEST_PREVIEW
|
||
|
}
|
||
|
WiaIntent;
|
||
|
|
||
|
[uuid(56385E6A-12C5-419d-8516-062B9613E042), helpstring("WiaFlags")]
|
||
|
typedef [public] enum WiaFlag {
|
||
|
SingleImage = WIA_DEVICE_DIALOG_SINGLE_IMAGE,
|
||
|
UseCommonUI = WIA_DEVICE_DIALOG_USE_COMMON_UI,
|
||
|
}
|
||
|
WiaFlag;
|
||
|
|
||
|
[uuid(9EED984D-AAC3-43cb-A993-98403F5ADC55), helpstring("WiaDeviceInfoPropertyIds")]
|
||
|
typedef [public] enum WiaDeviceInfoPropertyId {
|
||
|
DeviceInfoDevId = WIA_DIP_DEV_ID,
|
||
|
DeviceInfoVendDesc = WIA_DIP_VEND_DESC,
|
||
|
DeviceInfoDevDesc = WIA_DIP_DEV_DESC,
|
||
|
DeviceInfoDevType = WIA_DIP_DEV_TYPE,
|
||
|
DeviceInfoPortName = WIA_DIP_PORT_NAME,
|
||
|
DeviceInfoDevName = WIA_DIP_DEV_NAME,
|
||
|
DeviceInfoServerName = WIA_DIP_SERVER_NAME,
|
||
|
DeviceInfoRemoteDevId = WIA_DIP_REMOTE_DEV_ID,
|
||
|
DeviceInfoUIClsid = WIA_DIP_UI_CLSID,
|
||
|
DeviceInfoHwConfig = WIA_DIP_HW_CONFIG,
|
||
|
DeviceInfoBaudRate = WIA_DIP_BAUDRATE,
|
||
|
DeviceInfoStiGenCapabilities = WIA_DIP_STI_GEN_CAPABILITIES,
|
||
|
DeviceInfoWiaVersion = WIA_DIP_WIA_VERSION,
|
||
|
DeviceInfoDriverVersion = WIA_DIP_DRIVER_VERSION,
|
||
|
}
|
||
|
WiaDeviceInfoPropertyId;
|
||
|
|
||
|
[uuid(A0115E47-C46A-4c1d-A3B5-5ADB9F2FCD04), helpstring("WiaDeviceItemPropertyIds")]
|
||
|
typedef [public] enum WiaItemPropertyId {
|
||
|
DeviceFirmwareVersion = WIA_DPA_FIRMWARE_VERSION,
|
||
|
DeviceConnectStatus = WIA_DPA_CONNECT_STATUS,
|
||
|
DeviceDeviceTime = WIA_DPA_DEVICE_TIME,
|
||
|
|
||
|
CameraDevicePicturesTaken = WIA_DPC_PICTURES_TAKEN,
|
||
|
CameraDevicePicturesRemaining = WIA_DPC_PICTURES_REMAINING,
|
||
|
CameraDeviceExposureMode = WIA_DPC_EXPOSURE_MODE,
|
||
|
CameraDeviceExposureComp = WIA_DPC_EXPOSURE_COMP,
|
||
|
CameraDeviceExposureTime = WIA_DPC_EXPOSURE_TIME,
|
||
|
CameraDeviceFNumber = WIA_DPC_FNUMBER,
|
||
|
CameraDeviceFlashMode = WIA_DPC_FLASH_MODE,
|
||
|
CameraDeviceFocusMode = WIA_DPC_FOCUS_MODE,
|
||
|
CameraDevicePanPosition = WIA_DPC_PAN_POSITION,
|
||
|
CameraDeviceTiltPosition = WIA_DPC_TILT_POSITION,
|
||
|
CameraDeviceTimerMode = WIA_DPC_TIMER_MODE,
|
||
|
CameraDeviceTimerValue = WIA_DPC_TIMER_VALUE,
|
||
|
CameraDevicePowerMode = WIA_DPC_POWER_MODE,
|
||
|
CameraDeviceBatteryStatus = WIA_DPC_BATTERY_STATUS,
|
||
|
CameraDeviceThumbWidth = WIA_DPC_THUMB_WIDTH,
|
||
|
CameraDeviceThumbHeight = WIA_DPC_THUMB_HEIGHT,
|
||
|
CameraDevicePictWidth = WIA_DPC_PICT_WIDTH,
|
||
|
CameraDevicePictHeight = WIA_DPC_PICT_HEIGHT,
|
||
|
CameraDeviceCompressionSetting = WIA_DPC_COMPRESSION_SETTING,
|
||
|
CameraDeviceTimelapseInterval = WIA_DPC_TIMELAPSE_INTERVAL,
|
||
|
CameraDeviceTimelapseNumber = WIA_DPC_TIMELAPSE_NUMBER,
|
||
|
CameraDeviceBurstInterval = WIA_DPC_BURST_INTERVAL,
|
||
|
CameraDeviceBurstNumber = WIA_DPC_BURST_NUMBER,
|
||
|
CameraDeviceEffectMode = WIA_DPC_EFFECT_MODE,
|
||
|
CameraDeviceDigitalZoom = WIA_DPC_DIGITAL_ZOOM,
|
||
|
CameraDeviceSharpness = WIA_DPC_SHARPNESS,
|
||
|
CameraDeviceContrast = WIA_DPC_CONTRAST,
|
||
|
CameraDeviceCaptureMode = WIA_DPC_CAPTURE_MODE,
|
||
|
CameraDeviceCaptureDelay = WIA_DPC_CAPTURE_DELAY,
|
||
|
CameraDeviceExposureIndex = WIA_DPC_EXPOSURE_INDEX,
|
||
|
CameraDeviceExposureMeteringMode = WIA_DPC_EXPOSURE_METERING_MODE,
|
||
|
CameraDeviceFocusMeteringMode = WIA_DPC_FOCUS_METERING_MODE,
|
||
|
CameraDeviceFocusDistance = WIA_DPC_FOCUS_DISTANCE,
|
||
|
CameraDeviceFocalLength = WIA_DPC_FOCAL_LENGTH,
|
||
|
CameraDeviceRGBGain = WIA_DPC_RGB_GAIN,
|
||
|
CameraDeviceWhiteBalance = WIA_DPC_WHITE_BALANCE,
|
||
|
CameraDeviceUploadURL = WIA_DPC_UPLOAD_URL,
|
||
|
CameraDeviceArtist = WIA_DPC_ARTIST,
|
||
|
CameraDeviceCopyrightInfo = WIA_DPC_COPYRIGHT_INFO,
|
||
|
|
||
|
ScannerDeviceHorizontalBedSize = WIA_DPS_HORIZONTAL_BED_SIZE,
|
||
|
ScannerDeviceVerticalBedSize = WIA_DPS_VERTICAL_BED_SIZE,
|
||
|
ScannerDeviceHorizontalSheetFeedSize = WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE,
|
||
|
ScannerDeviceVerticalSheetFeedSize = WIA_DPS_VERTICAL_SHEET_FEED_SIZE,
|
||
|
ScannerDeviceSheetFeederRegistration = WIA_DPS_SHEET_FEEDER_REGISTRATION,
|
||
|
ScannerDeviceHorizontalBedRegistration = WIA_DPS_HORIZONTAL_BED_REGISTRATION,
|
||
|
ScannerDeviceVerticalBedRegistration = WIA_DPS_VERTICAL_BED_REGISTRATION,
|
||
|
ScannerDevicePlatenColor = WIA_DPS_PLATEN_COLOR,
|
||
|
ScannerDevicePadColor = WIA_DPS_PAD_COLOR,
|
||
|
ScannerDeviceDocumentHandlingCapabilities = WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES,
|
||
|
ScannerDeviceDocumentHandlingStatus = WIA_DPS_DOCUMENT_HANDLING_STATUS,
|
||
|
ScannerDeviceDocumentHandlingSelect = WIA_DPS_DOCUMENT_HANDLING_SELECT,
|
||
|
ScannerDeviceDocumentHandlingCapacity = WIA_DPS_DOCUMENT_HANDLING_CAPACITY,
|
||
|
ScannerDeviceOpticalXres = WIA_DPS_OPTICAL_XRES,
|
||
|
ScannerDeviceOpticalYres = WIA_DPS_OPTICAL_YRES,
|
||
|
ScannerDeviceEndorserCharacters = WIA_DPS_ENDORSER_CHARACTERS,
|
||
|
ScannerDeviceEndorserString = WIA_DPS_ENDORSER_STRING,
|
||
|
ScannerDeviceScanAheadPages = WIA_DPS_SCAN_AHEAD_PAGES,
|
||
|
ScannerDeviceMaxScanTime = WIA_DPS_MAX_SCAN_TIME,
|
||
|
ScannerDevicePages = WIA_DPS_PAGES,
|
||
|
ScannerDevicePageSize = WIA_DPS_PAGE_SIZE,
|
||
|
ScannerDevicePageWidth = WIA_DPS_PAGE_WIDTH,
|
||
|
ScannerDevicePageHeight = WIA_DPS_PAGE_HEIGHT,
|
||
|
ScannerDevicePreview = WIA_DPS_PREVIEW,
|
||
|
ScannerDeviceTransparency = WIA_DPS_TRANSPARENCY,
|
||
|
ScannerDeviceTransparencySelect = WIA_DPS_TRANSPARENCY_SELECT,
|
||
|
ScannerDeviceShowPreviewControl = WIA_DPS_SHOW_PREVIEW_CONTROL,
|
||
|
ScannerDeviceMinHorizontalSheetFeedSize = WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE,
|
||
|
ScannerDeviceMinVerticalSheetFeedSize = WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE,
|
||
|
|
||
|
FileDeviceMountPoint = WIA_DPF_MOUNT_POINT,
|
||
|
|
||
|
VideoDeviceLastPictureTaken = WIA_DPV_LAST_PICTURE_TAKEN,
|
||
|
VideoDeviceImagesDirectory = WIA_DPV_IMAGES_DIRECTORY,
|
||
|
VideoDeviceDShowDevicePath = WIA_DPV_DSHOW_DEVICE_PATH,
|
||
|
|
||
|
PictureItemName = WIA_IPA_ITEM_NAME,
|
||
|
PictureFullItemName = WIA_IPA_FULL_ITEM_NAME,
|
||
|
PictureItemTime = WIA_IPA_ITEM_TIME,
|
||
|
PictureItemFlags = WIA_IPA_ITEM_FLAGS,
|
||
|
PictureAccessRights = WIA_IPA_ACCESS_RIGHTS,
|
||
|
PictureDatatype = WIA_IPA_DATATYPE,
|
||
|
PictureDepth = WIA_IPA_DEPTH,
|
||
|
PicturePreferredFormat = WIA_IPA_PREFERRED_FORMAT,
|
||
|
PictureFormat = WIA_IPA_FORMAT,
|
||
|
PictureCompression = WIA_IPA_COMPRESSION,
|
||
|
PictureTymed = WIA_IPA_TYMED,
|
||
|
PictureChannelsPerPixel = WIA_IPA_CHANNELS_PER_PIXEL,
|
||
|
PictureBitsPerChannel = WIA_IPA_BITS_PER_CHANNEL,
|
||
|
PicturePlanar = WIA_IPA_PLANAR,
|
||
|
PicturePixelsPerLine = WIA_IPA_PIXELS_PER_LINE,
|
||
|
PictureBytesPerLine = WIA_IPA_BYTES_PER_LINE,
|
||
|
PictureNumberOfLines = WIA_IPA_NUMBER_OF_LINES,
|
||
|
PictureGammaCurves = WIA_IPA_GAMMA_CURVES,
|
||
|
PictureItemSize = WIA_IPA_ITEM_SIZE,
|
||
|
PictureColorProfile = WIA_IPA_COLOR_PROFILE,
|
||
|
PictureMinBufferSize = WIA_IPA_MIN_BUFFER_SIZE,
|
||
|
PictureBufferSize = WIA_IPA_BUFFER_SIZE,
|
||
|
PictureRegionType = WIA_IPA_REGION_TYPE,
|
||
|
PictureIcmProfileName = WIA_IPA_ICM_PROFILE_NAME,
|
||
|
PictureAppColorMapping = WIA_IPA_APP_COLOR_MAPPING,
|
||
|
PicturePropStreamCompatId = WIA_IPA_PROP_STREAM_COMPAT_ID,
|
||
|
PictureFilenameExtension = WIA_IPA_FILENAME_EXTENSION,
|
||
|
PictureSuppressPropertyPage = WIA_IPA_SUPPRESS_PROPERTY_PAGE,
|
||
|
|
||
|
CameraPictureThumbnail = WIA_IPC_THUMBNAIL,
|
||
|
CameraPictureThumbWidth = WIA_IPC_THUMB_WIDTH,
|
||
|
CameraPictureThumbHeight = WIA_IPC_THUMB_HEIGHT,
|
||
|
CameraPictureAudioAvailable = WIA_IPC_AUDIO_AVAILABLE,
|
||
|
CameraPictureAudioDataFormat = WIA_IPC_AUDIO_DATA_FORMAT,
|
||
|
CameraPictureAudioData = WIA_IPC_AUDIO_DATA,
|
||
|
CameraPictureNumPictPerRow = WIA_IPC_NUM_PICT_PER_ROW,
|
||
|
CameraPictureSequence = WIA_IPC_SEQUENCE,
|
||
|
CameraPictureTimedelay = WIA_IPC_TIMEDELAY,
|
||
|
|
||
|
ScannerPictureCurIntent = WIA_IPS_CUR_INTENT,
|
||
|
ScannerPictureXres = WIA_IPS_XRES,
|
||
|
ScannerPictureYres = WIA_IPS_YRES,
|
||
|
ScannerPictureXpos = WIA_IPS_XPOS,
|
||
|
ScannerPictureYpos = WIA_IPS_YPOS,
|
||
|
ScannerPictureXextent = WIA_IPS_XEXTENT,
|
||
|
ScannerPictureYextent = WIA_IPS_YEXTENT,
|
||
|
ScannerPicturePhotometricInterp = WIA_IPS_PHOTOMETRIC_INTERP,
|
||
|
ScannerPictureBrightness = WIA_IPS_BRIGHTNESS,
|
||
|
ScannerPictureContrast = WIA_IPS_CONTRAST,
|
||
|
ScannerPictureOrientation = WIA_IPS_ORIENTATION,
|
||
|
ScannerPictureRotation = WIA_IPS_ROTATION,
|
||
|
ScannerPictureMirror = WIA_IPS_MIRROR,
|
||
|
ScannerPictureThreshold = WIA_IPS_THRESHOLD,
|
||
|
ScannerPictureInvert = WIA_IPS_INVERT,
|
||
|
ScannerPictureWarmUpTime = WIA_IPS_WARM_UP_TIME,
|
||
|
}
|
||
|
WiaItemPropertyId;
|
||
|
|
||
|
|
||
|
////////////////////////////////////////////////////////////
|
||
|
// Forward Reference
|
||
|
|
||
|
interface ICollection;
|
||
|
|
||
|
////////////////////////////////////////////////////////////
|
||
|
// Item Object
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(D06D503F-4B71-40f3-94A7-66478F732BC9),
|
||
|
dual,
|
||
|
helpstring("IWiaDeviceItem interface"),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IWiaDispatchItem : IDispatch
|
||
|
{
|
||
|
[propget, id(1), helpstring("Returns the current connection status")] HRESULT ConnectStatus( [out,retval] BSTR* pbstrStatus );
|
||
|
[propget, id(2), helpstring("Returns the current time on the device")] HRESULT Time( [out,retval] BSTR* pbstrTime );
|
||
|
[propget, id(3), helpstring("Returns the firmware version of the device")] HRESULT FirmwareVersion( [out,retval] BSTR* pbstrVersion );
|
||
|
[id(4), helpstring("Displays the acquisition dialog box")] HRESULT GetItemsFromUI([in, defaultvalue(0)] WiaFlag Flags, [in, defaultvalue(0)] WiaIntent Intent, [out, retval] ICollection** ppCollection);
|
||
|
[id(5), helpstring( "Transfers the item to a file, or clipboard if filename is clipboard" )] HRESULT Transfer( [in] BSTR Filename, [in, defaultvalue((VARIANT_BOOL)0)] VARIANT_BOOL AsyncTransfer );
|
||
|
[id(6), helpstring( "Takes a Picture and returns it if successful" )] HRESULT TakePicture( [out, retval] IWiaDispatchItem** ppDispItem );
|
||
|
[propget, id(20), helpstring("Returns the Name of the item")] HRESULT Name( [out,retval] BSTR* pbstrName );
|
||
|
[propget, id(21), helpstring("Returns the full name of the item")] HRESULT FullName( [out,retval] BSTR* pbstrFullName );
|
||
|
[propget, id(22), helpstring("Returns the type of this item")] HRESULT ItemType( [out,retval] BSTR* pbstrType );
|
||
|
[propget, id(23), helpstring("Returns the width of the item in pixels")] HRESULT Width( [out,retval] long* plWidth );
|
||
|
[propget, id(24), helpstring("Returns the height of the item in pixels")] HRESULT Height( [out,retval] long* plHeight );
|
||
|
[propget, id(50), helpstring("Returns the width of the the item's thumbnail")] HRESULT ThumbWidth([out,retval] long* plWidth );
|
||
|
[propget, id(51), helpstring("Returns the height of the item's thumbnail")] HRESULT ThumbHeight( [out,retval] long* plHeight );
|
||
|
[propget, id(52), helpstring("Returns the path to the temporary image thumbnail")] HRESULT Thumbnail( [out,retval] BSTR* pbstrPath );
|
||
|
[propget, id(53), helpstring("Returns the height of the picture")] HRESULT PictureHeight( [out, retval] long* plHeight );
|
||
|
[propget, id(54), helpstring("Returns the width of the picture")] HRESULT PictureWidth( [out,retval] long* plWidth );
|
||
|
[propget, id(500), helpstring("Returns a collection of this items children")] HRESULT Children( [out,retval] ICollection** ppCollection );
|
||
|
[id(1000), helpstring("Returns the value of the property with the given id")] HRESULT GetPropById( [in] WiaItemPropertyId Id, [out,retval] VARIANT* pvaOut );
|
||
|
};
|
||
|
|
||
|
[
|
||
|
noncreatable,
|
||
|
uuid(E6C45109-442C-4585-BE44-F5D2884E544A),
|
||
|
helpstring("WiaItem Class")
|
||
|
]
|
||
|
coclass Item
|
||
|
{
|
||
|
[default] interface IWiaDispatchItem;
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////////////////
|
||
|
// DeviceInfo Object
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(5267FF5E-7CAF-4769-865D-17A25968525E),
|
||
|
dual,
|
||
|
helpstring("IWiaDeviceInfo Interface"),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IWiaDeviceInfo : IDispatch
|
||
|
{
|
||
|
[id(1), helpstring("Create an Item for this device")] HRESULT Create( [out,retval] IWiaDispatchItem** ppDevice );
|
||
|
[propget, id(2), helpstring("Returns the id of the device")] HRESULT Id( [out,retval] BSTR* pbstrDeviceId );
|
||
|
[propget, id(3), helpstring("Returns the name of the device" )] HRESULT Name( [out,retval] BSTR* pbstrName );
|
||
|
[propget, id(4), helpstring("Returns the type of the device" )] HRESULT Type( [out,retval] BSTR* pbstrType );
|
||
|
[propget, id(5), helpstring("Returns the port the device is connected to" )] HRESULT Port( [out,retval] BSTR* pbstrPort );
|
||
|
[propget, id(6), helpstring("Returns the class id for the User Interface for this device" )] HRESULT UIClsid( [out,retval] BSTR* pbstrGuidUI );
|
||
|
[propget, id(7), helpstring("Returns the name of the manufacturer of this device" )] HRESULT Manufacturer( [out,retval] BSTR* pbstrVendor );
|
||
|
[id(1000), helpstring("Returns the value of the property with the given Id")] HRESULT GetPropById( [in] WiaDeviceInfoPropertyId Id, [out,retval] VARIANT* pvaOut );
|
||
|
};
|
||
|
|
||
|
[
|
||
|
noncreatable,
|
||
|
uuid(34E1C006-99D2-4335-B0B1-CE7B9FE5396C),
|
||
|
helpstring("DeviceInfo Class")
|
||
|
]
|
||
|
coclass DeviceInfo
|
||
|
{
|
||
|
[default] interface IWiaDeviceInfo;
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////////////////
|
||
|
// Collection Object
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(C34C8CE7-B253-4f89-AA25-8A24AD71D0C0),
|
||
|
dual,
|
||
|
helpstring("ICollection Interface"),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface ICollection : IDispatch
|
||
|
{
|
||
|
[propget, id(0), helpstring("Returns the specified item in the collection")] HRESULT Item( [in] long Index, [out, retval] IDispatch** ppDispItem );
|
||
|
[propget, id(1), helpstring( "Returns the number of members in the collection" )] HRESULT Count( [out,retval] long* pCount );
|
||
|
|
||
|
// Hidden for backwards compatibility
|
||
|
[propget, id(2), hidden] HRESULT Length( [out, retval] unsigned long* plLength );
|
||
|
|
||
|
// hidden member required to mark interface as a collection
|
||
|
[propget, id(DISPID_NEWENUM), hidden] HRESULT _NewEnum( [out, retval] IUnknown** ppEnum );
|
||
|
};
|
||
|
|
||
|
[
|
||
|
noncreatable,
|
||
|
uuid(6E27C0E7-1D45-4ca7-9BF7-BD6CDDAA1ADC),
|
||
|
helpstring("Collection Class")
|
||
|
]
|
||
|
coclass Collection
|
||
|
{
|
||
|
[default] interface ICollection;
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////////////////
|
||
|
// Collection Object
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
uuid(B10BA1BC-3713-4EC0-8EEA-690EBD2CED8A),
|
||
|
dual,
|
||
|
helpstring("IWia Interface"),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IWia : IDispatch
|
||
|
{
|
||
|
[propget, id(1), helpstring( "Returns the DeviceInfo collection" )] HRESULT Devices( [out, retval] ICollection** ppCol );
|
||
|
[id(2), helpstring( "Creates a connection to the specified DeviceInfo, Id or Index" )] HRESULT Create( [in, unique] VARIANT* Device, [out,retval] IWiaDispatchItem** ppDevice );
|
||
|
[id(10010), hidden] HRESULT _DebugDialog( BOOL fWait );
|
||
|
};
|
||
|
|
||
|
// for some reason midl doesn't put the DIID in the header
|
||
|
// this ensures that it is in the header which makes ATL a lot
|
||
|
// happier.
|
||
|
//REVIEW???? cpp_quote( "EXTERN_C const GUID DIID__IWiaEvents;" )
|
||
|
|
||
|
[
|
||
|
uuid(E5F04D72-6C16-42e2-BCCA-F8D0DB4ADE06),
|
||
|
helpstring("Events fired by the IWia interface")
|
||
|
]
|
||
|
dispinterface _IWiaEvents
|
||
|
{
|
||
|
properties:
|
||
|
methods:
|
||
|
[id(1), helpstring("Occurs when a device is connected" )] void OnDeviceConnected( BSTR Id );
|
||
|
[id(2), helpstring("Occurs when a device is disconnected")] void OnDeviceDisconnected( BSTR Id );
|
||
|
[id(3), helpstring("Occurs when a Transfer has completed")] void OnTransferComplete( IWiaDispatchItem* Item, BSTR Path );
|
||
|
};
|
||
|
|
||
|
[
|
||
|
uuid(4EC4272E-2E6F-4EEB-91D0-EBC4D58E8DEE),
|
||
|
helpstring("WIA Class")
|
||
|
]
|
||
|
coclass Wia
|
||
|
{
|
||
|
[default] interface IWia;
|
||
|
[default, source] dispinterface _IWiaEvents;
|
||
|
};
|
||
|
|
||
|
[
|
||
|
uuid(0DAD5531-BF31-43AC-A513-1F8926BBF5EC),
|
||
|
helpstring("WIA Class (Safe for Scripting)")
|
||
|
]
|
||
|
coclass SafeWia
|
||
|
{
|
||
|
[default] interface IWia;
|
||
|
};
|
||
|
};
|
||
|
|