L_TwainQueryProperty

#include "lttwn.h"

L_LTTWN_API L_INT L_TwainQueryProperty (hSession, uCapability, ppltProperty, uStructSize)

Gets the available property values.

Parameters

HTWAINSESSION hSession

Handle to an existing TWAIN session. This handle is obtained by calling the L_TwainInitSession or L_TwainInitSession2 function.

L_UINT uCapability

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

pLTWAINPROPERTYQUERY * 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 L_TwainFreePropQueryStructure function.

L_UINT uStructSize

Size, in bytes, of the structure pointed to by ppltProperty, for versioning. Use sizeof(TWAINPROPERTYQUERY).

Returns

Value Meaning
SUCCESS The function was successful.
! = SUCCESS An error occurred. Refer to Return Codes.

Comments

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

Required DLLs and Libraries

See Also

Functions

Topics

Example

L_INT TwainQueryPropertyExample(L_INT16 uValue,HTWAINSESSION g_hSession)  
{ 
   L_INT nRet, nIndex; 
   pLTWAINPROPERTYQUERY pltQuery = NULL; 
 
   // Query capability possible values 
   nRet = L_TwainQueryProperty (g_hSession, 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)(INT_PTR)pltQuery->pltwOneValue->Item; 
         if (ptwFixVal->Whole == uValue) 
         { 
            L_TwainFreePropQueryStructure(&pltQuery); 
            return SUCCESS; 
         } 
      } 
      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) 
            { 
               L_TwainFreePropQueryStructure (&pltQuery); 
               return SUCCESS; 
            } 
         } 
      } 
      break; 
   } 
 
   L_TwainFreePropQueryStructure (&pltQuery); 
   return FAILURE; 
} 
Help Version 21.0.2021.4.7
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS TWAIN C API Help