Imaging devices

Overview of imaging device driver technology.

To develop drivers for imaging devices, you need these headers:

For the programming guide, see Imaging devices.

Class

 
CWiaLogProc

Learn more about: CWiaLogProc class
CWiaLogProcEx

Learn more about: CWiaLogProcEx class
CWiauDbgFn

The CWiauDbgFn class is a helper class that is used for tracing function or method entry and exit points.
CWiauFormatConverter

The CWiauFormatConverter class is a helper class for converting images to BMP format.
CWiauPropertyList

The CWiauPropertyList class can be used to create and maintain a list of properties for a device.

IOCTLs

 
IOCTL_ABORT_PIPE

Learn more about: IOCTL_ABORT_PIPE IOCTL
IOCTL_CANCEL_IO

Cancels activity on the specified USB transfer pipe that is associated with the specified device handle.
IOCTL_GET_CHANNEL_ALIGN_RQST

Returns a USB device's maximum packet size for the read, write, and interrupt transfer pipes associated with the specified device handle.
IOCTL_GET_DEVICE_DESCRIPTOR

Returns vendor and device identifiers.
IOCTL_GET_PIPE_CONFIGURATION

Returns a description of every transfer pipe supported for a device.
IOCTL_GET_USB_DESCRIPTOR

Returns a specified USB Descriptor.
IOCTL_GET_VERSION

Returns the version number of the driver.
IOCTL_INDEX

Learn more about: IOCTL_INDEX IOCTL
IOCTL_READ_REGISTERS

Reads from USB device registers, using the control pipe.
IOCTL_RESET_PIPE

Resets the specified USB transfer pipe that is associated with the specified device handle.
IOCTL_SCSISCAN_CMD

Creates a customized SCSI control descriptor block (CDB) and sends it to the kernel-mode still image driver for SCSI buses.
IOCTL_SCSISCAN_GET_INFO

The IOCTL_SCSISCAN_GET_INFO I/O control code returns device information.
IOCTL_SCSISCAN_LOCKDEVICE

Reserved for use by Microsoft.
IOCTL_SCSISCAN_SET_TIMEOUT

The IOCTL_SCSISCAN_SET_TIMEOUT control code modifies the time-out value used by the kernel-mode still image driver for SCSI buses when it accesses a device.
IOCTL_SCSISCAN_UNLOCKDEVICE

This IOCTL_SCSISCAN_UNLOCKDEVICE article it reserved for use by Microsoft.
IOCTL_SEND_USB_REQUEST

Sends a vendor-defined request to a USB device, using the control pipe, and optionally sends or receives additional data.
IOCTL_SET_TIMEOUT

Sets the time-out value for USB bulk IN, bulk OUT, or interrupt pipe access.
IOCTL_WAIT_ON_DEVICE_EVENT

Returns information about an event occurring on a USB interrupt pipe.
IOCTL_WRITE_REGISTERS

Writes to USB device registers, using the control pipe.

Enumerations

 
PIPE_TYPE

The PIPE_TYPE data type is used as input to the DeviceIoControl function, if the I/O control code is IOCTL_CANCEL_IO or IOCTL_RESET_PIPE.
RAW_PIPE_TYPE

The RAW_PIPE_TYPE data type is used to specify the type of a USB pipe.
SKIP_AMOUNT

The SKIP_AMOUNT enumeration is used to indicate whether the file and informational headers of an image should be skipped over.
STI_DEVICE_MJ_TYPE

The STI_DEVICE_TYPE type identifies the device type of a still image device.The DWORD is divided into a HIWORD containing the major device type, and a LOWORD containing a vendor-defined subtype.

Functions

 
~CWiaLogProc

The ~CWiaLogProc destructor is called when the function or method being logged is exited.
~CWiaLogProcEx

The~CWiaLogProcEx destructor is called when the function or method being logged is exited.
~CWiauDbgFn

The CWiauDbgFn::~CWiauDbgFn destructor is called when the function or method being traced by CWiauDbgFn::CWiauDbgFn is exited.
~CWiauFormatConverter

The CWiauFormatConverter::~CWiauFormatConverter method is the destructor for the CWiauFormatConverter class.
~CWiauPropertyList

The CWiauPropertyList::~CWiauPropertyList method is the destructor for the CWiauPropertyList class.
AddItemToFolder

The AddItemToFolder method adds an IWiaDrvItem item to a folder in a driver item tree.
AddRef

The IStiDeviceControl::AddRef method increments the reference count for the IStiDeviceControl interface.
ConvertToBmp

The CWiauFormatConverter::ConvertToBmp method converts an image to BMP format.
CreateDevice

The IStillImage::CreateDevice method creates an instance of the COM object that defines the IStiDevice COM Interface, and returns a pointer to the interface.
CWiaLogProc

The CWiaLogProc constructor is called when the function or method being logged is entered.
CWiaLogProcEx

The CWiaLogProcEx constructor is called when the function or method being logged is entered.
CWiauDbgFn

The CWiauDbgFn::CWiauDbgFn method is used for tracing when a function or method is entered.
CWiauFormatConverter

The CWiauFormatConverter::CWiauFormatConverter method is the constructor for the CWiauFormatConverter class.
CWiauPropertyList

The CWiauPropertyList::CWiauPropertyList method is the constructor for the CWiauPropertyList class.
DefineProperty

The CWiauPropertyList::DefineProperty method adds a property definition to a property list object.
DetectRegions

The IWiaSegmentationFilter::DetectRegions method determines the subregions of an image laid out on the flatbed platen so that each subregion can be acquired into a separate image item.
DeviceReset

The IStiDevice::DeviceReset method resets a still image device to a known state.
DeviceReset

A still image minidriver's IStiUSD::DeviceReset method resets a still image device to a known, initialized state.
Diagnostic

The IStiDevice::Diagnostic method executes diagnostic tests on a still image device.
Diagnostic

A still image minidriver's IStiUSD::Diagnostic method runs diagnostic tests on a still image device.
drvAcquireItemData

The IWiaMiniDrv::drvAcquireItemData method is called by the WIA service to transfer data from the device to an application.
drvAnalyzeItem

The IWiaMiniDrv::drvAnalyzeItem method inspects an item, and creates subitems, if necessary.
drvDeleteItem

The IWiaMiniDrv::drvDeleteItem method deletes the current driver item.
drvDeviceCommand

The IWiaMiniDrv::drvDeviceCommand method issues a command to a WIA device.
drvFreeDrvItemContext

The IWiaMiniDrv::drvFreeDrvItemContext method frees a device-specific context.
drvGetCapabilities

The IWiaMiniDrv::drvGetCapabilities method returns an array of events and commands that a device supports.
drvGetDeviceErrorStr

The IWiaMiniDrv::drvGetDeviceErrorStr method maps an error code to a Unicode string that describes the error.
drvGetWiaFormatInfo

The IWiaMiniDrv::drvGetWiaFormatInfo method finds the image formats and media types that the WIA hardware device supports.
drvInitializeWia

The IWiaMiniDrv::drvInitializeWia method initializes the minidriver and builds the driver item tree representing the device.
drvInitItemProperties

The IWiaMiniDrv::drvInitItemProperties method initializes WIA driver item properties for each item in an application item tree.
drvLockWiaDevice

The IWiaMiniDrv::drvLockWiaDevice method locks the WIA hardware device so that only the current minidriver can access it.
drvNotifyPnpEvent

The IWiaMiniDrv::drvNotifyPnpEvent method responds to the event received from the WIA service.
drvReadItemProperties

The IWiaMiniDrv::drvReadItemProperties method reads the driver item properties that need to be updated.
drvUnInitializeWia

The IWiaMiniDrv::drvUnInitializeWia method releases resources held by the minidriver.
drvUnLockWiaDevice

The IWiaMiniDrv::drvUnLockWiaDevice method unlocks the WIA hardware device so that any minidriver can access it.
drvValidateItemProperties

The IWiaMiniDrv::drvValidateItemProperties method validates an item's properties against the set of valid values for each property and will update those properties if necessary.
drvWriteItemProperties

The IWiaMiniDrv::drvWriteItemProperties method writes driver item properties to a WIA hardware device.
DumpItemData

The IWiaDrvItem::DumpItemData method dumps private data associated with an IWiaDrvItem item into an allocated private buffer.
EnableHwNotifications

The IStillImage::EnableHwNotifications method requests the still image event monitor to enable or disable the notification of applications when Still Image Device Events occur for a specified device.
Escape

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

A still image minidriver's IStiUSD::Escape method performs a vendor-specific I/O operation on a still image device.
FilterPreviewImage

The IWiaImageFilter::FilterPreviewImage method is called by the WIA Preview component, when an application calls the IWiaPreview::UpdatePreview method.
FindChildItemByName

The IWiaDrvItem::FindChildItemByName method searches the driver item tree for a specific child item.
FindItemByName

The IWiaDrvItem::FindItemByName method locates an item in a driver item tree by the item's full name.
GetCapabilities

The IStiDevice::GetCapabilities method returns a still image device's capabilities.
GetCapabilities

A still image minidriver's IStiUSD::GetCapabilities method returns a still image device's capabilities.
GetDeviceInfo

The IStillImage::GetDeviceInfo method returns hardware characteristics for a specified still image device.
GetDeviceList

The IStillImage::GetDeviceList method returns hardware characteristics for all installed still image devices.
GetDeviceSpecContext

The IWiaDrvItem::GetDeviceSpecContext method gets a device-specific context.
GetDeviceValue

The IStillImage::GetDeviceValue method returns registry information associated with a specified still image device.
GetFirstChildItem

The IWiaDrvItem::GetFirstChildItem method gets the first child item in an IWiaDrvItem folder item.
GetFullItemName

The IWiaDrvItem::GetFullItemName method gets the item's full name, including path information.
GetHwNotificationState

The IStillImage::GetHwNotificationState method indicates whether applications will be notified when Still Image Device Events occur on a specified device.
GetItemFlags

The IWiaDrvItem::GetItemFlags method gets the item flags of the current IWiaDrvItem item.
GetItemName

The IWiaDrvItem::GetItemName method gets the current IWiaDrvItem item name, not including path information.
GetLastError

The IStiDevice::GetLastError method returns the last known error associated with a still image device.
GetLastError

The IStiUSD::GetLastError method returns the last known error associated with a still image device.
GetLastErrorInfo

The IStiDevice::GetLastErrorInfo method returns information about the last known error associated with a still image device.
GetLastErrorInfo

A still image minidriver's IStiUSD::GetLastErrorInfo method returns information about the last known error associated with a still image device.
GetLastNotificationData

The IStiDevice::GetLastNotificationData method returns a description of the most recent event that occurred on a still image device.
GetMyDeviceHandle

This topic describes the GetMyDeviceHandle method.
GetMyDeviceOpenMode

The IStiDeviceControl::GetMyDeviceOpenMode method allows a still image minidriver to obtain the transfer mode that an application specified when it created an instance of a still image device.
GetMyDevicePortName

The IStiDeviceControl::GetMyDevicePortName method allows a user-mode still image minidriver to obtain a device's port name.
GetNextSiblingItem

The IWiaDrvItem::GetNextSiblingItem method gets the next sibling of the current item in an IWiaDrvItem folder.
GetNextStream

The IWiaTransferCallback::GetNextStream method is implemented by an image processing filter.
GetNextStream

Called by the WIA mini-driver to obtain a stream for the current data transfer (download or upload).
GetNotificationData

A still image minidriver's IStiUSD::GetNotificationData method returns a description of the most recent event that occurred on a still image device.
GetParentItem

The IWiaDrvItem::GetParentItem gets the parent item of the current item.
GetPropId

The CWiauPropertyList::GetPropId method finds the property ID for a property, given its index in the property list.
GetStatus

The IStiDevice::GetStatus method returns a still image device's status information.
GetStatus

A still image minidriver's IStiUSD::GetStatus method returns the status of a still image device.
GetStatusDescription

The system UI calls the GetStatusDescription method to provide the user with extra information about an error, if the user requests this information. This method is implemented by a driver's UI extension.
GetSTILaunchInformation

The IStillImage::GetSTILaunchInformation method returns the reason the calling still image application was started, if the still image event monitor started it.
hResult

The IWiaLog::hResult (wia_lh.h) method is obsolete and is no longer supported. Use the Diagnostic Log Macros instead.
Init

The CWiauFormatConverter::Init method initializes the CWiauFormatConverter class and GDI+ for converting images. This method should be called only once.
Init

The CWiauPropertyList::Init method initializes a property list object.
Initialize

This method is for internal use only.
Initialize

The IStillImage::Initialize method initializes an instance of the COM object that defines the IStillImage COM interface. This method is for internal system use only.
Initialize

A still image minidriver's IStiUSD::Initialize method initializes an instance of the COM object that defines the IStiUSD interface.
InitializeFilter

The IWiaImageFilter::InitializeFilter method stores the references to pWiaItem2 and pWiaTransferCallback parameters passed into the method.
InitializeLog

The IWiaLog::InitializeLog (wia_lh.h) method is obsolete and is no longer supported. Use the Diagnostic Log Macros instead.
IsFormatSupported

The CWiauFormatConverter::IsFormatSupported method verifies that GDI+ supports the image format that is to be converted.
LaunchApplicationForDevice

The IStillImage::LaunchApplicationForDevice method starts a specified application for a specified still image device.
LockDevice

The IStiDevice::LockDevice method locks a device for exclusive use by the caller.
LockDevice

A still image minidriver's IStiUSD::LockDevice method locks a device for exclusive use by the caller.
Log

The IWiaLog::Log (wia_lh.h) method is obsolete and is no longer supported. Use the Diagnostic Log Macros instead.
LookupPropId

The CWiauPropertyList::LookupPropId method finds a property's index, given its property ID.
MicroEntry

The MicroEntry function responds to commands sent by the WIA Flatbed driver.
MiniDrvCallback

The MiniDrvCallback method provides a callback method for WIA minidrivers to use during a callback data transfer.
RawDeviceControl

This topic describes the RawDeviceControl method.
RawReadCommand

The IStiDevice::RawReadCommand method reads command information from a still image device.
RawReadCommand

A still image minidriver's IStiUSD::RawReadCommand method reads command information from a still image device.
RawReadData

The IStiDevice::RawReadData method reads data from a still image device.
RawReadData

A still image minidriver's IStiUSD::RawReadData method reads data from a still image device.
RawWriteCommand

The IStiDevice::RawWriteCommand method sends command information to a still image device.
RawWriteCommand

A still image minidriver's IStiDevice::RawWriteCommand method sends command information to a still image device.
RawWriteData

The IStiDevice::RawWriteData method writes data to a still image device.
RawWriteData

A still image minidriver's IStiUSD::RawWriteData method writes data to a still image device.
RegisterLaunchApplication

The IStillImage::RegisterLaunchApplication method adds an application to the still image event monitor's list of push-model aware applications.
Release

The IStiDevice::Release method closes the instance of the COM object that was created by a previous call to IStillImage::CreateDevice, and removes access to the object's interface.
Release

The IStillImage::Release method closes the instance of the COM object that was created by a previous call to IStillImage::StiCreateInstance, and removes access to the object's interface.
Release

The IStiDeviceControl::Release method closes the instance of the COM object that was created when a minidriver client called IStiUSD::Initialize.
RemoveItemFromFolder

The IWiaDrvItem::RemoveItemFromFolder method removes an item from a parent folder.
ReportStatus

The ReportStatus method displays information about an error or status during a transfer. In some cases this method allows the user to recover from an error.
Scan

The Scan function reads data from the device and returns the data to the WIA Flatbed driver.
SendMessage

Periodically called by the WIA mini-driver during a data transfer, to update the WIA application client about the progress and status of the transfer.
SendToWia

The CWiauPropertyList::SendToWia method calls the WIA service to define all of the properties currently contained in the property list object.
SetAccessSubType

The CWiauPropertyList::SetAccessSubType(INT,ULONG,ULONG) method resets a property's access and subtype.
SetAccessSubType

The CWiauPropertyList::SetAccessSubType method resets a property's access and subtype.
SetCurrentValue

The CWiauPropertyList::SetCurrentValue(INT,BSTR) method sets the current value of a property of type BSTR, and sets its type to VT_BSTR.
SetCurrentValue

The CWiauPropertyList::SetCurrentValue(INT,BYTE,INT) method sets the current value of a property consisting of an array of bytes, and sets its type to VT_UI1 or VT_VECTOR.
SetCurrentValue

The CWiauPropertyList::SetCurrentValue(INT,CLSID) method sets the current value of a property of type CLSID, and sets its type to VT_CLSID.
SetCurrentValue

The CWiauPropertyList::SetCurrentValue(INT,FLOAT) method sets the current value of a property of type FLOAT, and sets its type to VT_R4.
SetCurrentValue

The CWiauPropertyList::SetCurrentValue(INT,LONG) method sets the current value of a property of type LONG, and sets its type to VT_I4.
SetCurrentValue

Learn how the CWiauPropertyList::SetCurrentValue(INT,LONG) method sets the current value of a property of type LONG, and sets its type to VT_I4.
SetCurrentValue

The CWiauPropertyList::SetCurrentValue(INT,PSYSTEMTIME) method sets the current value of a property of type SYSTEMTIME, and sets its type to VT_UI2 or VT_VECTOR.
SetDeviceValue

The IStillImage::SetDeviceValue method sets registry information for a specified still image device.
SetNotificationHandle

A still image minidriver's IStiUSD::SetNotificationHandle method specifies an event handle that the minidriver should use to inform the caller of device events.
SetPixelWindow

The SetPixelWindow function sets the image area to be scanned.
SetupDeviceParameters

The IStillImage::SetupDeviceParameters method allows clients of the IStillImage COM interface to modify a still image device's stored characteristics, if the device's bus type is unknown.
SetValidValues

The CWiauPropertyList::SetValidValues(INT,BSTR,BSTR,INT,BSTR) method sets the type, as well as default, current, and valid values for a BSTR property associated with a list of values.
SetValidValues

The CWiauPropertyList::SetValidValues(INT,CLSID,CLSID,INT,CLSID) method sets the type, as well as default, current, and valid values for a CLSID property associated with a list of values.
SetValidValues

The CWiauPropertyList::SetValidValues(INT,FLOAT,FLOAT,FLOAT,FLOAT,FLOAT) method sets the type, as well as default, current, and valid values for a FLOAT property associated with a range of values.
SetValidValues

The CWiauPropertyList::SetValidValues(INT,FLOAT,FLOAT,INT,PFLOAT) method sets the type, as well as default, current, and valid values for a FLOAT property associated with a list of values.
SetValidValues

The CWiauPropertyList::SetValidValues(INT,LONG,LONG,INT,PLONG) method sets the type, as well as default, current, and valid values for a LONG property associated with a list of values.
SetValidValues

The CWiauPropertyList::SetValidValues(INT,LONG,LONG,LONG) method sets the type, as well as default, current, and valid values for a property whose values are defined by a flag.
SetValidValues

Learn how the CWiauPropertyList::SetValidValues(INT,LONG,LONG,LONG) method sets the type values for a property whose values are defined by a flag.
SetValidValues

The CWiauPropertyList::SetValidValues(INT,LONG,LONG,LONG,LONG,LONG) method sets the type, as well as default, current, and valid values for a LONG property associated with a range of values.
SRB_STATUS

Learn more about: SRB_STATUS macro
StiCreateInstanceW

Learn more about the StiCreateInstance function.
Subscribe

The IStiDevice::Subscribe method registers the caller to receive notifications of device events.
Trace

This topic describes the Trace function.
TransferCallback

The IWiaTransferCallback::TransferCallback method is implemented by an image processing filter. It is called by the WIA service as a result of an application calling IWiaTransfer::Download or the preview component's IWiaPreview::GetNewPreview.
UnlinkItemTree

The IWiaDrvItem::UnlinkItemTree method unlinks the driver item tree and releases all items in the tree.
UnLockDevice

The IStiDevice::UnLockDevice method unlocks a device that was locked by a previous call to IStiDevice::LockDevice.
UnLockDevice

A still image minidriver's IStiUSD::UnLockDevice method unlocks a device that was locked by a previous call to IStiUSD::LockDevice.
UnregisterLaunchApplication

The IStillImage::UnregisterLaunchApplication method removes an application from the still image event monitor's list of push-model aware applications.
UnSubscribe

The IStiDevice::UnSubscribe method removes the caller from the list of applications registered to receive notification of device events.
WIA_PROP_LIST_COUNT

Learn more about: WIA_PROP_LIST_COUNT macro
WIA_PROP_LIST_VALUE

Learn more about: WIA_PROP_LIST_VALUE macro
WIAS_ASSERT

The WIAS_ASSERT macro writes a diagnostic message to the Wiatrace.log file.
WIAS_ASSERT

Learn how the WIAS_ASSERT macro writes a diagnostic message to the Wiatrace.log file.
WIAS_ERROR

The WIAS_ERROR macro writes a diagnostic message to the Wiatrace.log file.
WIAS_ERROR

Learn how the WIAS_ERROR macro writes a diagnostic message to the Wiatrace.log file.
WIAS_HRESULT

The WIAS_HRESULT macro writes a diagnostic message to the Wiatrace.log file.
WIAS_HRESULT

Learn how the WIAS_HRESULT macro writes a diagnostic message to the Wiatrace.log file.
WIAS_LERROR

The WIAS_LERROR macro is obsolete. It is recommended that the WIAS_ERROR macro be used instead.The WIAS_LERROR macro writes a diagnostic WIA_ERROR message to the log file.
WIAS_LERROR

The WIAS_LERROR macro is obsolete for Windows Vista and later. It is recommended that the WIAS_ERROR macro be used instead.The WIAS_LERROR macro writes a diagnostic WIA_ERROR message to the log file.
WIAS_LHRESULT

The WIAS_LHRESULT macro is obsolete. It is recommended that the WIAS_HRESULT macro be used instead. The WIAS_LHRESULT macro translates an HRESULT value into a string and writes the string to the diagnostic log file.
WIAS_LHRESULT

The WIAS_LHRESULT macro is obsolete for Windows Vista and later. It is recommended that the WIAS_HRESULT macro be used instead. The WIAS_LHRESULT macro translates an HRESULT value into a string and writes the string to the diagnostic log file.
WIAS_LTRACE

The WIAS_LTRACE macro is obsolete. It is recommended that the WIAS_TRACE macro be used instead.The WIAS_LTRACE macro writes a diagnostic WIA_TRACE message to the log file.
WIAS_LTRACE

The WIAS_LTRACE macro is obsolete for Windows Vista and later. It is recommended that the WIAS_TRACE macro be used instead.The WIAS_LTRACE macro writes a diagnostic WIA_TRACE message to the log file.
WIAS_LWARNING

The WIAS_LWARNING macro is obsolete, do not use.
WIAS_LWARNING

The WIAS_LWARNING macro is obsolete for Windows Vista and later.The WIAS_LWARNING macro writes a diagnostic WIA_WARNING message to the log file.
WIAS_TRACE

The WIAS_TRACE macro writes a diagnostic message to the Wiatrace.log file.
WIAS_TRACE

Learn how the WIAS_TRACE macro writes a diagnostic message to the Wiatrace.log file.
wiasCreateChildAppItem

The wiasCreateChildAppItem function creates a new application item and inserts it as a child of the specified (parent) item. Note that this item will not have any properties in its property sets until the driver or application actually fills them in.
wiasCreateDrvItem

The wiasCreateDrvItem function creates an IWiaDrvItem Interface object.
wiasCreateLogInstance

The wiasCreateLogInstance function creates an instance of a logging object.
wiasCreatePropContext

The wiasCreatePropContext function allocates a property context to indicate which of an item's properties are being changed by the application.
wiasDebugError

The wiasDebugError function is obsolete.
wiasDebugTrace

The wiasDebugTrace function is obsolete.
wiasDownSampleBuffer

The wiasDownSampleBuffer function takes in a buffer of DWORD-aligned pixel data and downsamples it (produces image data of lower resolution) to the specified size and resolution.
wiasFormatArgs

The wiasFormatArgs function formats an argument list into a packaged string for logging.
wiasFreePropContext

The wiasFreePropContext function releases the memory occupied by a WIA_PROPERTY_CONTEXT structure.
wiasGetChangedValueFloat

The wiasGetChangedValueFloat function determines whether a property with a floating-point value has been changed by an application.
wiasGetChangedValueGuid

The wiasGetChangedValueGuid function determines whether a property with a GUID value has been changed by an application.
wiasGetChangedValueLong

The wiasGetChangedValueLong function determines whether a property with a long integer value has been changed by an application.
wiasGetChangedValueStr

The wiasGetChangedValueStr function determines whether a property with a string value has been changed by an application.
wiasGetChildrenContexts

The wiasGetChildrenContexts function retrieves an array of item contexts belonging to the current item's children.
wiasGetContextFromName

The wiasGetContextFromName function retrieves the item context for an item name.
wiasGetDrvItem

The wiasGetDrvItem function retrieves a driver item.
wiasGetImageInformation

The wiasGetImageInformation function retrieves transfer context information from an item.
wiasGetItemType

The wiasGetItemType function indicates the item type.
wiasGetPropertyAttributes

The wiasGetPropertyAttributes function retrieves the access flags and valid values for a set of properties.
wiasGetRootItem

The wiasGetRootItem function retrieves the root item context of a specified WIA item.
wiasIsPropChanged

The wiasIsPropChanged function tests whether a specified property has been changed by an application.
wiasParseEndorserString

The wiasParseEndorserString function parses an endorser string, replacing WIA service-defined and vendor-defined tokens in the string with values associated with those tokens.
wiasPrintDebugHResult

The wiasPrintDebugHResult function is obsolete.
wiasQueueEvent

The wiasQueueEvent function informs the service that the device generated an event.
wiasReadMultiple

The wiasReadMultiple function retrieves multiple property values from a WIA item.
wiasReadPropBin

The wiasReadPropBin function retrieves a binary-data property value from a WIA item.
wiasReadPropFloat

The wiasReadPropFloat function retrieves a floating-point property value from a WIA item.
wiasReadPropGuid

The wiasReadPropGuid function retrieves a GUID property value from a WIA item.
wiasReadPropLong

The wiasReadPropLong function retrieves a long integer property value from a WIA item.
wiasReadPropStr

The wiasReadPropStr function retrieves a string property value from a WIA item.
wiasSendEndOfPage

The wiasSendEndOfPage function calls the client callback routine during a data transfer, sending the current total page count.
wiasSetItemPropAttribs

The wiasSetItemPropAttribs function sets the access flags and valid values for an item's set of properties.
wiasSetItemPropNames

The wiasSetItemPropNames function writes property names to item properties.
wiasSetPropChanged

The wiasSetPropChanged function modifies a property context to indicate that a property is being changed.
wiasSetPropertyAttributes

The wiasSetPropertyAttributes function sets the access flags and valid values for a set of properties.
wiasSetValidFlag

The wiasSetValidFlag function sets the valid values for a WIA_PROP_FLAG property.
wiasSetValidListFloat

The wiasSetValidListFloat function sets valid values for a WIA_PROP_LIST property of type VT_R4.
wiasSetValidListGuid

The wiasSetValidListGuid function sets valid values for a WIA_PROP_LIST property of type VT_CLSID.
wiasSetValidListLong

The wiasSetValidListLong function sets the valid values for a WIA_PROP_LIST property of type VT_I4.
wiasSetValidListStr

The wiasSetValidListStr function sets the valid values for a WIA_PROP_LIST property of type VT_BSTR.
wiasSetValidRangeFloat

The wiasSetValidRangeFloat function specifies the range of valid values for a WIA_PROP_RANGE property of type VT_R4.
wiasSetValidRangeLong

The wiasSetValidRangeLong function specifies the range of valid values for a WIA_PROP_RANGE property of type VT_I4.
wiasUpdateScanRect

The wiasUpdateScanRect function updates the scanning area sizes of the scanning device.
wiasUpdateValidFormat

The wiasUpdateValidFormat function updates the valid format of the property context for the current minidriver.
wiasValidateItemProperties

The wiasValidateItemProperties function validates a list of simple item properties against their current valid values.
wiasWriteBufToFile

The wiasWriteBufToFile function writes from a specified buffer to an image file.
wiasWriteMultiple

The wiasWriteMultiple function writes multiple property values to a WIA item.
wiasWritePageBufToFile

The wiasWritePageBufToFile function writes the contents of a temporary page buffer to an image file.
wiasWritePageBufToStream

The wiasWritePageBufToStream function writes the contents of a temporary page buffer to the IStream interface provided by the application.
wiasWritePropBin

The wiasWritePropBin function writes a single binary-data property value to a WIA item.
wiasWritePropFloat

The wiasWritePropFloat function writes a single floating-point property value to a WIA item.
wiasWritePropGuid

The wiasWritePropGuid function writes a single GUID property value to a WIA item.
wiasWritePropLong

The wiasWritePropLong function writes a single long integer property value to a WIA item.
wiasWritePropStr

The wiasWritePropStr function writes a single string property value to a WIA item.
wiauDbgDump

The wiauDbgDump function logs a message containing one or more data values.
wiauDbgError

The wiauDbgError function logs an error message.
wiauDbgErrorHr

The wiauDbgErrorHr function logs a message containing an HRESULT and its error message string.
wiauDbgFlags

The wiauDbgFlags function determines whether a particular debugging flag is set.
wiauDbgHelper

The wiauDbgHelper function formats a message and writes it to a log file, or debugger, or both.
wiauDbgHelper2

The wiauDbgHelper2 function writes a message to a log file, or debugger, or both.
wiauDbgInit

The wiauDbgInit function initializes WIA debugging.
wiauDbgLegacyError

The wiauDbgLegacyError function logs an error message.
wiauDbgLegacyError2

The wiauDbgLegacyError2 function logs an error message.
wiauDbgLegacyHresult2

The wiauDbgLegacyHresult2 function logs a default message containing an HRESULT.
wiauDbgLegacyTrace

The wiauDbgLegacyTrace function logs a trace message.
wiauDbgLegacyTrace2

The wiauDbgLegacyTrace2 function logs a trace message.
wiauDbgLegacyWarning

The wiauDbgLegacyWarning function logs a warning message.
wiauDbgSetFlags

The wiauDbgSetFlags function sets debugging flags.
wiauDbgTrace

The wiauDbgTrace function logs a trace message.
wiauDbgWarning

The wiauDbgWarning function logs a warning message.
wiauGetDrvItemContext

The wiauGetDrvItemContext function gets the driver item context, and optionally, the driver item.
wiauGetResourceString

The wiauGetResourceString function gets a resource string, storing it as a BSTR.
wiauGetValidFormats

The wiauGetValidFormats function calls the IWiaMiniDrv::drvGetWiaFormatInfo method and makes a list of valid formats, using a specified tymed value.
wiauPropInPropSpec

The wiauPropInPropSpec function determines whether a specified property specification ID is contained in an array of such values. The function optionally gets the index at which the property specification ID was found.
wiauPropsInPropSpec

The wiauPropsInPropSpec function determines whether any of a list of property specification IDs is contained within an array of such values.
wiauRegGetDwordA

The wiauRegGetDword function gets a DWORD value from the DeviceData section of the registry.
wiauRegGetDwordW

Learn how the wiauRegGetDword function gets a DWORD value from the DeviceData section of the registry.
wiauRegGetStrA

The wiauRegGetStr function gets a string value from the DeviceData section of the registry.
wiauRegGetStrW

Learn how the wiauRegGetStr function gets a string value from the DeviceData section of the registry.
wiauRegOpenDataA

The wiauRegOpenData function opens the DeviceData registry key.
wiauRegOpenDataW

Learn how the wiauRegOpenData function opens the DeviceData registry key.
wiauSetImageItemSize

The wiauSetImageItemSize function calculates the size and width, in bytes, for an image, based on the current WIA_IPA_FORMAT setting (described in the Microsoft Windows SDK documentation), and writes the new values to the appropriate properties.
wiauStrC2C

The wiauStrC2C function copies an ANSI character string to another ANSI character string.
wiauStrC2W

The wiauStrC2W function converts an ANSI character string to a Unicode string.
wiauStrW2C

The wiauStrW2C function converts a Unicode string to an ANSI character string.
wiauStrW2W

The wiauStrW2W function copies a Unicode string to another Unicode string.
WriteToErrorLog

The IStillImage::WriteToErrorLog method writes a message to the still image error log.
WriteToErrorLog

The IStiDeviceControl::WriteToErrorLog method allows a user-mode still image minidriver to write a message into the still image error log.

Interfaces

 
IStiDevice

This section describes the methods defined for the IStiDevice COM Interface. Method prototypes are contained in Sti.h.
IStiDeviceControl

This section describes the methods defined for the IStiDeviceControl COM Interface. Method prototypes are contained in Stiusd.h.
IStillImageW

This section describes the methods defined for the IStillImage COM Interface. Method prototypes are contained in Sti.h.
IStiUSD

This section describes the methods defined for the IStiUSD COM Interface. Method prototypes are contained in Stiusd.h.
IWiaDrvItem

The IWiaDrvItem interface provides methods that a WIA minidriver can use to manage a tree of IWiaDrvItem items.
IWiaErrorHandler

The IWiaErrorHandler interface provides the GetStatusDescription and ReportStatus methods, which enable minidrivers to give users information about status or errors during a data transfer and possibly give an opportunity to recover from errors.
IWiaImageFilter

The IWiaImageFilter interface is an extension interface implemented by image processing filter developers and called by Microsoft Windows Image Acquisition (WIA).
IWiaLog

The IWiaLog interface is obsolete and is no longer supported. Use the Diagnostic Log Macros instead.
IWiaMiniDrv

The IWiaMiniDrv interface provides the methods that are the entry points for all communication between the minidriver and the WIA service. These methods allow the WIA service to control the device.
IWiaMiniDrvCallBack

The IWiaMiniDrvCallBack interface provides the MiniDrvCallback method, which enables minidrivers to transfer image header data and image data from the imaging device to the WIA service.
IWiaMiniDrvTransferCallback

This is a Callback interface that is called by the WIA mini-driver for stream-based transfers.
IWiaSegmentationFilter

The IWiaSegmentationFilter interface provides the DetectRegions method, which enables minidrivers to detect image subregions on a flatbed scanner's platen.
IWiaTransferCallback

The IWiaTransferCallback interface is implemented by image processing filter developers and called by Microsoft Windows Image Acquisition (WIA).

Structures

 
BMP_IMAGE_INFO

The BMP_IMAGE_INFO structure contains information about a BMP image.
CHANNEL_INFO

The CHANNEL_INFO structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_GET_CHANNEL_ALIGN_RQST.
DEVICE_DESCRIPTOR

The DEVICE_DESCRIPTOR structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_GET_DEVICE_DESCRIPTOR.
DEVICEDIALOGDATA

The DEVICEDIALOGDATA structure contains all the data needed to implement a custom device dialog.
DEVICEDIALOGDATA2

The DEVICEDIALOGDATA2 structure contains all the data needed to implement a custom device dialog.
DRV_VERSION

The DRV_VERSION structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_GET_VERSION.
IO_BLOCK

The IO_BLOCK structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_READ_REGISTERS or IOCTL_WRITE_REGISTERS.
IO_BLOCK_EX

The IO_BLOCK_EX structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_SEND_USB_REQUEST.
MINIDRV_TRANSFER_CONTEXT

The MINIDRV_TRANSFER_CONTEXT structure is used to store image and other information needed for a memory-callback data transfer or a file data transfer.
PTP_VENDOR_DATA_IN

The PTP_VENDOR_DATA_IN structure contains information about an arbitrary command that an application issues to the device.
PTP_VENDOR_DATA_OUT

The PTP_VENDOR_DATA_OUT structure contains information that the device sends to an application, in response to a command the application issued to the device.
RANGEVALUE

The RANGEVALUE structure is used by a microdriver to communicate to the WIA Flatbed driver the legal values for a microdriver function parameter.
SCANINFO

The SCANINFO structure is used to store and communicate information about a scan acquisition.
SCANWINDOW

The SCANWINDOW structure is used by the WIA Flatbed driver to tell the microdriver what image area to scan.
SCSISCAN_CMD

The SCSISCAN_CMD structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_SCSISCAN_CMD.
SCSISCAN_INFO

The SCSISCAN_INFO structure is used as a parameter to DeviceIoControl (described in the Microsoft Windows SDK documentation), when the specified I/O control code is IOCTL_SCSISCAN_GET_INFO.
STI_DEV_CAPS

The STI_DEV_CAPS structure is used as a parameter to the IStiDevice::GetCapabilities method. It is also a member of the STI_DEVICE_INFORMATION and STI_WIA_DEVICE_INFORMATION structures.
STI_DEVICE_INFORMATIONW

The STI_DEVICE_INFORMATION structure is used as an output parameter for the IStillImage::GetDeviceList and IStillImage::GetDeviceInfo functions. It is used as an input parameter for IStillImage::SetupDeviceParameters.
STI_DEVICE_STATUS

The STI_DEVICE_STATUS structure is used as a parameter to the IStiDevice::GetStatus and IStiUSD::GetStatus methods.
STI_DIAG

The STI_DIAG structure is used as a parameter to the IStiDevice::Diagnostic and IStiUSD::Diagnostic methods.
STI_ERROR_INFOW

The STI_ERROR_INFO structure is used as a parameter for the IStiDevice::GetLastErrorInfo and IStiUSD::GetLastErrorInfo methods. It is also used as a member of the STI_DIAG structure.
STI_USD_CAPS

The STI_USD_CAPS structure is used as a parameter for the IStiUSD::GetCapabilities method.
STI_WIA_DEVICE_INFORMATIONW

The STI_WIA_DEVICE_INFORMATION structure contains device information.
STINOTIFY

The STINOTIFY structure is used as a parameter to the IStillImage::LaunchApplicationForDevice, IStiDevice::GetLastNotificationData, and IStiUSD::GetNotificationData methods.
STISUBSCRIBE

The STISUBSCRIBE structure is used as a parameter for the IStiDevice::Subscribe method.
TWAIN_CAPABILITY

The TWAIN_CAPABILITY structure holds information used when a TWAIN-compatible application communicates with a WIA driver.
USBSCAN_GET_DESCRIPTOR

The USBSCAN_GET_DESCRIPTOR structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_GET_USB_DESCRIPTOR.
USBSCAN_PIPE_CONFIGURATION

The USBSCAN_PIPE_CONFIGURATION structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_GET_PIPE_CONFIGURATION.
USBSCAN_PIPE_INFORMATION

The USBSCAN_PIPE_INFORMATION structure is used to describe a USB transfer pipe for a still image device. An array of USBSCAN_PIPE_INFORMATION structures is supplied within a USBSCAN_PIPE_CONFIGURATION structure.
USBSCAN_TIMEOUT

The USBSCAN_TIMEOUT structure stores time-out values for USB bulk IN and bulk OUT operations, and interrupts.
VAL

The VAL structure is used by the microdriver and WIA Flatbed driver to pass information between each other.
WIA_BARCODE_INFO

The WIA_BARCODE_INFO structure stores information for one decoded barcode.
WIA_BARCODES

The WIA_BARCODES structure stores header information for the barcode metadata report of one scan job (one call to IWiaMiniDrv::drvAcquireItemData).
WIA_DEV_CAP_DRV

The WIA_DEV_CAP_DRV structure is used to enumerate device capabilities. A device capability is defined by an event or command that the device supports.
WIA_MICR

The WIA_MICR structure stores header information for the MICR metadata report of one scan job (one call to IWiaMiniDrv::drvAcquireItemData).
WIA_MICR_INFO

The WIA_MICR_INFO structure stores information for one decoded MICR code.
WIA_PATCH_CODE_INFO

The WIA_PATCH_CODE_INFO structure stores information for one decoded patch code.
WIA_PATCH_CODES

The WIA_PATCH_CODES structure stores header information for the patch code metadata report of one scan job (one call to IWiaMiniDrv::drvAcquireItemData).
WIA_PROPERTY_CONTEXT

The WIA_PROPERTY_CONTEXT structure stores property identifiers and their context.
WIA_PROPERTY_INFO

The WIA_PROPERTY_INFO structure is used to store default access and valid value information for an item property of arbitrary type.
WIA_RAW_HEADER

Learn more about: _WIA_RAW_HEADER structure
WIAS_CHANGED_VALUE_INFO

The WIAS_CHANGED_VALUE_INFO structure is used to store the current and previous values of a property.
WIAS_DOWN_SAMPLE_INFO

The WIAS_DOWN_SAMPLE_INFO structure stores information used by the downsampling helper function, wiasDownSampleBuffer.
WIAS_ENDORSER_INFO

The WIAS_ENDORSER_INFO structure holds custom endorser token/value pairs.
WIAS_ENDORSER_VALUE

The WIAS_ENDORSER_VALUE structure stores token/value pairs for endorser strings.