L_TwainAddCapabilityToFile
#include "lttwn.h"
L_LTTWN_API L_INT L_TwainAddCapabilityToFile (hSession, hFile, pCapability )
HTWAINSESSION hSession; |
/* handle to an existing TWAIN session */ |
HTWAINTEMPLATEFILE hFile; |
/* handle to an existing template file */ |
pTW_CAPABILITY pCapability ; |
/* pointer to a structure */ |
Adds a capability to a file.
Parameter |
Description |
hSession |
Handle to an existing TWAIN session. This handle is obtained by calling the L_TwainInitSession function. |
hFile |
Handle to an existing template file. |
pCapability |
Pointer to a structure that contains the capability to add. |
Returns
SUCCESS |
The function was successful. |
! = SUCCESS |
An error occurred. Refer to Return Codes. |
Comments
In order to add a capability to a template file, the template file must first be opened for writing using the L_TwainOpenTemplateFile. Opening the file for writing will create a new empty file. The process of adding capabilities to the file will add them sequentially. When all capabilities have been added, save the file by calling L_TwainCloseTemplateFile. For more information on capabilities, refer to Getting and Setting Capabilities.
For more information on Template files, refer to Handling Template Files.
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_TwainOpenTemplateFile, L_TwainTemplateDlg, L_TwainGetCapabilityFromFile, L_TwainGetNumOfCapsInFile, L_TwainCloseTemplateFile, L_TwainInitSession, L_TwainEndSession. |
Topics: |
|
|
Example
L_INT CALLBACK SaveCapsCB (HTWAINSESSION hSession, L_UINT uCap, pTW_CAPABILITY pCapability, L_VOID * pUserData) { UNREFERENCED_PARAMETER(uCap); L_INT nRet; HTWAINTEMPLATEFILE hFile = NULL; if (!pUserData) return SUCCESS; hFile = (HTWAINTEMPLATEFILE)pUserData; if (!pCapability) return SUCCESS; if (!pCapability->hContainer) GlobalFreePtr (pCapability); nRet = L_TwainAddCapabilityToFile (hSession, hFile, pCapability); if (nRet != SUCCESS) return nRet; GlobalFree (pCapability->hContainer); GlobalFreePtr (pCapability); return SUCCESS; } L_INT TwainAddCapabilityToFileExample(HWND hDlg, // Parent dialog handle HTWAINTEMPLATEFILE hFile, HTWAINSESSION g_hSession) { L_INT nRet; OPENFILENAME ofn; L_TCHAR szFilePath[MAX_PATH]; memset (&ofn, 0, sizeof(OPENFILENAME)); memset (szFilePath, 0, MAX_PATH); ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = hDlg; ofn.lpstrFile = szFilePath; ofn.nMaxFile = MAX_PATH; ofn.lpstrTitle = TEXT("Save Template File"); if (GetSaveFileName (&ofn)) { nRet = L_TwainOpenTemplateFile (g_hSession, &hFile, szFilePath, LTWAIN_TEMPLATE_OPEN_WRITE); if (nRet == SUCCESS) { nRet = L_TwainEnumCapabilities (g_hSession, SaveCapsCB, LTWAIN_CAPABILITY_GETCURRENT, hFile); if(nRet != SUCCESS) return nRet; nRet = L_TwainCloseTemplateFile (g_hSession, hFile); if(nRet != SUCCESS) return nRet; } else return nRet; } return SUCCESS; }