#include "lttwn.h"
L_LTTWN_API L_INT L_TwainGetSources (hSession, pfnCallBack, uStructSize, uFlags, pUserData)
HTWAINSESSION hSession; |
handle to an existing TWAIN session |
LTWAINSOURCEINFOCALLBACK pfnCallBack; |
optional callback function |
L_UINT uStructSize; |
size in bytes, of the structure passed to the callback function |
L_UINT uFlags; |
optional flags |
L_VOID * pUserData; |
pointer to more parameters for the callback |
Gets the available information for the TWAIN sources installed on the system.
| Parameter | Description | |
| hSession | Handle to an existing TWAIN session. This handle is obtained by calling the L_TwainInitSession or L_TwainInitSession2 function. | |
| pfnCallBack | Callback function for processing each enumerated TWAIN source. Use the function pointer as the value of this parameter. | |
| L_TwainGetSources calls this callback function as it gets each TWAIN source. The callback function must adhere to the function prototype described in LTWAINSOURCEINFOCALLBACK Function. | ||
| uStructSize | Size in bytes, of the structure passed to the LTWAINSOURCEINFOCALLBACK callback function, for versioning. Use sizeof(LTWAINSOURCEINFO). | |
| uFlags | Flags that indicate what sources to get. Possible values are: | |
| Value | Meaning | |
| LTWAIN_SOURCE_ENUMERATE_ALL | [0x0000] Enumerates all the available sources. | |
| LTWAIN_SOURCE_ENUMERATE_DEFAULT | [0x0001] Gets only the default source (currently selected). | |
| 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. | ||
SUCCESS |
The function was successful. |
! = SUCCESS |
An error occurred. Refer to Return Codes. |
sdsf
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. |
Functions: |
L_TwainSelectSource, L_TwainInitSession, L_TwainInitSession2 |
Topics: |
|
|
|
| Programming with LEADTOOLS TWAIN Functions |
L_INT EXT_CALLBACK TwnSourcesCB(HTWAINSESSION hSession,pLTWAINSOURCEINFO pSource,L_VOID * pUserData){UNREFERENCED_PARAMETER(hSession);UNREFERENCED_PARAMETER(pUserData);L_TCHAR szBuffer[MAX_PATH];memset(szBuffer, 0, sizeof(szBuffer));wsprintf(szBuffer, TEXT("Source Name = %s\nSource Version = %s\nProduct Family = %s\nManufacturer = %s\n"),pSource->pszTwnSourceName,(pSource->TwainVersion == TWAIN_VERSION1) ? TEXT("1.0") : TEXT("2.0"),pSource->pszTwnProductFamily,pSource->pszTwnManufacturer);MessageBox(NULL, szBuffer, TEXT("Source Info."), MB_OK);return TWAIN_SUCCESS;}L_INT TwainGetSourcesExample(HTWAINSESSION hSession){L_INT nRet;nRet = L_TwainGetSources(hSession,TwnSourcesCB,sizeof(LTWAINSOURCEINFO),LTWAIN_SOURCE_ENUMERATE_ALL,NULL);if (nRet != SUCCESS){MessageBox (NULL, TEXT("Error During Enumeration Procedure"), TEXT("ERROR"), MB_OK);return nRet;}return SUCCESS;}