LTwain::QueryProperty

#include "ltwrappr.h"

virtual L_INT LTwain::QueryProperty (uCapability, ppltProperty, uStructSize)

L_UINT uCapability;

capability constant

pLTWAINPROPERTYQUERY * ppltProperty;

pointer to a pointer to a structure

L_UINT uStructSize;

size of the LTWAINPROPERTY structure, in bytes

Gets the available property values.

Parameter

Description

uCapability

This is a capability constant defined by the TWAIN 1.9 specification. For example if the user wants the value(s) for the transfer count, the uCapability will be ICAP_XFERCOUNT.

ppltProperty

Pointer to a pointer to a LTWAINPROPERTYQUERY structure to be updated with the property values.

 

The structure will be internally allocated if the function is successful.

 

The structure should be freed by calling LTwain::FreePropQueryStructure function

uStructSize

Size of the LTWAINPROPERTYQUERY structure, in bytes, for versioning. Use sizeof(LTWAINPROPERTYQUERY).

Returns

SUCCESS

The function was successful.

<1

An error occurred. Refer to Return Codes.

Comments

Getting these values can help in determining what values a certain TWAIN source supports for a certain capability or property.

Required DLLs and Libraries

LTTWN

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:

LTwain::GetProperties, LTwain::SetCapability, LTwain::GetCapability, LTwain::InitSession, LTwain::EndSession.

Topics:

Getting and Setting Capabilities

 

TWAIN Functionality: Property Functions.

Example

L_INT LTwain__QueryPropertyExample(L_INT16 uValue, CMyTwain *MyClass) 
{ 
   L_INT                nRet, nIndex; 
   pLTWAINPROPERTYQUERY pltQuery = NULL; 
   // Query capability possible values 
   nRet = MyClass->QueryProperty (ICAP_XRESOLUTION, &pltQuery , sizeof(LTWAINPROPERTYQUERY)); 
   if (nRet != SUCCESS) 
      return nRet; 
   // Check for the available values of the file transfer property 
   switch (pltQuery->uType) 
   { 
      case TWON_ONEVALUE: 
      if (pltQuery->pltwOneValue->ItemType == TWTY_FIX32) 
      { 
         pTW_FIX32 ptwFixVal = (pTW_FIX32)&(pltQuery->pltwOneValue->Item); 
         if (ptwFixVal->Whole == uValue) 
         { 
            nRet = MyClass->FreePropQueryStructure(&pltQuery); 
            if(nRet != SUCCESS) 
               return nRet; 
         } 
      } 
      break; 
      case TWON_ENUMERATION: 
      if (pltQuery->pltwEnumeration->ItemType == TWTY_FIX32) 
      { 
         pTW_FIX32 ptwFixVal; 
         for (nIndex = 0; nIndex < (L_INT)pltQuery->pltwEnumeration->NumItems; nIndex ++) 
         { 
            ptwFixVal = (pTW_FIX32)(pltQuery->pltwEnumeration->ItemList[nIndex]); 
            if (ptwFixVal->Whole == uValue) 
            { 
               nRet = MyClass->FreePropQueryStructure (&pltQuery); 
               if(nRet != SUCCESS) 
                  return nRet; 
            } 
         } 
      } 
      break; 
   } 
   nRet = MyClass->FreePropQueryStructure (&pltQuery); 
   return nRet; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS TWAIN C++ Class Library Help