Gets the specified value from a container.
#include "lttwn.h"
L_LTTWN_API L_INT L_TwainGetNumericContainerINTValue(pCapability, nIndex, pnValue)
Pointer to a TW_CAPABILITY structure that references the container value to get.
Index of the value to get. Possible values are:
Value | Meaning |
---|---|
LTWAIN_VALUE_COUNT | [-1] Update pnValue with the number of items in the item list of the specified container. This option is only valid if the container is of type TW_ARRAY or TW_ENUMERATION. If the container is of any other type, this function will return an error code. |
LTWAIN_VALUE_CURRENT | [-2] Update pnValue with the current value of the container. If the container is of type TW_RANGE, pnValue is updated with the CurrentValue member of the TW_RANGE structure. If the container is of type TW_ENUMERATION, pnValue is updated with the CurrentIndex member of the TW_ENUMERATION structure. If the container is of any other type, the function will return an error code. |
LTWAIN_VALUE_DEFAULT | [-3] Update pnValue with the default value of the container. If the container is of type TW_RANGE, pnValue is updated with the DefaultValue member of the TW_RANGE structure. If the container is of type TW_ENUMERATION, pnValue is updated with the DefaultIndex member of the TW_ENUMERATION structure. If the container is of any other type, the function will return an error code. |
LTWAIN_VALUE_MINIMUM | [-4] Update pnValue with the minimum value of the container. If the container is of type TW_RANGE, pnValue is updated with the MinValue member of the TW_RANGE structure. If the container is of any other type, the function will return an error code. |
LTWAIN_VALUE_MAXIMUM | [-5] Update pnValue with the maximum value of the container. If the container is of type TW_RANGE, pnValue is updated with the MaxValue member of the TW_RANGE structure. If the container is of any other type, the function will return an error code. |
LTWAIN_VALUE_STEPSIZE | [-6] Update pnValue with the step size of the container. If the container is of type TW_RANGE, pnValue is updated with the StepSize membr of the TW_RANGE structure. If the container is of any other type, the function will return an error code. |
>= 0 | Update pnValue with the value at the specified index. If the container is of type TW_ONEVALUE, nIndex must be zero and pnValue will be updated with the value of the TW_ONEVALUE structure. If the container is of type TW_ARRAY or TW_ENUMERATION, pnValue will be updated with the value at the specified index in the list of items. If the container is of type TW_ENUMERATION or TW_ARRAY, the value must not exceed the number of items in the container's item list or the function will return an error code. |
Pointer to an integer value to be updated with the specified container value.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
! = SUCCESS | An error occurred. Refer to Return Codes. |
Use this function to get a value from a container's item list when the item list type is integer.
L_INT TwainGetNumericContainerINTValueExample(L_INT nItemType,HTWAINSESSION hSession)
{
L_INT nRet;
TW_CAPABILITY twCap;
L_INT nValue;
nRet = L_TwainStartCapsNeg(hSession);
if(nRet != SUCCESS)
return nRet;
// Fill the TW_CAPABILITY structure with values
twCap.Cap = CAP_XFERCOUNT;
twCap.ConType = TWON_ONEVALUE;
nRet = L_TwainGetCapability(hSession, &twCap, LTWAIN_CAPABILITY_GETCURRENT);
if (nRet != SUCCESS)
{
MessageBox (NULL, TEXT("Failed to get capability"), TEXT("ERROR"), MB_OK);
return nRet;
}
nRet = L_TwainGetNumericContainerItemType(&twCap, &nItemType);
if (nRet != SUCCESS)
{
MessageBox (NULL, TEXT("Failed to get capability item type"), TEXT("ERROR"), MB_OK);
return nRet;
}
else if ( (nItemType == TWTY_INT16) || (nItemType == TWTY_INT32) )
{
nRet = L_TwainGetNumericContainerINTValue (&twCap, 0, &nValue);
if (nRet != SUCCESS)
{
MessageBox (NULL, TEXT("Failed to get capability item value"), TEXT("ERROR"), MB_OK);
return nRet;
}
}
nRet = L_TwainEndCapsNeg(hSession);
if(nRet != SUCCESS)
return nRet;
return nRet;
}