Digital Image Acquisition with WIA (Windows Embedded Standard 2009)


Windows Image Acquisition (WIA) enables a user to interface with scanners and still digital cameras. The WIA architecture is built on the Microsoft Still Image Architecture. WIA provides both an API and a device driver interface (DDI). There are two WIA components: Windows Image Acquisition Core and Windows Image Acquisition User Interface.

The Windows Image Acquisition Core component provides the core architecture needed to interface with WIA devices, and includes a class installer for use with drivers. This component contains a device manager object and a driver services library.

The Windows Image Acquisition Core component also includes an automation layer that interfaces with imaging devices through Microsoft Windows script. This layer is provided by the WIA architecture, which ensures consistency and minimizes the amount of work performed by the independent hardware vendors (IHVs) to get their drivers accessible through Windows script. This layer also provides a safe-for-scripting security layer. After a WIA driver is written, the Windows Image Acquisition Core component exposes the scripting interfaces to applications.

The Windows Image Acquisition UI component provides the UI for scanners and digital cameras, and enables users to retrieve still images from IEEE 1394-based digital video camcorders and universal serial bus-based (USB) Web cameras.

Other imaging features associated with WIA include a My Pictures folder and My Pictures screen saver.

Be aware of the following design considerations before implementing WIA:

  • Picture Transfer Protocol (PTP) cameras that do not support the USB image class compatible identifier must provide an .inf file.
  • The class installer supports Plug and Play devices for USB, SCSI, and IEEE 1394. It also supports serial-based digital still cameras.
  • The Windows Image Acquisition Core component supports WIA drivers and is compatible with TWAIN drivers.
  • The USB-based Picture Transfer Protocol (PTP) class driver allows PTP-based digital still cameras to install and work without requiring a Windows driver. PTP provides the WIA end-to-end experience.
  • If you are writing an application, you can interface with WIA devices in one of the following ways:
    • Use the WIA high-level interfaces, which are associated with the WIA common dialog boxes. This requires the least amount of effort.
    • Program directly to the WIA interfaces. This adds flexibility to implement custom solutions and mode support for devices without the need for a UI.
    • Use the TWAIN compatibility layer, which exposes WIA devices as TWAIN devices. The compatibility layer is limited to UI-mode only and single-image transfer.
    • Support the common File Open and File Insert dialog box. This dialog box does not support scanners, and only supports video cameras after frames have been captured.

Community Additions