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: |
|
|
|
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;
}