/*[]=====================================================================[]*/ /*[] LeadTools Run Time Library - Version 14 []*/ /*[] []*/ /*[] []*/ /*[] Copyright (c) 1991-2005 by LEAD Technologies, Inc. []*/ /*[] All Rights Reserved. []*/ /*[]=====================================================================[]*/ #define STRICT #include #include #include "Twain.h" #include L_VOID InitCapabilityDlg(HWND hDlg); L_VOID FillCapabilityName(HWND hWndCtl, L_UINT uCap); L_INT nCapsCount = 0; L_INT nAvailableCapsCount = 0; L_BOOL CALLBACK CapabilityDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { UNREFERENCED_PARAMETER(lParam); switch (message) { case WM_INITDIALOG: InitCapabilityDlg(hDlg); return(TRUE); case WM_COMMAND: switch (LOWORD(wParam)) { case IDOK: case IDCANCEL: EndDialog(hDlg, 0); return TRUE; } } return(FALSE); } L_VOID InitCapabilityDlg(HWND hDlg) { L_INT nRet = TWAIN_SUCCESS; TW_CAPABILITY twCap; L_TwainStartCapsNeg(g_hTwain); memset(&twCap, 0, sizeof(TW_CAPABILITY)); twCap.Cap = CAP_SUPPORTEDCAPS; twCap.ConType = TWON_ARRAY; nRet = L_TwainGetCapability(g_hTwain, &twCap, LTWAIN_CAPABILITY_GETVALUES); if (nRet != TWAIN_SUCCESS) { L_TCHAR szError[L_MAX_PATH]; memset(szError, 0, sizeof(szError)); wsprintf(szError, TEXT("Error occurred when calling L_TwainGetCapability, nRet = %d"), nRet); AddErrorToErrorList(szError); L_TwainEndCapsNeg(g_hTwain); return; } pTW_ARRAY pArray = NULL; pTW_ENUMERATION pEnum = NULL; pTW_UINT16 puCap = NULL; switch (twCap.ConType) { case TWON_ARRAY: pArray = (pTW_ARRAY)GlobalLock(twCap.hContainer); nCapsCount = pArray->NumItems; puCap = (pTW_UINT16)&pArray->ItemList; break; case TWON_ENUMERATION: pEnum = (pTW_ENUMERATION)GlobalLock(twCap.hContainer); nCapsCount = pEnum->NumItems; puCap = (pTW_UINT16)&pEnum->ItemList; break; } HWND hWndCtl = GetDlgItem(hDlg, IDC_LIST_SUPPORTED_CAPS); nAvailableCapsCount = nCapsCount; for (int i=0; i