windows-nt/Source/XPSP1/NT/printscan/wia/inc/wiascr.idl
2020-09-26 16:20:57 +08:00

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;
};
};