Gets the specified value from a container.
#include "lttwn.h"
L_LTTWN_API L_INT L_TwainGetNumericContainerValue (pCapability, nIndex, ppValue)
Pointer to a structure that contains the capability container value to get.
Index of the value to get. Possible values are:
Value | Meaning |
---|---|
LTWAIN_VALUE_COUNT | [-1] Update ppValue 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 ppValue with the current value of the container. If the container is of type TW_RANGE, ppValue is updated with the CurrentValue member of the TW_RANGE structure. If the container is of type TW_ENUMERATION, ppValue 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 ppValue with the default value of the container. If the container is of type TW_RANGE, ppValue is updated with the DefaultValue member of the TW_RANGE structure. If the container is of type TW_ENUMERATION, ppvalue 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 ppValue with the minimum value of the container. If the container is of type TW_RANGE, ppValue 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 ppValue with the maximum value of the container. If the container is of type TW_RANGE, ppValue 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 ppValue with the step size of the container. If the container is of type TW_RANGE, ppValue 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 ppValue with the value at the specified index. If the container is of type TW_ONEVALUE, nIndex must be zero and ppValue will be updated with the value of the TW_ONEVALUE structure. If the container is of type TW_ARRAY or TW_ENUMERATION, ppValue 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. |
Variable to be allocated by the function and updated with the specified value. The user must free this value using the Windows C API functions, GlobalUnlock and GlobalFree.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
! = SUCCESS | An error occurred. Refer to Return Codes. |
L_INT TwainGetNumericContainerValueExample(HTWAINSESSION hSession)
{
L_INT nRet;
L_UINT16 * pVal = NULL;
TW_CAPABILITY twCap;
nRet = L_TwainStartCapsNeg(hSession);
if(nRet != SUCCESS)
return nRet;
twCap.Cap = ICAP_XFERMECH;
twCap.ConType = TWON_DONTCARE16;
nRet = L_TwainGetCapability (hSession, &twCap, LTWAIN_CAPABILITY_GETCURRENT);
if (nRet != SUCCESS)
{
MessageBox (NULL, TEXT("Failed to get capability"), TEXT("ERROR"), MB_OK);
return nRet;
}
if (twCap.ConType == TWON_ONEVALUE)
{
nRet = L_TwainGetNumericContainerValue (&twCap, 0, (L_VOID **)&pVal);
if(nRet != SUCCESS)
return nRet;
}
else if (twCap.ConType == TWON_ENUMERATION)
{
nRet = L_TwainGetNumericContainerValue (&twCap, LTWAIN_VALUE_CURRENT, (L_VOID **)&pVal);
if(nRet != SUCCESS)
return nRet;
}
nRet = L_TwainEndCapsNeg(hSession);
if(nRet != SUCCESS)
return nRet;
return SUCCESS;
}