LWia::GetPropertyLong

#include "ltwrappr.h"

virtual L_INT LWia::GetPropertyLong(pItem, pszID, uID, plValue)

L_VOID * pItem;

/* pointer to IWiaItem or IWiaItem2 interface */

L_TCHAR * pszID;

/* pointer to string array that represents the equivalent property ID string */

L_UINT32 uID;

/* property ID */

L_INT32 * plValue;

/* pointer to a variable of type L_INT to be updated with the Long value */

Retrieves the Long value for a WIA property of any of the following types: VT_I1, VT_UI1, VT_I2, VT_UI2, VT_I4, VT_UI4, VT_INT, VT_UINT, VT_R4 and VT_R8.

Parameter

Description

pItem

Valid pointer to a type IWiaItem or IWiaItem2 object (IWiaItem if using WIA Version 1.0; IWiaItem2 if using WIA Version 2.0), which represents the item having the property

 

You can retrieve this parameter by either calling the LWia::GetRootItem function to get a pointer to the device's root item or by enumerating the child items of the device through a call to LWia::EnumChildItems.

pszID

This string pointer should contain the equivalent property ID string for the WIA property ID (see example below):

 

Property ID

Property ID Equivalent String

 

WIA_IPA_TYMED

WIA_IPA_TYMED_STR or "Media Type"

 

WIA_IPA_DEPTH

WIA_IPA_DEPTH_STR or "Bits Per Pixel"

 

If this parameter is NULL then the WIA toolkit will use the ID passed through the uID parameter; otherwise the pszID parameter will be used whether or not you passed valid property ID through the uID parameter.

uID

The property ID for the WIA property.

 

This parameter is required only if the pszID parameter is NULL, otherwise you can pass 0 for this parameter.

plValue

The address for a variable of type L_INT to be updated with the passed items Long value for the specified property ID.

Returns

SUCCESS

The function was successful.

< 1

An error occurred. Refer to Return Codes.

Comments

This feature is available in LEADTOOLS version 16 or higher.

Call this function to retrieve the Long value for any WIA property of the types mentioned (for instance, WIA_DPS_DOCUMENT_HANDLING_SELECT, WIA_DIP_DEV_TYPE, WIA_IPA_BUFFER_SIZE, .etc).

Required DLLs and Libraries

LTWIA

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

See Also

Functions:

LWia::GetPropertyGUID, LWia::GetPropertyString, LWia::GetPropertyBuffer, LWia::GetPropertySystemTime, LWia::GetRootItem, LWia::EnumChildItems, LWia::InitSession, LWia::EndSession, Class Members

Topics:

Managing WIA Sources

 

WIA Functionality: Property Functions

Example

L_LTWIASAM_CLIB L_INT LWIA__GetPropertyLongExample()
{
   L_INT nRet;
   L_INT nValue;
   IWiaItem * pRootItem = NULL;
   LWia MyClass;
   nRet = MyClass.SelectDeviceDlg(WiaDeviceTypeDefault, 0);
   if(nRet != WIA_SUCCESS)
      return nRet;
   nRet = MyClass.GetRootItem(NULL, (L_VOID**)&pRootItem);
   if(nRet != WIA_SUCCESS)
      return nRet;
   nRet = MyClass.GetPropertyLong(pRootItem, NULL, WIA_DPS_DOCUMENT_HANDLING_SELECT, &nValue);
   if(nRet != WIA_SUCCESS)
      return nRet;
   /* If the selected paper source if not FEEDER then select the FEEDER */
   if(!(nValue & FEEDER))
   {
      nValue = FEEDER;
      nRet = MyClass.SetPropertyLong(pRootItem, NULL, WIA_DPS_DOCUMENT_HANDLING_SELECT, nValue);
      if(nRet != WIA_SUCCESS)
         return nRet;
   }
   return SUCCESS;
}