WIA

Overview of the WIA technology.

To develop WIA, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
WIAVIDEO_STATE

The WIAVIDEO_STATE enumeration is used to specify the current state of a video stream.

Functions

 
AddDeviceDlg

This method is not implemented. (IWiaDevMgr.AddDeviceDlg)
AnalyzeItem

The IWiaItem::AnalyzeItem method causes the Windows Image Acquisition (WIA) hardware device to acquire and try to detect what data types are present.
BandedDataCallback

Provides data transfer status notifications. Windows Image Acquisition (WIA) data transfer methods of the IWiaDataTransfer interface periodically call this method.
CancelPendingIO

The IWiaItemExtras::CancelPendingIO method cancels all pending input/output operations on the driver.
Clone

The IEnumWIA_DEV_CAPS::Clone method creates an additional instance of the IEnumWIA_DEV_CAPS interface and sends back a pointer to it.
Clone

The IEnumWIA_DEV_INFO::Clone method creates an additional instance of the IEnumWIA_DEV_INFO interface and sends back a pointer to it.
Clone

The IEnumWIA_FORMAT_INFO::Clone method creates an additional instance of the IEnumWIA_FORMAT_INFO interface and returns an interface pointer to the new interface.
Clone

The IEnumWiaItem::Clone method creates an additional instance of the IEnumWiaItem interface and sends back a pointer to it.
CreateChildItem

The IWiaItem::CreateChildItem method is used by applications to add IWiaItem objects to the IWiaItem tree of a device.
CreateDevice

The IWiaDevMgr::CreateDevice creates a hierarchical tree of IWiaItem objects for a Windows Image Acquisition (WIA) device.
CreateVideoByDevNum

The IWiaVideo::CreateVideoByDevNum method creates a connection to a streaming video device with the device number obtained from a Directshow enumeration.
CreateVideoByName

The IWiaVideo::CreateVideoByName method creates a connection to a streaming video device with the friendly device name obtained from a Directshow enumeration.
CreateVideoByWiaDevID

The IWiaVideo::CreateVideoByWiaDevID method creates a connection to a streaming video device from its WIA_DIP_DEV_ID property.
DeleteItem

The IWiaItem::DeleteItem method removes the current IWiaItem object from the object tree of the device.
DestroyVideo

The IWiaVideo::DestroyVideo method shuts down the streaming video. To restart video playback, the application must call one of the IWiaVideo CreateVideo methods again.
DeviceCommand

The IWiaItem::DeviceCommand issues a command to a Windows Image Acquisition (WIA) hardware device.
DeviceDlg

The IWiaItem::DeviceDlg method is used by applications to display a dialog box to the user to prepare for image acquisition.
Diagnostic

This method is not supported. (IWiaItem.Diagnostic)
DumpDrvItemData

This method is not supported. (IWiaItem.DumpDrvItemData)
DumpItemData

This method is not supported. (IWiaItem.DumpItemData)
DumpTreeItemData

This method is not supported. (IWiaItem.DumpTreeItemData)
EnumChildItems

The IWiaItem::EnumChildItems method creates an enumerator object and passes back a pointer to its IEnumWiaItem interface for non-empty folders in a IWiaItem tree of a Windows Image Acquisition (WIA) device.
EnumDeviceCapabilities

The IWiaItem::EnumDeviceCapabilities method creates an enumerator that is used to ascertain the commands and events a Windows Image Acquisition (WIA) device supports.
EnumDeviceInfo

Applications use the IWiaDevMgr::EnumDeviceInfo method to enumerate property information for each available Windows Image Acquisition (WIA) device.
EnumRegisterEventInfo

The IWiaItem::EnumRegisterEventInfo method creates an enumerator used to obtain information about events for which an application is registered.
Escape

The IWiaItemExtras::Escape method sends a request for a vendor-specific I/O operation to a still image device.
FindItemByName

The IWiaItem::FindItemByName method searches an item's tree of sub-items using the name as the search key. Each IWiaItem object has a name as one of its standard properties.
get_ImagesDirectory

The IWiaVideo::ImagesDirectory property specifies the full path and directory where images are stored when calling the IWiaVideo::TakePicture method. (Get)
get_PreviewVisible

The IWiaVideo::PreviewVisible property specifies whether the video playback is visible in its parent window. This does not affect the WIAVIDEO_STATE of the video. (Get)
GetCount

The IEnumWIA_DEV_CAPS::GetCount method returns the number of elements stored by this enumerator.
GetCount

The IEnumWIA_DEV_INFO::GetCount method returns the number of elements stored by this enumerator.
GetCount

The IEnumWIA_FORMAT_INFO::GetCount method returns the number of elements stored by this enumerator.
GetCount

The IEnumWiaItem::GetCount method returns the number of elements stored by this enumerator.
GetCount

The IWiaPropertyStorage::GetCount method returns the number of properties stored in the property storage.
GetCurrentState

The IWiaVideo::GetCurrentState method specifies the state of the video stream as a member of the WIAVIDEO_STATE enumeration.
GetExtendedErrorInfo

The IWiaItemExtras::GetExtendedErrorInfo method gets a string from the device driver that contains information about the most recent error.
GetImageDlg

The IWiaDevMgr::GetImageDlg method displays one or more dialog boxes that enable a user to acquire an image from a Windows Image Acquisition (WIA) device and write the image to a specified file.
GetItemType

The IWiaItem::GetItemType method is called by applications to obtain the type information of an item.
GetPropertyAttributes

The IWiaPropertyStorage::GetPropertyAttributes method retrieves access rights and legal value information for a specified set of properties.
GetPropertyStream

The IWiaPropertyStorage::GetPropertyStream method retrieves the property stream of an item.
GetRootItem

The IWiaItem::GetRootItem method retrieves the root item of a tree of item objects used to represent a Windows Image Acquisition (WIA) hardware device.
hResult

This method is not supported. (IWiaLog.hResult)
hResult

This method is not supported. (IWiaLogEx.hResult)
hResultEx

This method is not supported. (IWiaLogEx.hResultEx)
idtEnumWIA_FORMAT_INFO

The IWiaDataTransfer::idtEnumWIA_FORMAT_INFO method creates a banded transfer implementation of the IEnumWIA_FORMAT_INFO interface.
idtGetBandedData

The IWiaDataTransfer::idtGetBandedData method transfers a band of data from a hardware device to an application. For efficiency, applications retrieve data from Windows Image Acquisition (WIA) hardware devices in successive bands.
idtGetData

The IWiaDataTransfer::idtGetData method retrieves complete files from a Windows Image Acquisition (WIA) device.
idtGetExtendedTransferInfo

The IWiaDataTransfer::idtGetExtendedTransferInfo retrieves extended information relating to data transfer buffers in the case of banded data transfers.
idtQueryGetData

The IWiaDataTransfer::idtQueryGetData method is used by applications to query a Windows Image Acquisition (WIA) device to determine what types of data formats it supports.
ImageEventCallback

The IWiaEventCallback::ImageEventCallback method is invoked by the Windows Image Acquisition (WIA) run-time system when a hardware device event occurs.
InitializeLog

This method is not supported. (IWiaLog.InitializeLog)
InitializeLogEx

This method is not supported. (IWiaLogEx.InitializeLogEx)
Log

This method is not supported. (IWiaLog.Log)
Log

This method is not supported. (IWiaLogEx.Log)
LogEx

This method is not supported. (IWiaLogEx.LogEx)
NewDeviceArrival

This method is not implemented. (IWiaNotifyDevMgr.NewDeviceArrival)
Next

The IEnumWIA_DEV_CAPS::Next method fills an array of pointers to WIA_DEV_CAP structures.
Next

The IEnumWIA_DEV_INFO::Next method fills an array of pointers to IWiaPropertyStorage interfaces.
Next

The IEnumWIA_FORMAT_INFO::Next method returns an array of WIA_FORMAT_INFO structures.
Next

The IEnumWiaItem::Next method fills an array of pointers to IWiaItem interfaces.
Pause

The IWiaVideo::Pause method pauses video playback.
Play

Begins playback of streaming video.
put_ImagesDirectory

The IWiaVideo::ImagesDirectory property specifies the full path and directory where images are stored when calling the IWiaVideo::TakePicture method. (Put)
put_PreviewVisible

The IWiaVideo::PreviewVisible property specifies whether the video playback is visible in its parent window. This does not affect the WIAVIDEO_STATE of the video. (Put)
RegisterEventCallbackCLSID

The IWiaDevMgr::RegisterEventCallbackCLSID method registers an application to receive events even if the application may not be running.
RegisterEventCallbackInterface

The IWiaDevMgr::RegisterEventCallbackInterface method registers a running application Windows Image Acquisition (WIA) event notification.
RegisterEventCallbackProgram

The IWiaDevMgr::RegisterEventCallbackProgram method registers an application to receive device events. It is primarily provided for backward compatibility with applications that were not written for WIA.
Reset

The IEnumWIA_DEV_CAPS::Reset method is used by applications to restart the enumeration of device capabilities.
Reset

The IEnumWIA_DEV_INFO::Reset method is used by applications to restart the enumeration of device information.
Reset

The IEnumWIA_FORMAT_INFO::Reset method sets the enumeration back to the first WIA_FORMAT_INFO structure.
Reset

The IEnumWiaItem::Reset method is used by applications to restart the enumeration of item information.
ResizeVideo

The IWiaVideo::ResizeVideo method resizes the video playback to the largest supported resolution that fits inside the parent window. Call this method whenever the parent window is moved or resized.
SelectDeviceDlg

The IWiaDevMgr::SelectDeviceDlg displays a dialog box that enables the user to select a hardware device for image acquisition.
SelectDeviceDlgID

The IWiaDevMgr::SelectDeviceDlgID method displays a dialog box that enables the user to select a hardware device for image acquisition.
SetPropertyStream

The IWiaPropertyStorage::SetPropertyStream sets the property stream of an item in the tree of IWiaItem objects of a Windows Image Acquisition (WIA) hardware device.
Skip

The IEnumWIA_DEV_CAPS::Skip method skips the specified number of hardware device capabilities during an enumeration of available device capabilities.
Skip

The IEnumWIA_DEV_INFO::Skip method skips the specified number of hardware devices during an enumeration of available devices.
Skip

The IEnumWIA_FORMAT_INFO::Skip method skips the specified number of structures in the enumeration.
Skip

The IEnumWiaItem::Skip method skips the specified number of items during an enumeration of available IWiaItem objects.
TakePicture

The IWiaVideo::TakePicture method extracts a still image from the video stream, and saves the image as a JPEG file.

Interfaces

 
IEnumWIA_DEV_CAPS

The IEnumWIA_DEV_CAPS interface enumerates the currently available Windows Image Acquisition (WIA) hardware device capabilities. Device capabilities include commands and events that the device supports.
IEnumWIA_DEV_INFO

The IEnumWIA_DEV_INFO interface enumerates the currently available Windows Image Acquisition (WIA) hardware devices and their properties. Device information properties describe the installation and configuration of WIA hardware devices.
IEnumWIA_FORMAT_INFO

Use the IEnumWIA_FORMAT_INFO interface to enumerate the format and media type information for a device.
IEnumWiaItem

The IEnumWiaItem interface is used by applications to enumerate IWiaItem objects in the tree's current folder.
IWiaDataCallback

Provides an application callback mechanism during data transfers from Windows Image Acquisition (WIA) hardware devices to applications.Note  For Windows Vista applications, use IWiaTransferCallback instead of IWiaDataCallback.
IWiaDataTransfer

The IWiaDataTransfer interface is a high performance data transfer interface.
IWiaDevMgr

Applications use the IWiaDevMgr interface to create and manage image acquisition devices.
IWiaEventCallback

The IWiaEventCallback interface is used by applications to receive notification of Windows Image Acquisition (WIA) hardware device events.
IWiaItem

Each Windows Image Acquisition (WIA) hardware device is represented to an application as a hierarchical tree of IWiaItem objects.
IWiaItemExtras

The IWiaItemExtras interface provides several methods that enable applications to communicate with hardware drivers.
IWiaLog

This interface is not supported. (IWiaLog)
IWiaLogEx

This interface is not supported. (IWiaLogEx)
IWiaNotifyDevMgr

This interface is not implemented.
IWiaPropertyStorage

The IWiaPropertyStorage interface is used to access information about the IWiaItem object's properties. Applications must query an item to obtain its IWiaPropertyStorage interface.
IWiaVideo

The IWiaVideo interface provides methods that allow an application that uses Windows Image Acquisition (WIA) services to acquire still images from a streaming video device.Note  WIA does not support video devices in Windows Server 2003, Windows Vista, and later. For those versions of the Windows, use DirectShow to acquire images from video.

Structures

 
WIA_DATA_CALLBACK_HEADER

The WIA_DATA_CALLBACK_HEADER is transmitted to an application during a series of calls by the Windows Image Acquisition (WIA) run-time system to the IWiaDataCallback::BandedDataCallback method.
WIA_DATA_TRANSFER_INFO

The WIA_DATA_TRANSFER_INFO structure is used by applications to describe the buffer used to retrieve bands of data from Windows Image Acquisition (WIA) devices. It is primarily used in conjunction with the methods of the IWiaDataTransfer interface.
WIA_DEV_CAP

Applications use the WIA_DEV_CAP structure to enumerate device capabilities. A device capability is defined by an event or command that the device supports. For more information, see IEnumWIA_DEV_CAPS.
WIA_DITHER_PATTERN_DATA

The WIA_DITHER_PATTERN_DATA structure specifies a dither pattern for scanners. It is used in conjunction with the scanner device property constant WIA_DPS_DITHER_PATTERN_DATA.
WIA_EXTENDED_TRANSFER_INFO

The WIA_EXTENDED_TRANSFER_INFO structure specifies extended transfer information for the IWiaDataTransfer::idtGetExtendedTransferInfo method.
WIA_FORMAT_INFO

The WIA_FORMAT_INFO structure specifies valid format and media type pairs for a device.
WIA_PROPID_TO_NAME

Provides a quick means by which applications can look up the standard Windows Image Acquisition (WIA) property name from the WIA property ID (or vice versa).