L_TwainInitSession2
#include "lttwn.h"
L_LTTWN_API L_INT L_TwainInitSession2(phSession, pAppData, uFlags)
pHTWAINSESSION phSession; |
/* pointer to a TWAIN session handle */ |
pAPPLICATIONDATA pAppData; |
/* pointer to the APPLICATIONDATA structure */ |
L_UINT uFlags; |
/* optional flags */ |
Initializes the TWAIN session.
Parameter |
Description |
|
phSession |
Pointer to a TWAIN session handle. This handle is needed to acquire pages from the TWAIN source, and work with template files, containers, capabilities, and properties. |
|
pAppData |
Pointer to an APPLICATIONDATA structure. This structure will have the handle of the parent window, in addition to other data about the application. |
|
uFlags |
Flags that indicate the function behavior. Possible values are: |
|
|
Value |
Meaning |
|
LTWAIN_INIT_MULTI_THREADED |
[0x0001] Initialize the Twain session with multi threaded option. |
|
0 |
The function behavior will be like L_TwainInitSession |
Returns
SUCCESS |
The function was successful. |
! = SUCCESS |
An error occurred. Refer to Return Codes. |
Comments
L_TwainInitSession2 must be called before calling any other LEADTOOLS TWAIN toolkit functions.
When the handle to the TWAIN session is no longer needed, it should be freed by calling L_TwainEndSession. For every call to L_TwainInitSession2 there must be a call to L_TwainEndSession.
If you pass 0 to the uFlags parameter, then this function behavior will be like L_TwainInitSession, but if you pass LTWAIN_INIT_MULTI_THREADED to uFlags parameter, then the Twain session will be initialized with multi-threaded option.
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: |
|
Topics: |
|
|
TWAIN Functionality: Session Functions. |
Example
L_INT TwainInitSession2Example(HWND hWnd,HBITMAPLIST hBitmap) { L_INT nRet; L_BOOL bAvailable; HTWAINSESSION hSession = NULL; APPLICATIONDATA AppData; /* Check to see if TWAIN is installed */ bAvailable = L_IsTwainAvailable(hWnd); if (bAvailable) { AppData.hWnd = hWnd; lstrcpy (AppData.szManufacturerName, TEXT("LEAD Technologies, Inc.")); lstrcpy (AppData.szAppProductFamily, TEXT("LEAD Test Applications")); lstrcpy (AppData.szVersionInfo, TEXT("Version 1.0")); lstrcpy (AppData.szAppName, TEXT("TWAIN Test Application")); nRet = L_TwainInitSession2(&hSession, &AppData, LTWAIN_INIT_MULTI_THREADED); if (nRet != SUCCESS) return nRet; nRet = L_TwainAcquireList(hSession, hBitmap, NULL, LTWAIN_SHOW_USER_INTERFACE); if(nRet != SUCCESS) return nRet; nRet = L_TwainEndSession(&hSession); if(nRet != SUCCESS) return nRet; } return SUCCESS; }