Imaging devices

Overview of the Imaging devices technology.

To develop Imaging devices, you need these headers:

For the programming guide, see Imaging devices.

Functions

Title Description
MicroEntry function The MicroEntry function responds to commands sent by the WIA Flatbed driver.
Scan function The Scan function reads data from the device and returns the data to the WIA Flatbed driver.
SetPixelWindow function The SetPixelWindow function sets the image area to be scanned.
wiasCreateChildAppItem function 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 function The wiasCreateDrvItem function creates an IWiaDrvItem Interface object.
wiasCreateLogInstance function The wiasCreateLogInstance function creates an instance of a logging object.
wiasCreatePropContext function The wiasCreatePropContext function allocates a property context to indicate which of an item's properties are being changed by the application.
wiasDebugError function This function prints a debug error string in the Device Manager debug console. The output color is always red.
wiasDebugTrace function This function prints a debug trace string in the Device Manager debug console.
wiasDownSampleBuffer function 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 function The wiasFormatArgs function formats an argument list into a packaged string for logging.
wiasFreePropContext function The wiasFreePropContext function releases the memory occupied by a WIA_PROPERTY_CONTEXT structure.
wiasGetChangedValueFloat function The wiasGetChangedValueFloat function determines whether a property with a floating-point value has been changed by an application.
wiasGetChangedValueGuid function The wiasGetChangedValueGuid function determines whether a property with a GUID value has been changed by an application.
wiasGetChangedValueLong function The wiasGetChangedValueLong function determines whether a property with a long integer value has been changed by an application.
wiasGetChangedValueStr function The wiasGetChangedValueStr function determines whether a property with a string value has been changed by an application.
wiasGetChildrenContexts function The wiasGetChildrenContexts function retrieves an array of item contexts belonging to the current item's children.
wiasGetContextFromName function The wiasGetContextFromName function retrieves the item context for an item name.
wiasGetDrvItem function The wiasGetDrvItem function retrieves a driver item.
wiasGetImageInformation function The wiasGetImageInformation function retrieves transfer context information from an item.
wiasGetItemType function The wiasGetItemType function indicates the item type.
wiasGetPropertyAttributes function The wiasGetPropertyAttributes function retrieves the access flags and valid values for a set of properties.
wiasGetRootItem function The wiasGetRootItem function retrieves the root item context of a specified WIA item.
wiasIsPropChanged function The wiasIsPropChanged function tests whether a specified property has been changed by an application.
wiasParseEndorserString function 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 function The wiasPrintDebugHResult function is obsolete for Windows XP and later, and is no longer supported. Use the WIAS_LHRESULT macro instead.This function prints an HRESULT string on the Device Manager debug console.
wiasQueueEvent function The wiasQueueEvent function informs the service that the device generated an event.
wiasReadMultiple function The wiasReadMultiple function retrieves multiple property values from a WIA item.
wiasReadPropBin function The wiasReadPropBin function retrieves a binary-data property value from a WIA item.
wiasReadPropFloat function The wiasReadPropFloat function retrieves a floating-point property value from a WIA item.
wiasReadPropGuid function The wiasReadPropGuid function retrieves a GUID property value from a WIA item.
wiasReadPropLong function The wiasReadPropLong function retrieves a long integer property value from a WIA item.
wiasReadPropStr function The wiasReadPropStr function retrieves a string property value from a WIA item.
wiasSendEndOfPage function The wiasSendEndOfPage function calls the client callback routine during a data transfer, sending the current total page count.
wiasSetItemPropAttribs function The wiasSetItemPropAttribs function sets the access flags and valid values for an item's set of properties.
wiasSetItemPropNames function The wiasSetItemPropNames function writes property names to item properties.
wiasSetPropChanged function The wiasSetPropChanged function modifies a property context to indicate that a property is being changed.
wiasSetPropertyAttributes function The wiasSetPropertyAttributes function sets the access flags and valid values for a set of properties.
wiasSetValidFlag function The wiasSetValidFlag function sets the valid values for a WIA_PROP_FLAG property.
wiasSetValidListFloat function The wiasSetValidListFloat function sets valid values for a WIA_PROP_LIST property of type VT_R4.
wiasSetValidListGuid function The wiasSetValidListGuid function sets valid values for a WIA_PROP_LIST property of type VT_CLSID.
wiasSetValidListLong function The wiasSetValidListLong function sets the valid values for a WIA_PROP_LIST property of type VT_I4.
wiasSetValidListStr function The wiasSetValidListStr function sets the valid values for a WIA_PROP_LIST property of type VT_BSTR.
wiasSetValidRangeFloat function The wiasSetValidRangeFloat function specifies the range of valid values for a WIA_PROP_RANGE property of type VT_R4.
wiasSetValidRangeLong function The wiasSetValidRangeLong function specifies the range of valid values for a WIA_PROP_RANGE property of type VT_I4.
wiasUpdateScanRect function The wiasUpdateScanRect function updates the scanning area sizes of the scanning device.
wiasUpdateValidFormat function The wiasUpdateValidFormat function updates the valid format of the property context for the current minidriver.
wiasValidateItemProperties function The wiasValidateItemProperties function validates a list of simple item properties against their current valid values.
wiasWriteBufToFile function The wiasWriteBufToFile function writes from a specified buffer to an image file.
wiasWriteMultiple function The wiasWriteMultiple function writes multiple property values to a WIA item.
wiasWritePageBufToFile function The wiasWritePageBufToFile function writes the contents of a temporary page buffer to an image file.
wiasWritePageBufToStream function The wiasWritePageBufToStream function writes the contents of a temporary page buffer to the IStream interface provided by the application.
wiasWritePropBin function The wiasWritePropBin function writes a single binary-data property value to a WIA item.
wiasWritePropFloat function The wiasWritePropFloat function writes a single floating-point property value to a WIA item.
wiasWritePropGuid function The wiasWritePropGuid function writes a single GUID property value to a WIA item.
wiasWritePropLong function The wiasWritePropLong function writes a single long integer property value to a WIA item.
wiasWritePropStr function The wiasWritePropStr function writes a single string property value to a WIA item.
wiauDbgDump function The wiauDbgDump function logs a message containing one or more data values.
wiauDbgError function The wiauDbgError function logs an error message.
wiauDbgErrorHr function The wiauDbgErrorHr function logs a message containing an HRESULT and its error message string.
wiauDbgFlags function The wiauDbgFlags function determines whether a particular debugging flag is set.
wiauDbgHelper2 function The wiauDbgHelper2 function writes a message to a log file, or debugger, or both.
wiauDbgLegacyError function The wiauDbgLegacyError function logs an error message.
wiauDbgLegacyError2 function The wiauDbgLegacyError2 function logs an error message.
wiauDbgLegacyHresult2 function The wiauDbgLegacyHresult2 function logs a default message containing an HRESULT.
wiauDbgLegacyTrace function The wiauDbgLegacyTrace function logs a trace message.
wiauDbgLegacyTrace2 function The wiauDbgLegacyTrace2 function logs a trace message.
wiauDbgLegacyWarning function The wiauDbgLegacyWarning function logs a warning message.
wiauDbgTrace function The wiauDbgTrace function logs a trace message.
wiauDbgWarning function The wiauDbgWarning function logs a warning message.
wiauGetDrvItemContext function The wiauGetDrvItemContext function gets the driver item context, and optionally, the driver item.
wiauGetResourceString function The wiauGetResourceString function gets a resource string, storing it as a BSTR.
wiauGetValidFormats function The wiauGetValidFormats function calls the IWiaMiniDrv
wiauPropInPropSpec function 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 function The wiauPropsInPropSpec function determines whether any of a list of property specification IDs is contained within an array of such values.
wiauRegGetDwordA function The wiauRegGetDword function gets a DWORD value from the DeviceData section of the registry.
wiauRegGetDwordW function The wiauRegGetDword function gets a DWORD value from the DeviceData section of the registry.
wiauRegGetStrA function The wiauRegGetStr function gets a string value from the DeviceData section of the registry.
wiauRegGetStrW function The wiauRegGetStr function gets a string value from the DeviceData section of the registry.
wiauRegOpenDataA function The wiauRegOpenData function opens the DeviceData registry key.
wiauRegOpenDataW function The wiauRegOpenData function opens the DeviceData registry key.
wiauSetImageItemSize function 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 function The wiauStrC2C function copies an ANSI character string to another ANSI character string.
wiauStrC2W function The wiauStrC2W function converts an ANSI character string to a Unicode string.
wiauStrW2C function The wiauStrW2C function converts a Unicode string to an ANSI character string.
wiauStrW2W function The wiauStrW2W function copies a Unicode string to another Unicode string.

Structures

Title Description
VAL structure The VAL structure is used by the microdriver and WIA Flatbed driver to pass information between each other.
_BMP_IMAGE_INFO structure The BMP_IMAGE_INFO structure contains information about a BMP image.
_CHANNEL_INFO structure 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 structure The DEVICE_DESCRIPTOR structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_GET_DEVICE_DESCRIPTOR.
_DRV_VERSION structure The DRV_VERSION structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_GET_VERSION.
_ERROR_INFOW structure The STI_ERROR_INFO structure is used as a parameter for the IStiDevice
_IO_BLOCK structure 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 structure 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 structure 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 structure The PTP_VENDOR_DATA_IN structure contains information about an arbitrary command that an application issues to the device.
_PTP_VENDOR_DATA_OUT structure 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 structure The RANGEVALUE structure is used by a microdriver to communicate to the WIA Flatbed driver the legal values for a microdriver function parameter.
_SCANINFO structure The SCANINFO structure is used to store and communicate information about a scan acquisition.
_SCANWINDOW structure The SCANWINDOW structure is used by the WIA Flatbed driver to tell the microdriver what image area to scan.
_SCSISCAN_CMD structure The SCSISCAN_CMD structure is used as a parameter to DeviceIoControl, when the specified I/O control code is IOCTL_SCSISCAN_CMD.
_SCSISCAN_INFO structure 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.
_STINOTIFY structure The STINOTIFY structure is used as a parameter to the IStillImage
_STISUBSCRIBE structure The STISUBSCRIBE structure is used as a parameter for the IStiDevice
_STI_DEVICE_INFORMATIONW structure The STI_DEVICE_INFORMATION structure is used as an output parameter for the IStillImage
_STI_DEVICE_STATUS structure The STI_DEVICE_STATUS structure is used as a parameter to the IStiDevice
_STI_DEV_CAPS structure The STI_DEV_CAPS structure is used as a parameter to the IStiDevice
_STI_DIAG structure The STI_DIAG structure is used as a parameter to the IStiDevice
_STI_USD_CAPS structure The STI_USD_CAPS structure is used as a parameter for the IStiUSD
_STI_WIA_DEVICE_INFORMATIONW structure The STI_WIA_DEVICE_INFORMATION structure contains device information.
_TWAIN_CAPABILITY structure The TWAIN_CAPABILITY structure holds information used when a TWAIN-compatible application communicates with a WIA driver.
_USBSCAN_GET_DESCRIPTOR structure 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 structure 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 structure 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 structure The USBSCAN_TIMEOUT structure stores time-out values for USB bulk IN and bulk OUT operations, and interrupts.
_WIAS_CHANGED_VALUE_INFO structure The WIAS_CHANGED_VALUE_INFO structure is used to store the current and previous values of a property.
_WIAS_DOWN_SAMPLE_INFO structure The WIAS_DOWN_SAMPLE_INFO structure stores information used by the downsampling helper function, wiasDownSampleBuffer.
_WIAS_ENDORSER_INFO structure The WIAS_ENDORSER_INFO structure holds custom endorser token/value pairs.
_WIAS_ENDORSER_VALUE structure The WIAS_ENDORSER_VALUE structure stores token/value pairs for endorser strings.
_WIA_BARCODES structure The WIA_BARCODES structure stores header information for the barcode metadata report of one scan job (one call to IWiaMiniDrv
_WIA_BARCODE_INFO structure The WIA_BARCODE_INFO structure stores information for one decoded barcode.
_WIA_DEV_CAP_DRV structure 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 structure The WIA_MICR structure stores header information for the MICR metadata report of one scan job (one call to IWiaMiniDrv
_WIA_MICR_INFO structure The WIA_MICR_INFO structure stores information for one decoded MICR code.
_WIA_PATCH_CODES structure The WIA_PATCH_CODES structure stores header information for the patch code metadata report of one scan job (one call to IWiaMiniDrv
_WIA_PATCH_CODE_INFO structure The WIA_PATCH_CODE_INFO structure stores information for one decoded patch code.
_WIA_PROPERTY_CONTEXT structure The WIA_PROPERTY_CONTEXT structure stores property identifiers and their context.
_WIA_PROPERTY_INFO structure The WIA_PROPERTY_INFO structure is used to store default access and valid value information for an item property of arbitrary type.
tagDEVICEDIALOGDATA structure The DEVICEDIALOGDATA structure contains all the data needed to implement a custom device dialog.
tagDEVICEDIALOGDATA2 structure The DEVICEDIALOGDATA2 structure contains all the data needed to implement a custom device dialog.

Enumerations

Title Description
PIPE_TYPE enumeration 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.
SKIP_AMOUNT enumeration The SKIP_AMOUNT enumeration is used to indicate whether the file and informational headers of an image should be skipped over.
_RAW_PIPE_TYPE enumeration The RAW_PIPE_TYPE data type is used to specify the type of a USB pipe.
_STI_DEVICE_MJ_TYPE enumeration 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.

I/O control codes

Title Description
IOCTL_CANCEL_IO IOCTL Cancels activity on the specified USB transfer pipe that is associated with the specified device handle.
IOCTL_GET_CHANNEL_ALIGN_RQST IOCTL 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 IOCTL Returns vendor and device identifiers.
IOCTL_GET_PIPE_CONFIGURATION IOCTL Returns a description of every transfer pipe supported for a device.
IOCTL_GET_USB_DESCRIPTOR IOCTL Returns a specified USB Descriptor.
IOCTL_GET_VERSION IOCTL Returns the version number of the driver.
IOCTL_READ_REGISTERS IOCTL Reads from USB device registers, using the control pipe.
IOCTL_RESET_PIPE IOCTL Resets the specified USB transfer pipe that is associated with the specified device handle.
IOCTL_SCSISCAN_CMD IOCTL 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 IOCTL The IOCTL_SCSISCAN_GET_INFO I/O control code returns device information.
IOCTL_SCSISCAN_LOCKDEVICE IOCTL Reserved for use by Microsoft.
IOCTL_SCSISCAN_SET_TIMEOUT IOCTL 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 IOCTL Reserved for use by Microsoft.
IOCTL_SEND_USB_REQUEST IOCTL Sends a vendor-defined request to a USB device, using the control pipe, and optionally sends or receives additional data.
IOCTL_SET_TIMEOUT IOCTL Sets the time-out value for USB bulk IN, bulk OUT, or interrupt pipe access.
IOCTL_WAIT_ON_DEVICE_EVENT IOCTL Returns information about an event occurring on a USB interrupt pipe.
IOCTL_WRITE_REGISTERS IOCTL Writes to USB device registers, using the control pipe.

Interfaces

Title Description
IStiDevice interface This section describes the methods defined for the IStiDevice COM Interface. Method prototypes are contained in Sti.h.
IStiDeviceControl interface This section describes the methods defined for the IStiDeviceControl COM Interface. Method prototypes are contained in Stiusd.h.
IStiUSD interface This section describes the methods defined for the IStiUSD COM Interface. Method prototypes are contained in Stiusd.h.
IStillImageW interface This section describes the methods defined for the IStillImage COM Interface. Method prototypes are contained in Sti.h.
IWiaDrvItem interface The IWiaDrvItem interface provides methods that a WIA minidriver can use to manage a tree of IWiaDrvItem items.
IWiaErrorHandler interface 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 interface The IWiaImageFilter interface is an extension interface implemented by image processing filter developers and called by Microsoft Windows Image Acquisition (WIA).
IWiaLog interface The IWiaLog interface provides methods to enable minidrivers to log trace, error, and warning messages to the diagnostic log file Wiaservc.log.
IWiaMiniDrv interface 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 interface 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 interface This is a Callback interface that is called by the WIA mini-driver for stream-based transfers.
IWiaSegmentationFilter interface The IWiaSegmentationFilter interface provides the DetectRegions method, which enables minidrivers to detect image subregions on a flatbed scanner's platen. This interface is available in Windows Vista and later.
IWiaTransferCallback interface The IWiaTransferCallback interface is implemented by image processing filter developers and called by Microsoft Windows Image Acquisition (WIA).

Classes

Title Description
CWiauDbgFn class The CWiauDbgFn class is a helper class that is used for tracing function or method entry and exit points.
CWiauFormatConverter class The CWiauFormatConverter class is a helper class for converting images to BMP format.
CWiauPropertyList class The CWiauPropertyList class can be used to create and maintain a list of properties for a device.

Macros

Title Description
WIAS_ASSERT macro The WIAS_ASSERT macro writes a diagnostic message to the Wiatrace.log file.
WIAS_ASSERT macro The WIAS_ASSERT macro writes a diagnostic message to the Wiatrace.log file.
WIAS_ERROR macro The WIAS_ERROR macro writes a diagnostic message to the Wiatrace.log file.
WIAS_ERROR macro The WIAS_ERROR macro writes a diagnostic message to the Wiatrace.log file.
WIAS_HRESULT macro The WIAS_HRESULT macro writes a diagnostic message to the Wiatrace.log file.
WIAS_HRESULT macro The WIAS_HRESULT macro writes a diagnostic message to the Wiatrace.log file.
WIAS_LERROR macro 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_LERROR macro 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 macro 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_LHRESULT macro 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 macro 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_LTRACE macro 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 macro 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_LWARNING macro 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 macro The WIAS_TRACE macro writes a diagnostic message to the Wiatrace.log file.
WIAS_TRACE macro The WIAS_TRACE macro writes a diagnostic message to the Wiatrace.log file.
wiauDbgHelper macro The wiauDbgHelper function formats a message and writes it to a log file, or debugger, or both.
wiauDbgInit macro The wiauDbgInit function initializes WIA debugging.
wiauDbgSetFlags macro The wiauDbgSetFlags function sets debugging flags.

Methods

Title Description
CWiaLogProc::CWiaLogProc The CWiaLogProc constructor is called when the function or method being logged is entered.
CWiaLogProc::~CWiaLogProc The ~CWiaLogProc destructor is called when the function or method being logged is exited.
CWiaLogProcEx::CWiaLogProcEx The CWiaLogProcEx constructor is called when the function or method being logged is entered.
CWiaLogProcEx::~CWiaLogProcEx The~CWiaLogProcEx destructor is called when the function or method being logged is exited.
CWiauDbgFn::CWiauDbgFn The CWiauDbgFn
CWiauDbgFn::~CWiauDbgFn The CWiauDbgFn
CWiauFormatConverter::CWiauFormatConverter The CWiauFormatConverter
CWiauFormatConverter::ConvertToBmp The CWiauFormatConverter
CWiauFormatConverter::Init The CWiauFormatConverter
CWiauFormatConverter::IsFormatSupported The CWiauFormatConverter
CWiauFormatConverter::~CWiauFormatConverter The CWiauFormatConverter
CWiauPropertyList::CWiauPropertyList The CWiauPropertyList
CWiauPropertyList::DefineProperty The CWiauPropertyList
CWiauPropertyList::GetPropId The CWiauPropertyList
CWiauPropertyList::Init The CWiauPropertyList
CWiauPropertyList::LookupPropId The CWiauPropertyList
CWiauPropertyList::SendToWia The CWiauPropertyList
CWiauPropertyList::SetAccessSubType method The CWiauPropertyList
CWiauPropertyList::SetAccessSubType(INT,ULONG,ULONG) The CWiauPropertyList
CWiauPropertyList::SetCurrentValue(INT,BSTR) The CWiauPropertyList
CWiauPropertyList::SetCurrentValue(INT,BYTE,INT) The CWiauPropertyList
CWiauPropertyList::SetCurrentValue(INT,CLSID) The CWiauPropertyList
CWiauPropertyList::SetCurrentValue(INT,FLOAT) The CWiauPropertyList
CWiauPropertyList::SetCurrentValue(INT,LONG) The CWiauPropertyList
CWiauPropertyList::SetCurrentValue(INT,PSYSTEMTIME) The CWiauPropertyList
CWiauPropertyList::SetCurrentValue The CWiauPropertyList
CWiauPropertyList::SetValidValues(INT,BSTR,BSTR,INT,BSTR) The CWiauPropertyList
CWiauPropertyList::SetValidValues(INT,CLSID,CLSID,INT,CLSID) The CWiauPropertyList
CWiauPropertyList::SetValidValues(INT,FLOAT,FLOAT,FLOAT,FLOAT,FLOAT) The CWiauPropertyList
CWiauPropertyList::SetValidValues(INT,FLOAT,FLOAT,INT,PFLOAT) The CWiauPropertyList
CWiauPropertyList::SetValidValues(INT,LONG,LONG,INT,PLONG) The CWiauPropertyList
CWiauPropertyList::SetValidValues(INT,LONG,LONG,LONG) The CWiauPropertyList
CWiauPropertyList::SetValidValues(INT,LONG,LONG,LONG,LONG,LONG) The CWiauPropertyList
CWiauPropertyList::SetValidValues The CWiauPropertyList
CWiauPropertyList::~CWiauPropertyList The CWiauPropertyList
IStiDevice::DeviceReset The IStiDevice
IStiDevice::Diagnostic The IStiDevice
IStiDevice::Escape The IStiDevice
IStiDevice::GetCapabilities The IStiDevice
IStiDevice::GetLastErrorInfo The IStiDevice
IStiDevice::GetLastError The IStiDevice
IStiDevice::GetLastNotificationData The IStiDevice
IStiDevice::GetStatus The IStiDevice
IStiDevice::Initialize The IStiDevice
IStiDevice::LockDevice The IStiDevice
IStiDevice::RawReadCommand The IStiDevice
IStiDevice::RawReadData The IStiDevice
IStiDevice::RawWriteCommand The IStiDevice
IStiDevice::RawWriteData The IStiDevice
IStiDevice::Release The IStiDevice
IStiDevice::Subscribe The IStiDevice
IStiDevice::UnLockDevice The IStiDevice
IStiDevice::UnSubscribe The IStiDevice
IStiDeviceControl::AddRef The IStiDeviceControl
IStiDeviceControl::GetMyDeviceHandle This topic describes the GetMyDeviceHandle method.
IStiDeviceControl::GetMyDeviceOpenMode The IStiDeviceControl
IStiDeviceControl::GetMyDevicePortName The IStiDeviceControl
IStiDeviceControl::RawDeviceControl This topic describes the RawDeviceControl method.
IStiDeviceControl::Release The IStiDeviceControl
IStiDeviceControl::WriteToErrorLog The IStiDeviceControl
IStiUSD::DeviceReset A still image minidriver's IStiUSD
IStiUSD::Diagnostic A still image minidriver's IStiUSD
IStiUSD::Escape A still image minidriver's IStiUSD
IStiUSD::GetCapabilities A still image minidriver's IStiUSD
IStiUSD::GetLastErrorInfo A still image minidriver's IStiUSD
IStiUSD::GetLastError The IStiUSD
IStiUSD::GetNotificationData A still image minidriver's IStiUSD
IStiUSD::GetStatus A still image minidriver's IStiUSD
IStiUSD::Initialize A still image minidriver's IStiUSD
IStiUSD::LockDevice A still image minidriver's IStiUSD
IStiUSD::RawReadCommand A still image minidriver's IStiUSD
IStiUSD::RawReadData A still image minidriver's IStiUSD
IStiUSD::RawWriteCommand A still image minidriver's IStiDevice
IStiUSD::RawWriteData A still image minidriver's IStiUSD
IStiUSD::SetNotificationHandle A still image minidriver's IStiUSD
IStiUSD::UnLockDevice A still image minidriver's IStiUSD
IStillImageW::CreateDevice The IStillImage
IStillImageW::EnableHwNotifications The IStillImage
IStillImageW::GetDeviceInfo The IStillImage
IStillImageW::GetDeviceList The IStillImage
IStillImageW::GetDeviceValue The IStillImage
IStillImageW::GetHwNotificationState The IStillImage
IStillImageW::GetSTILaunchInformation The IStillImage
IStillImageW::Initialize The IStillImage
IStillImageW::LaunchApplicationForDevice The IStillImage
IStillImageW::RegisterLaunchApplication The IStillImage
IStillImageW::Release The IStillImage
IStillImageW::SetDeviceValue The IStillImage
IStillImageW::SetupDeviceParameters The IStillImage
IStillImageW::UnregisterLaunchApplication The IStillImage
IStillImageW::WriteToErrorLog The IStillImage
IWiaDrvItem::AddItemToFolder The AddItemToFolder method adds an IWiaDrvItem item to a folder in a driver item tree.
IWiaDrvItem::DumpItemData The IWiaDrvItem
IWiaDrvItem::FindChildItemByName The IWiaDrvItem
IWiaDrvItem::FindItemByName The IWiaDrvItem
IWiaDrvItem::GetDeviceSpecContext The IWiaDrvItem
IWiaDrvItem::GetFirstChildItem The IWiaDrvItem
IWiaDrvItem::GetFullItemName The IWiaDrvItem
IWiaDrvItem::GetItemFlags The IWiaDrvItem
IWiaDrvItem::GetItemName The IWiaDrvItem
IWiaDrvItem::GetNextSiblingItem The IWiaDrvItem
IWiaDrvItem::GetParentItem The IWiaDrvItem
IWiaDrvItem::RemoveItemFromFolder The IWiaDrvItem
IWiaDrvItem::UnlinkItemTree The IWiaDrvItem
IWiaErrorHandler::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.
IWiaErrorHandler::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.
IWiaImageFilter::FilterPreviewImage The IWiaImageFilter
IWiaImageFilter::InitializeFilter The IWiaImageFilter
IWiaLog::InitializeLog Note that the IWiaLog interface is obsolete for Microsoft Windows XP and later, and is no longer supported. Instead, use the Diagnostic Log Macros.The IWiaLog
IWiaLog::Log The IWiaLog interface is obsolete for Windows XP and later, and is no longer supported. Use the Diagnostic Log Macros instead.The IWiaLog
IWiaLog::hResult Note that the IWiaLog interface is obsolete for Microsoft Windows XP and later, and is no longer supported.
IWiaMiniDrv::drvAcquireItemData The IWiaMiniDrv
IWiaMiniDrv::drvAnalyzeItem The IWiaMiniDrv
IWiaMiniDrv::drvDeleteItem The IWiaMiniDrv
IWiaMiniDrv::drvDeviceCommand The IWiaMiniDrv
IWiaMiniDrv::drvFreeDrvItemContext The IWiaMiniDrv
IWiaMiniDrv::drvGetCapabilities The IWiaMiniDrv
IWiaMiniDrv::drvGetDeviceErrorStr The IWiaMiniDrv
IWiaMiniDrv::drvGetWiaFormatInfo The IWiaMiniDrv
IWiaMiniDrv::drvInitItemProperties The IWiaMiniDrv
IWiaMiniDrv::drvInitializeWia The IWiaMiniDrv
IWiaMiniDrv::drvLockWiaDevice The IWiaMiniDrv
IWiaMiniDrv::drvNotifyPnpEvent The IWiaMiniDrv
IWiaMiniDrv::drvReadItemProperties The IWiaMiniDrv
IWiaMiniDrv::drvUnInitializeWia The IWiaMiniDrv
IWiaMiniDrv::drvUnLockWiaDevice The IWiaMiniDrv
IWiaMiniDrv::drvValidateItemProperties The IWiaMiniDrv
IWiaMiniDrv::drvWriteItemProperties The IWiaMiniDrv
IWiaMiniDrvCallBack::MiniDrvCallback The MiniDrvCallback method provides a callback method for WIA minidrivers to use during a callback data transfer.
IWiaMiniDrvTransferCallback::GetNextStream Called by the WIA mini-driver to obtain a stream for the current data transfer (download or upload).
IWiaMiniDrvTransferCallback::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.
IWiaSegmentationFilter::DetectRegions The IWiaSegmentationFilter
IWiaTransferCallback::GetNextStream The IWiaTransferCallback
IWiaTransferCallback::TransferCallback The IWiaTransferCallback

Class

Title Description
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

Title Description
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 Reserved for use by Microsoft.
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_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_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

Title Description
_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.
_RAW_PIPE_TYPE The RAW_PIPE_TYPE data type is used to specify the type of a USB pipe.
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.
SKIP_AMOUNT The SKIP_AMOUNT enumeration is used to indicate whether the file and informational headers of an image should be skipped over.

Functions

Title Description
DeviceReset The IStiDevice::DeviceReset method resets a still image device to a known state.
Diagnostic The IStiDevice::Diagnostic method executes diagnostic tests on a still image device.
Escape The IStiDevice::Escape method sends a request for a vendor-specific I/O operation to a still image device.
GetCapabilities The IStiDevice::GetCapabilities method returns a still image device's capabilities.
GetLastError The IStiDevice::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.
GetLastNotificationData The IStiDevice::GetLastNotificationData method returns a description of the most recent event that occurred on a still image device.
GetStatus The IStiDevice::GetStatus method returns a still image device's status information.
Initialize The IStiDevice::Initialize method initializes an instance of the COM object that defines the IStiDevice interface. This method is for internal use only.
LockDevice The IStiDevice::LockDevice method locks a device for exclusive use by the caller.
RawReadCommand The IStiDevice::RawReadCommand method reads command information from a still image device.
RawReadData The IStiDevice::RawReadData method reads data from a still image device.
RawWriteCommand The IStiDevice::RawWriteCommand method sends command information to a still image device.
RawWriteData The IStiDevice::RawWriteData method writes data to a still image device.
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.
Subscribe The IStiDevice::Subscribe method registers the caller to receive notifications of device events.
UnLockDevice The IStiDevice::UnLockDevice method unlocks a device that was locked by a previous call to IStiDevice::LockDevice.
UnSubscribe The IStiDevice::UnSubscribe method removes the caller from the list of applications registered to receive notification of device events.
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.
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.
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.
GetDeviceValue The IStillImage::GetDeviceValue method returns registry information associated with a specified still image device.
GetHwNotificationState The IStillImage::GetHwNotificationState method indicates whether applications will be notified when Still Image Device Events occur on a specified device.
GetSTILaunchInformation The IStillImage::GetSTILaunchInformation method returns the reason the calling still image application was started, if the still image event monitor started it.
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.
LaunchApplicationForDevice The IStillImage::LaunchApplicationForDevice method starts a specified application for a specified 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 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.
SetDeviceValue The IStillImage::SetDeviceValue method sets registry information for a specified still image device.
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.
UnregisterLaunchApplication The IStillImage::UnregisterLaunchApplication method removes an application from the still image event monitor's list of push-model aware applications.
WriteToErrorLog The IStillImage::WriteToErrorLog method writes a message to the still image error log.
AddRef The IStiDeviceControl::AddRef method increments the reference count for the IStiDeviceControl interface.
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.
RawDeviceControl This topic describes the RawDeviceControl method.
Release The IStiDeviceControl::Release method closes the instance of the COM object that was created when a minidriver client called IStiUSD::Initialize.
WriteToErrorLog The IStiDeviceControl::WriteToErrorLog method allows a user-mode still image minidriver to write a message into the still image error log.
DeviceReset A still image minidriver's IStiUSD::DeviceReset method resets a still image device to a known, initialized state.
Diagnostic A still image minidriver's IStiUSD::Diagnostic method runs diagnostic tests on 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.
GetCapabilities A still image minidriver's IStiUSD::GetCapabilities method returns a still image device's capabilities.
GetLastError The IStiUSD::GetLastError method returns 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.
GetNotificationData A still image minidriver's IStiUSD::GetNotificationData method returns a description of the most recent event that occurred on a still image device.
GetStatus A still image minidriver's IStiUSD::GetStatus method returns the status of a still image device.
Initialize A still image minidriver's IStiUSD::Initialize method initializes an instance of the COM object that defines the IStiUSD interface.
LockDevice A still image minidriver's IStiUSD::LockDevice method locks a device for exclusive use by the caller.
RawReadCommand A still image minidriver's IStiUSD::RawReadCommand method reads command information from a still image device.
RawReadData A still image minidriver's IStiUSD::RawReadData method reads data from a still image device.
RawWriteCommand A still image minidriver's IStiDevice::RawWriteCommand method sends command information to a still image device.
RawWriteData A still image minidriver's IStiUSD::RawWriteData method writes data to a 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.
UnLockDevice A still image minidriver's IStiUSD::UnLockDevice method unlocks a device that was locked by a previous call to IStiUSD::LockDevice.
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.
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.
FilterPreviewImage The IWiaImageFilter::FilterPreviewImage method is called by the WIA Preview component, when an application calls the IWiaPreview::UpdatePreview method.
InitializeFilter The IWiaImageFilter::InitializeFilter method stores the references to pWiaItem2 and pWiaTransferCallback parameters passed into the method.
hResult Note that the IWiaLog interface is obsolete for Microsoft Windows XP and later, and is no longer supported.
InitializeLog Note that the IWiaLog interface is obsolete for Microsoft Windows XP and later, and is no longer supported. Instead, use the Diagnostic Log Macros.The IWiaLog::InitializeLog method initializes the lWiaLog interface.
Log The IWiaLog interface is obsolete for Windows XP and later, and is no longer supported. Use the Diagnostic Log Macros instead.The IWiaLog::Log method writes a diagnostic log message to Wiaservc.log.
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.
GetNextStream The IWiaTransferCallback::GetNextStream method is implemented by an image processing filter.
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.
~CWiaLogProc The ~CWiaLogProc destructor is called when the function or method being logged is exited.
CWiaLogProc The CWiaLogProc constructor is called when the function or method being logged is entered.
~CWiaLogProcEx The~CWiaLogProcEx destructor is called when the function or method being logged is exited.
CWiaLogProcEx The CWiaLogProcEx constructor is called when the function or method being logged is entered.
WIAS_ASSERT 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_HRESULT The WIAS_HRESULT macro writes a diagnostic message to the Wiatrace.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 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 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 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.
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 This function prints a debug error string in the Device Manager debug console. The output color is always red.
wiasDebugTrace This function prints a debug trace string in the Device Manager debug console.
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 for Windows XP and later, and is no longer supported. Use the WIAS_LHRESULT macro instead.This function prints an HRESULT string on the Device Manager debug console.
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.
MicroEntry The MicroEntry function responds to commands sent by the WIA Flatbed driver.
Scan The Scan function reads data from the device and returns the data to the WIA Flatbed driver.
SetPixelWindow The SetPixelWindow function sets the image area to be scanned.
AddItemToFolder The AddItemToFolder method adds an IWiaDrvItem item to a folder in a driver item tree.
DumpItemData The IWiaDrvItem::DumpItemData method dumps private data associated with an IWiaDrvItem item into an allocated private buffer.
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.
GetDeviceSpecContext The IWiaDrvItem::GetDeviceSpecContext method gets a device-specific context.
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.
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.
GetNextSiblingItem The IWiaDrvItem::GetNextSiblingItem method gets the next sibling of the current item in an IWiaDrvItem folder.
GetParentItem The IWiaDrvItem::GetParentItem gets the parent item of the current item.
RemoveItemFromFolder The IWiaDrvItem::RemoveItemFromFolder method removes an item from a parent folder.
UnlinkItemTree The IWiaDrvItem::UnlinkItemTree method unlinks the driver item tree and releases all items in the tree.
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.
MiniDrvCallback The MiniDrvCallback method provides a callback method for WIA minidrivers to use during a callback data transfer.
GetNextStream Called by the WIA mini-driver to obtain a stream for the current data transfer (download or upload).
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.
~CWiauDbgFn The CWiauDbgFn::~CWiauDbgFn destructor is called when the function or method being traced by CWiauDbgFn::CWiauDbgFn is exited.
CWiauDbgFn The CWiauDbgFn::CWiauDbgFn method is used for tracing when a function or method is entered.
~CWiauFormatConverter The CWiauFormatConverter::~CWiauFormatConverter method is the destructor for the CWiauFormatConverter class.
ConvertToBmp The CWiauFormatConverter::ConvertToBmp method converts an image to BMP format.
CWiauFormatConverter The CWiauFormatConverter::CWiauFormatConverter method is the constructor for the CWiauFormatConverter class.
Init The CWiauFormatConverter::Init method initializes the CWiauFormatConverter class and GDI+ for converting images. This method should be called only once.
IsFormatSupported The CWiauFormatConverter::IsFormatSupported method verifies that GDI+ supports the image format that is to be converted.
~CWiauPropertyList The CWiauPropertyList::~CWiauPropertyList method is the destructor for the CWiauPropertyList 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.
GetPropId The CWiauPropertyList::GetPropId method finds the property ID for a property, given its index in the property list.
Init The CWiauPropertyList::Init method initializes a property list object.
LookupPropId The CWiauPropertyList::LookupPropId method finds a property's index, given its property ID.
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 method resets a property's access and subtype.
SetCurrentValue The CWiauPropertyList::SetCurrentValue(BSTR) method sets the current value of a property of type BSTR, and sets its type to VT_BSTR.
SetCurrentValue The CWiauPropertyList::SetCurrentValue(LONG) method sets the current value of a property of type LONG, and sets its type to VT_I4.
SetCurrentValue The CWiauPropertyList::SetCurrentValue(BSTR) method sets the current value of a property of type BSTR, and sets its type to VT_BSTR.
SetCurrentValue The CWiauPropertyList::SetCurrentValue(FLOAT) method sets the current value of a property of type FLOAT, and sets its type to VT_R4.
SetCurrentValue The CWiauPropertyList::SetCurrentValue(BSTR) method sets the current value of a property of type BSTR, and sets its type to VT_BSTR.
SetCurrentValue The CWiauPropertyList::SetCurrentValue(BSTR) method sets the current value of a property of type BSTR, and sets its type to VT_BSTR.
SetCurrentValue The CWiauPropertyList::SetCurrentValue(BSTR) method sets the current value of a property of type BSTR, and sets its type to VT_BSTR.
SetValidValues The CWiauPropertyList::SetValidValues(BSTR, list) 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(BSTR, list) 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(BSTR, list) 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(BSTR, list) 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(BSTR, list) 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(BSTR, list) 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(BSTR, list) 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(BSTR, list) method sets the type, as well as default, current, and valid values for a BSTR property associated with a list of values.
WIAS_ASSERT 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_HRESULT The WIAS_HRESULT macro writes a diagnostic message to the Wiatrace.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 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 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 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.
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 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 The wiauRegGetStr function gets a string value from the DeviceData section of the registry.
wiauRegOpenDataA The wiauRegOpenData function opens the DeviceData registry key.
wiauRegOpenDataW 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.

Interfaces

Title Description
IStiDevice This section describes the methods defined for the IStiDevice COM Interface. Method prototypes are contained in Sti.h.
IStillImageW This section describes the methods defined for the IStillImage 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.
IStiUSD This section describes the methods defined for the IStiUSD COM Interface. Method prototypes are contained in Stiusd.h.
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 provides methods to enable minidrivers to log trace, error, and warning messages to the diagnostic log file Wiaservc.log.
IWiaSegmentationFilter The IWiaSegmentationFilter interface provides the DetectRegions method, which enables minidrivers to detect image subregions on a flatbed scanner's platen. This interface is available in Windows Vista and later.
IWiaTransferCallback The IWiaTransferCallback interface is implemented by image processing filter developers and called by Microsoft Windows Image Acquisition (WIA).
IWiaDrvItem The IWiaDrvItem interface provides methods that a WIA minidriver can use to manage a tree of IWiaDrvItem items.
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.

Structures

Title Description
_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.
_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.
_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_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_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.
_STI_USD_CAPS The STI_USD_CAPS structure is used as a parameter for the IStiUSD::GetCapabilities method.
_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.
_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.
_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.
_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_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).
tagDEVICEDIALOGDATA The DEVICEDIALOGDATA structure contains all the data needed to implement a custom device dialog.
tagDEVICEDIALOGDATA2 The DEVICEDIALOGDATA2 structure contains all the data needed to implement a custom device dialog.
_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.
VAL The VAL structure is used by the microdriver and WIA Flatbed driver to pass information between each other.
_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.
_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_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.
_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.
_TWAIN_CAPABILITY The TWAIN_CAPABILITY structure holds information used when a TWAIN-compatible application communicates with a WIA driver.
_BMP_IMAGE_INFO The BMP_IMAGE_INFO structure contains information about a BMP image.