WIA driver services library
The WIA driver services library contains functions that a WIA minidriver can call for assistance in performing the following tasks:
A WIA minidriver calls most of these functions from its IWiaMiniDrv Interface methods as needed. Each WIA minidriver, however, must call the wiasCreateDrvItem function in the IWiaMiniDrv::drvInitializeWia method to create driver items. Each successful call to a wiasCreateDrvItem function creates an IWiaDrvItem item object, which is used in the minidriver's item tree. Several IWiaDrvItem Interface methods have a parameter of type IWiaDrvItem, including the IWiaDrvItem::AddItemToFolder, IWiaDrvItem::GetFirstChildItem, IWiaDrvItem::GetNextSiblingItem, and IWiaDrvItem::GetParentItem. Also, the wiasGetDrvItem function has a parameter of this type.
The driver services library provides the following functions.
Build and maintain an item tree
Function | Description |
---|---|
wiasCreateChildAppItem | Creates a new application item and inserts it as a child of the specified (parent) item. |
wiasCreateDrvItem | Creates an IWiaDrvItem object. |
wiasGetChildrenContexts | Retrieves an array of item contexts belonging to the current item's children. |
wiasGetContextFromName | Retrieves the item context for an item name. |
wiasGetDrvItem | Retrieves a driver item. |
wiasGetRootItem | Retrieves the root item context of a specified WIA item. |
Log error and trace messages
Function | Description |
---|---|
wiasCreateLogInstance | Creates an instance of a logging object. |
wiasDebugError | Prints a debug error string in the Device Manager debug console. The output color is always red. This function is provided for compatibility only. It is recommended to use WIAS_ERROR instead. |
wiasDebugTrace | Prints a debug trace string in the Device Manager debug console. This function is provided for compatibility only. It is recommended to use WIA_TRACE instead. |
wiasFormatArgs | Formats an argument list into a packaged string for logging. |
wiasPrintDebugHResult | Prints an HRESULT string on the Device Manager debug console. This function is provided for compatibility only. It is obsolete and is no longer supported. Use WIAS_LHRESULT instead. |
Read and store item properties
Function | Description |
---|---|
wiasCreatePropContext | Allocates a property context to indicate which of an item's properties are changing. |
wiasFreePropContext | Releases the memory occupied by a WIA_PROPERTY_CONTEXT structure. |
wiasGetChangedValueFloat | Determines whether a property with a floating-point value has been changed by an application. |
wiasGetChangedValueGuid | Determines whether a property with a GUID value has been changed by an application. |
wiasGetChangedValueLong | Determines whether a property with a long integer value has been changed by an application. |
wiasGetChangedValueStr | Determines whether a property with a string value has been changed by an application. |
wiasGetItemType | Indicates a root or child item. |
wiasGetPropertyAttributes | Retrieves the access flags and valid values for a set of properties. |
wiasIsPropChanged | Tests whether the specified property has been changed by an application. |
wiasReadMultiple | Reads multiple properties from a WIA item. |
wiasReadPropBin | Reads a single binary property from a WIA item. |
wiasReadPropFloat | Retrieves a floating-point property value from a WIA item. |
wiasReadPropGuid | Retrieves a GUID property value from a WIA item. |
wiasReadPropLong | Retrieves a long integer property value from a WIA item. |
wiasReadPropStr | Retrieves a string property value from a WIA item. |
wiasSetItemPropAttribs | Sets the access flags and valid values for an item's set of properties. |
wiasSetItemPropNames | Writes property names to item properties. |
wiasSetPropChanged | Modifies a property context to indicate that a property is being changed. |
wiasSetPropertyAttributes | Sets the access flags and property values of an item's properties. |
wiasSetValidFlag | Sets the valid values for a WIA_PROP_FLAG property. |
wiasSetValidListFloat | Sets the valid values for a WIA_PROP_LIST property of type sub-VT_R4. |
wiasSetValidListGuid | Sets the valid values for a WIA_PROP_LIST property of subtype VT_CLSID. |
wiasSetValidListLong | Sets the valid values for a WIA_PROP_LIST property of type sub-VT_I4. |
wiasSetValidListStr | Sets the valid values for a WIA_PROP_LIST property of type sub-VT_BSTR. |
wiasSetValidRangeFloat | Specifies the range of valid values for a WIA_PROP_RANGE property of subtype VT_R4. |
wiasSetValidRangeLong | Specifies the range of valid values for a WIA_PROP_RANGE property of subtype VT_I4. |
wiasUpdateValidFormat | Updates the valid format of the property context for the current minidriver. |
wiasValidateItemProperties | Validates a list of simple item properties against their current valid values. |
wiasWriteMultiple | Writes multiple property values to a WIA item (the properties may be of different types). |
wiasWritePropBin | Writes a single binary property value to a WIA item. |
wiasWritePropFloat | Writes a floating-point property value to a WIA item. |
wiasWritePropGuid | Writes a GUID property value to a WIA item. |
wiasWritePropLong | Writes a long integer property value to a WIA item. |
wiasWritePropStr | Writes a string property value to a WIA item. |
Update and transfer data
Function | Description |
---|---|
wiasDownSampleBuffer | Takes in a buffer of pixel data and downsamples it to the specified size. |
wiasGetImageInformation | Retrieves transfer context information from an item. |
wiasParseEndorserString | Parses an endorser string, replacing WIA service-defined and vendor-defined tokens in the string with values associated with the tokens. |
wiasSendEndOfPage | Calls the client callback routine during a data transfer, sending the current total page count. |
wiasUpdateScanRect | Updates the scanning area sizes of the scanning device. |
wiasWriteBufToFile | Writes the contents of a temporary page buffer to an image file. |
wiasWritePageBufToFile | Writes the contents of a temporary page buffer to an image file. Use this function to write a page to a multi-page TIFF file. |