L_TwainEnumCapabilities

#include "lttw2.h"

L_INT EXT_FUNCTION L_TwainEnumCapabilities (hSession, pfnCallBack, uFlags, pUserData)

HTWAINSESSION hSession;

/* handle to an existing TWAIN session */

LTWAINCAPABILITYCALLBACK * pfnCallBack;

/* optional callback function */

L_UINT uFlags;

/* optional flags */

L_VOID * pUserData;

/* pointer to more parameters for the callback */

Gets the supported capabilities and specified value(s) of each capability.

Parameter

Description

hSession

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

pfnCallBack

Callback function for processing each enumerated capability. Use the function pointer as the value of this parameter.

 

L_TwainEnumCapabilities calls this callback function as it gets each TWAIN capability. The callback function must adhere to the function prototype described in LTWAINCAPABILITYCALLBACK Function.

uFlags

Flags that indicate the capability values to get when enumerating the TWAIN capability. Possible values are:

 

Value

Meaning

 

LTWAIN_CAPABILITY_DONTGET

[0] Get no capability values.

 

LTWAIN_CAPABILITY_GETCURRENT

[3] Get the current capability value.

 

LTWAIN_CAPABILITY_GETDEFAULT

[4] Get the default capability value.

 

LTWAIN_CAPABILITY_GETVALUES

[5] Get all available capability values.

pUserData

Void pointer that you can use to pass one or more additional parameters that the callback function needs.

 

To use this feature, assign a value to a variable or create a structure that contains as many fields as you need. Then, in this parameter, pass the address of the variable or structure, casting it to L_VOID *. The callback function, which receives the address in its own pUserData parameter, can cast it to a pointer of the appropriate data type to access your variable or structure.

 

If the additional parameters are not needed, you can pass NULL in this parameter.

Returns

SUCCESS

The function was successful.

! = SUCCESS

An error occurred. Refer to Return Codes.

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:

L_TwainStartCapsNeg, L_TwainEndCapsNeg, L_TwainSetProperties, L_TwainGetProperties, L_TwainSetCapability, L_TwainGetCapability, L_TwainInitSession, L_TwainEndSession.

Topics:

Getting and Setting Capabilities

 

TWAIN Functionality: Capability Functions.

Example

For an example, refer to L_TwainAddCapabilityToFile.