Windows Image Acquisition
Windows Image Acquisition (WIA; sometimes also called Windows Imaging Architecture) is a proprietary Microsoft driver model and application programming interface (API) for Microsoft Windows Me and later Windows operating systems that enables graphics software to communicate with imaging hardware such as scanners, digital cameras and Digital Video-equipment. It was first introduced in 2000 as part of Windows Me, and continues to be the standard imaging device and API model through successive Windows versions. It is implemented as an on-demand service in Windows XP and later Windows operating systems.
WIA is a very significant superset of the support for digital still imaging drivers that was provided by the Still Image Architecture (STI) in Windows 98. Whereas STI only provided a low-level interface for doing basic transfers of data to and from the device (as well as the invocation of an image scan process on the Windows machine through the external device), WIA provides a framework through which a device can present its unique capabilities to the operating system, and applications can invoke those features. According to Microsoft, WIA drivers are made up of a user interface (UI) component and a driver core component, loaded into two different process spaces: UI in the application space and the driver core in the WIA service space.
In 2002, Microsoft released the Windows Image Acquisition Automation Library Tool, which provides access to WIA functionality through programming languages and scripting environments that support OLE Automation.
In Windows XP, WIA runs in the LocalSystem context. Because of the security ramifications of running a service as LocalSystem whereby a buggy driver or malicious person would have unrestricted access to the system, the WIA service in Windows Server 2003 and Windows Vista operates in the LocalService context. This can result in compatibility issues when using a driver designed for Windows XP.
In Windows XP, support was added for automatic document feeder scanners, scroll-feed scanners without preview capabilities and multi-page TIFF generation. For WIA video, a snapshot filter driver is introduced that allows still frames to be captured from the video stream.
Windows Vista has the WIA Automation library built-in. Also, WIA supports push scanning and multi-image scanning. Push scanning allows initiating scans and adjusting scanning parameters directly from the scanner control panel. Multi-image scanning allows one to scan several images at once and save them directly as separate files. However, video content support is removed from WIA for Windows Vista. Microsoft recommends using the newer Windows Portable Devices API.
Applications that use WIA
- Image and Scanner Interface Specification (ISIS)
- Standard for image acquisition devices (TWAIN)
- Scanner Access Now Easy (SANE)
- "Windows Image Acquisition (WIA)". MSDN Library. msdn.microsoft.com. Retrieved 14 January 2013.
- List of Scanners That Are Supported by Windows Image Acquisition for Windows XP
- List of Digital Cameras That Are Supported by Windows Image Acquisition
- Microsoft published a paper in 2003 titled Security-related Best Practices for WIA Driver Development to assist WIA driver developers in writing drivers that will work in the lower-security context that the WIA service operates in.
- Still Image Connectivity for Windows
- Migrating from WIA to WPD
- Windows Image Acquisition (WIA): MSDN
- What's New in Windows Image Acquisition (WIA) 2.0
- Still Image Connectivity for Windows — describes WIA and compares it to Picture Transfer Protocol and USB Mass Storage methods for transferring images between a digital imaging devices and the computer.
- Sample code creating a WIA utility class on codeproject.com
- Try the HP Print and Scan Doctor for Windows - HP Support