Device Information Property Constants
WIA_DIP_BAUDRATE
The baud rate of serial devices.
WIA_DIP_DEV_DESC
A description of the device.
WIA_DIP_DEV_ID
A device ID that is unique per physical device. This ID is composed of the Still Image class name followed by the device index. This ID is generated by the operating system.
WIA_DIP_DEV_NAME
A user-readable device name.
WIA_DIP_DEV_TYPE
An STI device type constant. Use the GET_STI_DEVICE_TYPE macro to get the device type. Currently, device types are defined as follows:
Type | Definition |
stiDeviceTypeDefault | When enumerating devices, any device that matches |
stiDeviceTypeScanner | Device that is represented as a scanner (see the WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES to determine if the scanner is flatbed or sheet-fed) |
stiDeviceTypeDigitalCamera | Device that is represented as a camera |
stiDeviceTypeStreamingVideo | Device that is represented as streaming video |
WIA_DIP_DRIVER_VERSION
The DLL version number of the driver's USD file.
WIA_DIP_HW_CONFIG
The "hardwareConfig" entry in the driver's INF file.
WIA_DIP_PORT_NAME
Name of the port through which the device is connected.
WIA_DIP_REMOTE_DEV_ID
The ID of the remote device.
WIA_DIP_SERVER_NAME
The name of the server where the WIA server for this device is running.
WIA_DIP_STI_GEN_CAPABILITIES
The driver's "STI_USD_CAPS.dwGenericCaps" value. This value contains the driver's "DeviceType" and "DeviceSubType" values.
WIA_DIP_UI_CLSID
The class ID of the UI component.
WIA_DIP_VEND_DESC
The device manufactures name.
WIA_DIP_WIA_VERSION
The version of WIA.
Common Device Property Constants
WIA_DPA_CONNECT_STATUS
Device connect status. This is intended for serial devices or other non-Plug and Play devices where the operating system cannot determine if the device is connected. There are only two defined values for this property, as follows:
Connect Status | Definition |
WIA_DEVICE_NOT_CONNECTED | Device is not connected |
WIA_DEVICE_CONNECTED | Device is connected and operational |
WIA_DPA_FIRMWARE_VERSION
Firmware version number. The value for the firmware version number is up to the device. For example, "4.2.3".
Scanner Device Property Constants
WIA_DPS_DITHER_PATTERN_DATA
Reserved for future use.
WIA_DPS_DITHER_SELECT
Reserved for future use.
WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES
This property reports the document handling capabilities of a scanner. This property is mandatory for sheet-fed, scroll-fed, and hand-held scanners, and for scanners that have an automatic document feeder. If this property is not present, the application can assume that the scanner does not have an automatic document feeder. The document handling capability flags include the following:
Property | Description |
WIA_FEED | The scanner has an automatic document handler installed |
WIA_FLAT | The scanner has a flatbed platen |
WIA_DETECT_FLAT | The scanner can detect a document on the flatbed platen |
WIA_DETECT_SCAN | The scanner can detect a document in the feeder only by scanning |
WIA_DETECT_FEED | The scanner can detect a document in the feeder |
WIA_DUP | The scanner has a duplexer |
WIA_DETECT_DUP * | The scanner can detect a duplex scan request from the user |
WIA_DETECT_DUP_AVAIL * | The scanner can tell when the duplexer is installed |
WIA_DETECT_FEED_AVAIL * | The scanner can tell when the automatic document feeder is installed |
* Legacy constants. Do not use
WIA_DPS_DOCUMENT_HANDLING_CAPACITY
This property reports the maximum number of pages that the document handler input tray can accept. Do not use this property. Use the WIA_DPS_PAGES property instead.
WIA_DPS_DOCUMENT_HANDLING_SELECT
On scanners with an automatic document feeder, this property selects the document-handling mode. This property is mandatory for scanners with an automatic document feeder. The mode flags include the following:
Property | Description |
WIA_FEEDER | Scan from the document feeder |
WIA_FLATBED | Scan from flatbed platen |
WIA_DUPLEX | Place feeder in duplex mode |
WIA_AUTO_ADVANCE | Enables automatic feeding of the next document after a scan |
WIA_FRONT_FIRST | Scan the front (top) of a document first when doing duplex scanning |
WIA_BACK_FIRST | Scan the back (bottom) of a document first when doing duplex scanning |
WIA_FRONT_ONLY | Scan only the front (top) of a document |
WIA_BACK_ONLY | Scan only the back (bottom) of a document |
WIA_NEXT_PAGE | Scan the next page of the document |
WIA_PREFEED | Enable pre-feed mode. Pre-position next document while scanning |
Because this property is read/write, the driver implements two values for this property: a valid value and a current value. The bits in the valid value indicate values the driver and device support.
For example, if the scanner supports allowing the application to select feeder mode, the FEEDER bit in the valid value for this property is set. The application selects feeder mode by setting the FEEDER bit in the current value.
Scanners have a device item associated with each scan head in the scanner. These items, together with the "Document Handling Select" property, completely specify the source of a scan. The following examples are provided to clarify the use of the "Document Handling Select" property on different scanner hardware configurations:
◼For a flatbed or hand held scanner with no automatic document handling, this property would not be implemented.
◼If a duplex scanner does not support programmable (front/back) page order, either FRONT_FIRST or BACK_FIRST must still be available as a flag so that applications can detect the page order. An error should be generated if an application tries to change the order.
◼A non-duplex scanner with automatic document handling must support either the FRONT_ONLY or BACK_ONLY flag so that applications can detect the page orientation. An error should be generated if an application tries to change the page orientation.
WIA_DPS_DOCUMENT_HANDLING_STATUS
This property reports the real-time document handling status of a scanner. This property is mandatory for sheet-fed, scroll-fed, and hand-held scanners, and for scanners that have an automatic document feeder. The status flags include the following:
Property | Description |
WIA_FEED_READY | The document handler has a page ready to feed |
WIA_FLAT_READY | The scanner has a document on the flatbed platen |
WIA_DUP_READY | The scanner has detected a duplex request from the user |
WIA_FLAT_COVER_UP | The flat bed cover is up |
WIA_PATH_COVER_UP | The paper path cover is up |
WIA_PAPER_JAM | There is a document jam in the paper path |
WIA_DPS_ENDORSER_CHARACTERS
Returns a string that contains all of the valid characters that are printed by the endorser. This property is optional.
WIA_DPS_ENDORSER_STRING
Specifies a string that is printed onto the document when it is scanned. The endorser string supports using tokens that are replaced with values by the system. This property is optional. The following tokens are supported:
Item | Description |
$DATE$ | The date in the form YYYY/MM/DD |
$DAY$ | The day in the form DD |
$MONTH$ | The month of the year in the form MM |
$PAGE_COUNT$ | The number of pages transferred |
$TIME$ | The time of day in the form HH:MM:SS |
$YEAR$ | The year in the form YYYY |
WIA_DPS_FILTER_SELECT
Reserved for future use.
WIA_DPS_HORIZONTAL_BED_REGISTRATION
Indicates how the sheet is positioned horizontally on the platen of a flatbed scanner. It is used to predict where a document is placed across the platen. It takes one of the following constants:
Property | Description |
WIA_LEFT_JUSTIFIED | The sheet is positioned to the left with respect to the platen |
WIA_CENTERED | The sheet is centered on the platen |
WIA_RIGHT_JUSTIFIED | The sheet is positioned to the right with respect to the platen |
On scanners that support more than one scan head, this property is relative to the top scan head. This property is mandatory for scanners that have a platen.
WIA_DPS_HORIZONTAL_BED_SIZE
Specifies the maximum width, in thousandths of an inch, that is scanned in the horizontal (X) axis from the platen of a flatbed scanner at the current resolution. This property also applies to automatic document feeders that move sheets to the platen of a flatbed scanner for scanning. This property is mandatory for scanners that have a platen.. Other scanner types will instead implement the WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE property.
WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE
Specifies the maximum width, in thousandths of an inch, that is scanned in the horizontal (X) axis from a handheld or sheet feed scanner at the current resolution. This property also applies to automatic document feeders that scan without moving sheets to the platen of a flatbed scanner. This property is mandatory for sheet-fed, scroll-fed, and hand-held scanners.
WIA_DPS_MAX_SCAN_TIME
This property reports the maximum time, in milliseconds, to scan a page with the current property settings. Applications use this value for detecting hung device error conditions. This property is required for all scanners.
WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE
Specifies the minimum width, in thousandths of an inch, that is scanned in the horizontal (X) axis from a handheld or sheet feed scanner at the current resolution. This property also applies to automatic document feeders that scan without moving sheets to the platen of a flatbed scanner. This property is mandatory for sheet-fed, scroll-fed, and hand-held scanners.
WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE
Specifies the maximum width, in thousandths of an inch, that is scanned in the vertical (Y) axis from a handheld or sheet feed scanner at the current resolution. This property also applies to automatic document feeders that scan without moving sheets to the platen of a flatbed scanner. This property is mandatory for sheet-fed, scroll-fed, and hand-held scanners.
WIA_DPS_OPTICAL_XRES
Horizontal Optical Resolution. Highest supported horizontal optical resolution in DPI. This property is a single value. This is not a list of all resolutions that can be generated by the device. Rather, this is the resolution of the device's optics. This property is required for all scanners.
WIA_DPS_OPTICAL_YRES
Vertical Optical Resolution. Highest supported vertical optical resolution in DPI. This property is a single value. This is not a list of all resolutions that are generated by the device. Rather, this is the resolution of the device's optics. This property is required for all scanners.
WIA_DPS_PAGE_HEIGHT
Indicates the maximum height, in thousandths of an inch, of the page to be scanned This property is optional.
WIA_DPS_PAGE_WIDTH
Indicates the maximum width, in thousandths of an inch, of the page to be scanned. This property is optional.
WIA_DPS_PAGES
Specifies the number of pages to scan. The valid values for this property are represented as a range of values. For scanners with an automatic document feeder, the maximum value of the range represents the document feeder's capacity. If WIA_DPS_DOCUMENT_HANDLING_CAPACITY is used, the maximum value in this range must be the same as the value of WIA_DPS_DOCUMENT_HANDLING_CAPACITY. This property is mandatory for all scanners with an automatic document feeder, and for all sheet-fed, scroll-fed, and hand-held scanners.
WIA_DPS_PREVIEW
This property indicates whether or not the device supports preview scans. For example, sheet-fed and hand-held scanners cannot preview. The application should set this property when it does a preview scan so that the device can be optimized for previewing. This property is optional for all scanners..
WIA_DPS_SCAN_AHEAD_PAGES
Specifies the number of pages that are scanned ahead to local scanner or driver memory on scanners that support scan ahead. A value of zero disables scan ahead. The following negative value constant is supported:
Property | Description |
WIA_SCAN_AHEAD_ALL | Scan ahead as far as possible |
Doing normal data transfers on the buffered scan head item retrieves the buffered pages. Device and item properties may not be changed during a scan-ahead operation. Scanners that support only WIA_SCAN_AHEAD_ALL would report only this value as min, max, and nominal in the valid values for one property. This property is optional.
WIA_DPS_SHEET_FEEDER_REGISTRATION
Indicates how the sheet is positioned horizontally on the scanning head of a hand-held or sheet-fed scanner. It is used to predict where a document is placed across the scan head. It takes one of the following constants:
Property | Description |
WIA_LEFT_JUSTIFIED | The sheet is positioned to the left with respect to the scanning head |
WIA_CENTERED | The sheet is centered on the scanning head |
WIA_RIGHT_JUSTIFIED | The sheet is positioned to the right with respect to the scanning head |
On scanners that support more than one scan head, this property is relative to the top scan head. This property is mandatory for sheet-fed, scroll-fed, and hand-held scanners.
WIA_DPS_SHOW_PREVIEW_CONTROL
Indicates whether the user interface displays a preview control for the scanner. This property has one of the following constant values:
Property | Description |
WIA_SHOW_PREVIEW_CONTROL | The scanner supports displaying a preview control |
WIA_DONT_SHOW_PREVIEW_CONTROL | The scanner does not support displaying a preview control |
WIA_DPS_TRANSPARENCY
Indicates the capabilities and status of an alternate light source/path (transparency adapter) in the scanner for scanning transparencies or slides. This property is mandatory for scanners that have a transparency attachment. The following flags are defined:
Property | Description |
WIA_LIGHT_SOURCE_PRESENT_DETECT | The scanner detects when the transparency adapter is present |
WIA_LIGHT_SOURCE_PRESENT | A transparency adapter is present |
WIA_LIGHT_SOURCE_DETECT_READY | The scanner detects when media is placed on the transparency scanning bed |
WIA_LIGHT_SOURCE_READY | The user selected the transparency adapter at the scanner |
WIA_DPS_TRANSPARENCY_SELECT
Used by the application to select the alternate light source/path or transparency adapter. This property is mandatory for scanners that have a transparency attachment. The following flags are defined:
Property | Description |
WIA_LIGHT_SOURCE_SELECT | Turns on the transparency adapter |
WIA_DPS_VERTICAL_BED_REGISTRATION
Indicates how the sheet is positioned vertically on the platen of a flatbed scanner. It is used to predict where a document is placed on the platen. It takes one of the following constants:
Property | Description |
WIA_TOP_JUSTIFIED | The sheet is positioned to the top with respect to the platen |
WIA_CENTERED | The sheet is centered on the platen |
WIA_BOTTOM_JUSTIFIED | The sheet is positioned to the bottom with respect to the platen |
On scanners that support more than one scan head, this property is relative to the top scan head. This property is mandatory for scanners that have a platen.
WIA_DPS_VERTICAL_BED_SIZE
Specifies the maximum height, in thousandths of an inch, that is scanned in the vertical (Y) axis from the platen of a flatbed scanner at the current resolution. This property also applies to automatic document feeders, that move sheets to the platen of a flatbed scanner for scanning. This property is mandatory for scanners that have a platen. Other scanner types will instead implement the WIA_DPS_VERTICAL_SHEET_FEED_SIZE property.
WIA_DPS_VERTICAL_SHEET_FEED_SIZE
Specifies the maximum height, in thousandths of an inch, that is scanned in the vertical (Y) axis from a handheld or sheet feed scanner at the current resolution. This property also applies to automatic document feeders that scan without moving sheets to the platen of a flatbed scanner. This property is mandatory for sheet-fed scanners. Scroll-fed and hand-held scanners should not implement this property.
WIA_DPS_WARM_UP_TIME
Indicates to the application how long, in milliseconds, it takes the scanner and/or lamp to warm up before scanning commences. The application can display a progress indicator to the user based on this value. If the device requires no warm-up, the value should be zero. This property is required for all scanners.
Camera Device Property Constants
WIA_DPC_ARTIST
The name of the photographer.
WIA_DPC_BATTERY_STATUS
Camera battery life remaining, represented as a value from 100 (full charge) to 0.
WIA_DPC_BURST_INTERVAL
The time, in milliseconds, between image captures during a burst operation.
WIA_DPC_BURST_NUMBER
The number of images the device attempts to capture during a burst operation.
WIA_DPC_CAPTURE_DELAY
The time, in milliseconds, between the firing of the capture trigger and the actual initiation of the data capture. For no pre-capture delay, set this property to zero.
This property is not intended to be used to describe the time between frames for single-initiation multiple captures such as burst or time-lapse.
WIA_DPC_CAPTURE_MODE
Sets the image-capturing mode:
Property | Description |
WIA_CAPTUREMODE_NORMAL | Normal mode for the camera |
WIA_CAPTUREMODE_BURST | Capture more than one image in quick succession as defined by the values of WIA_DPC_BURST_NUMBER and WIA_DPC_BURST_INTERVAL |
WIA_CAPTURMODE_TIMELAPSE | Capture more than one image in succession as defined by WIA_DPC_TIMELAPSE_NUMBER and WIA_DPC_TIMELAPSE_INTERVAL |
WIA_DPC_COMPRESSION_SETTING
A numeric value that specifies relative image quality. This property is device-specific.
WIA_DPC_CONTRAST
The perceived contrast of captured images. This property can use either an enumeration or a range.
WIA_DPC_COPYRIGHT_INFO
Copyright information for the image.
WIA_DPC_DIGITAL_ZOOM
The effective zoom ratio of the digital camera's acquired image scaled by a factor of 10. No digital zoom (1X) corresponds to a value of 10, which is the standard scene size captured by the camera. A value of 20 corresponds to a 2X zoom where 1/4 of the standard scene size is captured by the camera.
WIA_DPC_DIMENSION
Reserved, do not use.
WIA_DPC_EFFECT_MODE
Specifies the special image acquisition mode of the camera.
Effect Modes:
Property | Description |
WIA_EFFECTMODE_STANDARD | The standard mode for the camera |
WIA_EFECTMODE_BW | Capture a grayscale image |
WIA_EFFECTMODE_SEPIA | Capture a sepia image |
WIA_DPC_EXPOSURE_COMP
Exposure compensation when using automatic exposure mode. Valid values are from -200 to 200 in increments of 50. These values represent the range -2.0 to +2.0.
WIA_DPC_EXPOSURE_INDEX
Specifies the film speed for digital cameras that can emulate ISO (ASA/DIN) speed settings. Typically, a device supports discrete enumerated values, but continuous control over a range is possible.
A value of 0xFFFF corresponds to Automatic ISO setting.
WIA_DPC_EXPOSURE_METERING_MODE
Specifies the mode the camera uses to automatically adjust the exposure setting.
Exposure Metering Modes:
Property | Description |
WIA_EXPOSUREMETERING_AVERAGE | Set the exposure based on an average of the entire scene |
WIA_EXPOSUREMETERING_CENTERWEIGHT | Set the exposure based on a center-weighted average |
WIA_EXPOSUREMETERING_MULTISPOT | Set the exposure based on a multi-spot pattern |
WIA_EXPOSUREMETERING_CENTERSPOT | Set the exposure based on a center spot |
WIA_DPC_EXPOSURE_MODE
Specifies the camera exposure mode:
Property | Description |
WIA_EXPOSURE_MODE_MANUAL | The shutter speed and aperture are set by the user |
WIA_EXPOSUREMODE_AUTO | The shutter speed and aperture are automatically set by the camera |
WIA_EXPOSUREMODE_APERTURE_PRIORITY | The aperture is set by the user, and the camera automatically sets the shutter speed |
WIA_EXPOSUREMODE_SHUTTER_PRIORITY | The shutter speed is set by the user, and the camera automatically sets the aperture |
WIA_EXPOSUREMODE_PROGRAM_CREATIVE | The shutter speed and aperture are automatically set by the camera, optimized for still subject matter |
WIA_EXPOSUREMODE_PROGRAM_ACTION | The shutter speed and aperture are automatically set by the camera, optimized for scenes containing fast motion |
WIA_EXPOSUREMODE_PORTRAIT | The shutter speed and aperture are automatically set by the camera, optimized for portrait photography |
WIA_DPC_EXPOSURE_TIME
Manual exposure time. Units are milliseconds. The camera may represent the range of manual exposure settings it supports through the property attributes. Manual exposure time is only used when the camera is in manual exposure mode.
WIA_DPC_FLASH_MODE
Camera flash mode. Flash modes include the following:
Property | Description |
WIA_FLASH_MODE_AUTO | Camera determines whether to flash |
WIA_FLASH_MODE_FILL | Camera flashes, regardless of light conditions |
WIA_FLASH_MODE_OFF | Camera will not flash |
WIA_FLASH_MODE_REDEYE_AUTO | Camera determines whether to flash, using red eye reduction |
WIA_FLASH_MODE_REDEYE_FILL | Camera flashes, regardless of light conditions, using red eye reduction |
WIA_FLASH_MODE_EXTERNALSYNC | Camera syncs external flash units |
WIA_DPC_FNUMBER
Manual F-number setting for use when the camera is in F-number exposure mode. Exposure mode is represented as camera F-number x 100. For example, Number 5.0 = 500.
WIA_DPC_FOCAL_LENGTH
The 35mm equivalent focal length, in 100ths of a millimeter.
WIA_DPC_FOCUS_DISTANCE
The distance, in millimeters, between the image-capturing plane of the digital camera and the point of focus.
A value of $FFFF corresponds to a setting greater than 655 meters.
WIA_DPC_FOCUS_MANUAL_DIST
Reserved, do not use.
WIA_DPC_FOCUS_METERING
Reserved, do not use.
WIA_DPC_FOCUS_METERING_MODE
Specifies the mode the camera uses to automatically adjust the focus.
Focus Metering Modes:
Property | Description |
WIA_FOCUSMETERING_CENTERSPOT | Adjust the focus based on a center spot |
WIA_FOCUSMETERING_MULTISPOT | Adjust the focus based on a multi-spot pattern |
WIA_DPC_FOCUS_MODE
Specifies the focus mode of the digital camera:
Property | Description |
WIA_FOCUSMODE_MANUAL | The focus is set by the user |
WIA_FOCUSMODE_AUTO | The focus is automatically set by the camera |
WIA_FOCUSMODE_MACROAUTO | The focus is automatically set by the camera to a macro (short-range) setting |
WIA_DPC_PAN_POSITION
Specifies the pan position for aiming the camera.
WIA_DPC_PICT_HEIGHT
The height to use for newly captured images. The list of valid values for this property has a one-to-one correspondence to the list of valid values for the WIA_DPC_PICT_WIDTH property.
WIA_DPC_PICT_WIDTH
The width to use for newly captured images. The list of valid values for this property has a one-to-one correspondence to the list of valid values for the WIA_DPC_PICT_HEIGHT property.
WIA_DPC_PICTURES_REMAINING
Number of pictures the device may still capture based on the current device capture settings.
WIA_DPC_PICTURES_TAKEN
Number of pictures taken. This property is mandatory for all cameras.
WIA_DPC_POWER_MODE
This property is used to determine whether the device is operating on battery or line power.
Power Modes:
Property | Description |
WIA_POWERMODE_LINE | AC or other power adapter |
WIA_POWERMODE_BATTERY | Running off batteries |
WIA_DPC_RGB_GAIN
A null-terminated Unicode string that represents the red, green, and blue gain applied to image data, respectively. For example, "4:25:50" (null-terminated) represents a red gain of 4, a green gain of 25, and a blue gain of 50.
WIA_DPC_SHARPNESS
The perceived sharpness of captured images. This property can use either an enumeration or a range.
WIA_DPC_THUMB_HEIGHT
The height, in pixels, of thumbnails created for captured images. The list of valid values for this property have a one-to-one correspondence to the list of valid values for the WIA_DPC_THUMB_WIDTH property.
WIA_DPC_THUMB_WIDTH
The width, in pixels, of thumbnails created for captured images. The list of valid values for this property have a one-to-one correspondence to the list of valid values for the WIA_DPC_THUMB_HEIGHT property.
WIA_DPC_TILT_POSITION
Specifies the tilt position for aiming the camera.
WIA_DPC_TIMELAPSE_INTERVAL
The time, in milliseconds, between image captures in a time-lapse capture operation.
WIA_DPC_TIMELAPSE_NUMBER
The number of images the device attempts to capture during a time-lapse capture.
WIA_DPC_TIMER_MODE
Automatic picture timer mode.
WIA_DPC_TIMER_VALUE
Automatic picture timer time setting in milliseconds. This value is only used when taking a picture through computer control and when the timer mode is on.
WIA_DPC_UPLOAD_URL
A URL to which to upload images from a digital camera.
WIA_DPC_WHITE_BALANCE
Specifies how the digital camera weights color channels.
White Balance values:
Property | Description |
WIA_WHITEBALANCE_MANUAL | White balance is set directly with the WIA_DPC_RGBGAIN property |
WIA_WHITEBALANCE_AUTO | The camera uses an automatic mechanism to set the white balance |
WIA_WHITEBALANCE_ONEPUSH_AUTO | The camera determines the white balance setting when a user presses the capture button while pointing the camera at a white surface |
WIA_WHITEBALANCE_DAYLIGHT | The camera sets the white balance to a value appropriate for use in daylight conditions |
WIA_WHITEBALANCE_FLORESCENT | The camera sets the white balance to a value appropriate for use with a fluorescent light source |
WIA_WHITEBALANCE_TUNGSTEN | The camera sets the white balance to a value appropriate for use with a tungsten light source |
WIA_WHITEBALANCE_FLASH | The camera sets the white balance to a value appropriate for use with an electronic flash |
WIA_DPC_ZOOM_POSITION
Reserved, do not use