--  dtwain.lua
-- 
--  This file is part of the Dynarithmic TWAIN Library (DTWAIN).                          
--  Copyright (c) 2002-2026 Dynarithmic Software.                                         
--                                                                                        
--  Licensed under the Apache License, Version 2.0 (the "License");                       
--  you may not use this file except in compliance with the License.                      
--  You may obtain a copy of the License at                                               
--                                                                                        
--      http://www.apache.org/licenses/LICENSE-2.0                                        
--                                                                                        
--  Unless required by applicable law or agreed to in writing, software                   
--  distributed under the License is distributed on an "AS IS" BASIS,                     
--  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.              
--  See the License for the specific language governing permissions and                   
--  limitations under the License.                                                        
--                                                                                        
--  FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY                   
--  DYNARITHMIC SOFTWARE. DYNARITHMIC SOFTWARE DISCLAIMS THE WARRANTY OF NON INFRINGEMENT 
--  OF THIRD PARTY RIGHTS.                                                                


function load32bitAnsi(DLLToLoad)
  local ffi = require("ffi")
  ffi.cdef [[
        typedef void* HWND;
        typedef unsigned int UINT;
        typedef unsigned long WPARAM;
        typedef unsigned long LPARAM;
        typedef int DTWAIN_BOOL;
        typedef int BOOL;
        typedef void* DTWAIN_SOURCE;
        typedef void* DTWAIN_HANDLE;
        typedef void* DTWAIN_OCRTEXTINFOHANDLE;
        typedef void* HINSTANCE;
        typedef void* DTWAIN_ARRAY;
        typedef void* LPVOID;
        typedef const char* LPCSTR;
        typedef const wchar_t* LPCWSTR;
        typedef char * LPSTR;
        typedef wchar_t * LPWSTR;
        typedef double DTWAIN_FLOAT;
        typedef double *LPDTWAIN_FLOAT;
        typedef void** LPDTWAIN_ARRAY;
        typedef void* DTWAIN_FRAME;
        typedef void* DTWAIN_RANGE;
        typedef const char * LPCTSTR;
        typedef char * LPTSTR;
        typedef LPTSTR DTWAIN_CHARPTRTYPE;
        typedef LPCTSTR DTWAIN_CCHARPTRTYPE;
        typedef long DWORD;
        typedef uint64_t ULONG64;
        typedef int64_t LONG64;
        typedef int64_t LONGLONG;
        typedef int64_t * LPLONG64;
        typedef unsigned long LPDWORD;
        typedef void * HANDLE;
        typedef void * DTWAIN_PDFTEXTELEMENT;
        typedef void * DTWAIN_IDENTITY;
        typedef void * DTWAIN_OCRENGINE;
        typedef long * LPLONG;
        typedef long LONG;
        typedef long DTWAIN_LONG;
        typedef int64_t DTWAIN_LONG64;
        typedef void * TWAIN_IDENTITY;
        typedef void * DTWAIN_MEMORY_PTR;
        typedef int32_t LRESULT;
        typedef int32_t LONG_PTR;
        typedef unsigned char BYTE;
        typedef BYTE* LPBYTE;
        typedef const BYTE* LPCBYTE;
        typedef void (*DTWAIN_CALLBACK)(DTWAIN_HANDLE, DTWAIN_SOURCE, WPARAM, LPARAM);
        typedef LRESULT(__stdcall * DTWAIN_CALLBACK_PROC)(WPARAM, LPARAM, LONG);
        typedef LRESULT(__stdcall * DTWAIN_CALLBACK_PROC64)(WPARAM, LPARAM, LONGLONG);typedef HANDLE(__stdcall * DTWAIN_DIBUPDATE_PROC)(DTWAIN_SOURCE, LONG, HANDLE);
        typedef LRESULT(__stdcall * DTWAIN_LOGGER_PROC)(LPCTSTR, DTWAIN_LONG64);
        typedef LRESULT(__stdcall * DTWAIN_LOGGER_PROCA)(LPCSTR, DTWAIN_LONG64);
        typedef LRESULT(__stdcall * DTWAIN_LOGGER_PROCW)(LPCWSTR, DTWAIN_LONG64);
        typedef LRESULT(__stdcall * DTWAIN_ERROR_PROC)(LONG, LONG);
        typedef LRESULT(__stdcall * DTWAIN_ERROR_PROC64)(LONG, LONG64);
        DTWAIN_BOOL DTWAIN_AcquireAudioFile(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpszFile, LONG lFileFlags, LONG lMaxClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioFileA(DTWAIN_SOURCE Source, LPCSTR lpszFile, LONG lFileFlags, LONG lNumClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioFileW(DTWAIN_SOURCE Source, LPCWSTR lpszFile, LONG lFileFlags, LONG lNumClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireAudioNative(DTWAIN_SOURCE Source, LONG nMaxAudioClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioNativeEx(DTWAIN_SOURCE Source, LONG nMaxAudioClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireBuffered(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireBufferedEx(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFile(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileA(DTWAIN_SOURCE Source, LPCSTR lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileEx(DTWAIN_SOURCE Source, DTWAIN_ARRAY aFileNames, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileW(DTWAIN_SOURCE Source, LPCWSTR lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireNative(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireNativeEx(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireToClipboard(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, LONG nTransferMode, DTWAIN_BOOL bDiscardDibs, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AddExtImageInfoQuery(DTWAIN_SOURCE Source, LONG ExtImageInfo);
        DTWAIN_BOOL DTWAIN_AddPDFText(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextElement(DTWAIN_SOURCE Source, DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_AddPDFTextEx(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextExA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextExW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_CCHARPTRTYPE fontSize, LONG colorRGB, LONG renderMode, DTWAIN_CCHARPTRTYPE scaling, DTWAIN_CCHARPTRTYPE charSpacing, DTWAIN_CCHARPTRTYPE wordSpacing, DTWAIN_CCHARPTRTYPE strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextStringA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, LPCSTR fontSize, LONG colorRGB, LONG renderMode, LPCSTR scaling, LPCSTR charSpacing, LPCSTR wordSpacing, LPCSTR strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextStringW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, LPCWSTR fontSize, LONG colorRGB, LONG renderMode, LPCWSTR scaling, LPCWSTR charSpacing, LPCWSTR wordSpacing, LPCWSTR strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        HANDLE DTWAIN_AllocateMemory(DWORD memSize);
        HANDLE DTWAIN_AllocateMemory64(ULONG64 memSize);
        HANDLE DTWAIN_AllocateMemoryEx(DWORD memSize);
        DTWAIN_BOOL DTWAIN_AppHandlesExceptions(DTWAIN_BOOL bSet);
        DTWAIN_ARRAY DTWAIN_ArrayANSIStringToFloat(DTWAIN_ARRAY StringArray);
        DTWAIN_BOOL DTWAIN_ArrayAdd(DTWAIN_ARRAY pArray, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayAddANSIString(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddANSIStringN(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloat(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatN(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringA(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringN(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringNA(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringNW(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringW(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFrame(DTWAIN_ARRAY pArray, DTWAIN_FRAME frame);
        DTWAIN_BOOL DTWAIN_ArrayAddFrameN(DTWAIN_ARRAY pArray, DTWAIN_FRAME frame, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddLong(DTWAIN_ARRAY pArray, LONG Val);
        DTWAIN_BOOL DTWAIN_ArrayAddLong64(DTWAIN_ARRAY pArray, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArrayAddLong64N(DTWAIN_ARRAY pArray, LONG64 Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddLongN(DTWAIN_ARRAY pArray, LONG Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddN(DTWAIN_ARRAY pArray, LPVOID pVariant, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayAddStringA(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddStringN(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringNA(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringNW(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringW(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddWideString(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddWideStringN(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_ARRAY DTWAIN_ArrayConvertFix32ToFloat(DTWAIN_ARRAY Fix32Array);
        DTWAIN_ARRAY DTWAIN_ArrayConvertFloatToFix32(DTWAIN_ARRAY FloatArray);
        DTWAIN_BOOL DTWAIN_ArrayCopy(DTWAIN_ARRAY Source, DTWAIN_ARRAY Dest);
        DTWAIN_ARRAY DTWAIN_ArrayCreate(LONG nEnumType, LONG nInitialSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateCopy(DTWAIN_ARRAY Source);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromCap(DTWAIN_SOURCE Source, LONG lCapType, LONG lSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromLong64s(LPLONG64 pCArray, LONG nSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromLongs(LPLONG pCArray, LONG nSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromReals(double* pCArray, LONG nSize);
        DTWAIN_BOOL DTWAIN_ArrayDestroy(DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_ArrayDestroyFrames(DTWAIN_ARRAY FrameArray);
        DTWAIN_BOOL DTWAIN_ArrayDumpToLog(DTWAIN_ARRAY pArray);
        LONG DTWAIN_ArrayFind(DTWAIN_ARRAY pArray, LPVOID pVariant);
        LONG DTWAIN_ArrayFindANSIString(DTWAIN_ARRAY pArray, LPCSTR pString);
        LONG DTWAIN_ArrayFindFloat(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val, DTWAIN_FLOAT Tolerance);
        LONG DTWAIN_ArrayFindFloatString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, DTWAIN_CCHARPTRTYPE Tolerance);
        LONG DTWAIN_ArrayFindFloatStringA(DTWAIN_ARRAY pArray, LPCSTR Val, LPCSTR Tolerance);
        LONG DTWAIN_ArrayFindFloatStringW(DTWAIN_ARRAY pArray, LPCWSTR Val, LPCWSTR Tolerance);
        LONG DTWAIN_ArrayFindLong(DTWAIN_ARRAY pArray, LONG Val);
        LONG DTWAIN_ArrayFindLong64(DTWAIN_ARRAY pArray, LONG64 Val);
        LONG DTWAIN_ArrayFindString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE pString);
        LONG DTWAIN_ArrayFindStringA(DTWAIN_ARRAY pArray, LPCSTR pString);
        LONG DTWAIN_ArrayFindStringW(DTWAIN_ARRAY pArray, LPCWSTR pString);
        LONG DTWAIN_ArrayFindWideString(DTWAIN_ARRAY pArray, LPCWSTR pString);
        DTWAIN_BOOL DTWAIN_ArrayFix32GetAt(DTWAIN_ARRAY aFix32, DTWAIN_LONG lPos, LPLONG Whole, LPLONG Frac);
        DTWAIN_BOOL DTWAIN_ArrayFix32SetAt(DTWAIN_ARRAY aFix32, DTWAIN_LONG lPos, DTWAIN_LONG Whole, DTWAIN_LONG Frac);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToANSIString(DTWAIN_ARRAY FloatArray);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToString(DTWAIN_ARRAY FloatArray);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToWideString(DTWAIN_ARRAY FloatArray);
        DTWAIN_BOOL DTWAIN_ArrayGetAt(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayGetAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR pStr);
        LPCSTR DTWAIN_ArrayGetAtANSIStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, LPDTWAIN_FLOAT pVal);
        DTWAIN_FLOAT DTWAIN_ArrayGetAtFloatEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrame(DTWAIN_ARRAY FrameArray, LONG nWhere, LPDTWAIN_FLOAT pleft, LPDTWAIN_FLOAT ptop, LPDTWAIN_FLOAT pright, LPDTWAIN_FLOAT pbottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameEx(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameString(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_CHARPTRTYPE left, DTWAIN_CHARPTRTYPE top, DTWAIN_CHARPTRTYPE right, DTWAIN_CHARPTRTYPE bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameStringA(DTWAIN_ARRAY FrameArray, LONG nWhere, LPSTR left, LPSTR top, LPSTR right, LPSTR bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameStringW(DTWAIN_ARRAY FrameArray, LONG nWhere, LPWSTR left, LPWSTR top, LPWSTR right, LPWSTR bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_ArrayGetAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LPLONG64 pVal);
        LONG64 DTWAIN_ArrayGetAtLong64Ex(DTWAIN_ARRAY pArray, LONG nWhere);
        LONG DTWAIN_ArrayGetAtLongEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtSource(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_SOURCE* ppSource);
        DTWAIN_SOURCE DTWAIN_ArrayGetAtSourceEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CHARPTRTYPE pStr);
        DTWAIN_BOOL DTWAIN_ArrayGetAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR pStr);
        LPCTSTR DTWAIN_ArrayGetAtStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR pStr);
        DTWAIN_BOOL DTWAIN_ArrayGetAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR pStr);
        LPCWSTR DTWAIN_ArrayGetAtWideStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        LPVOID DTWAIN_ArrayGetBuffer(DTWAIN_ARRAY pArray, LONG nPos);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LONG nDataType);
        LONG DTWAIN_ArrayGetCount(DTWAIN_ARRAY pArray);
        LONG DTWAIN_ArrayGetMaxStringLength(DTWAIN_ARRAY a);
        DTWAIN_BOOL DTWAIN_ArrayGetSourceAt(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_SOURCE* ppSource);
        LONG DTWAIN_ArrayGetStringLength(DTWAIN_ARRAY a, LONG nWhichString);
        LONG DTWAIN_ArrayGetType(DTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_ArrayInit();
        DTWAIN_BOOL DTWAIN_ArrayInsertAt(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtANSIStringN(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringNA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringNW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFrame(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FRAME frame);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFrameN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FRAME frame, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong64N(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLongN(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtN(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringNA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringNW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtWideStringN(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAll(DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAt(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAtN(DTWAIN_ARRAY pArray, LONG nWhere, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayResize(DTWAIN_ARRAY pArray, LONG NewSize);
        DTWAIN_BOOL DTWAIN_ArraySetAt(DTWAIN_ARRAY pArray, LONG lPos, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArraySetAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrame(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FLOAT left, DTWAIN_FLOAT top, DTWAIN_FLOAT right, DTWAIN_FLOAT bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameEx(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameString(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_CCHARPTRTYPE left, DTWAIN_CCHARPTRTYPE top, DTWAIN_CCHARPTRTYPE right, DTWAIN_CCHARPTRTYPE bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameStringA(DTWAIN_ARRAY FrameArray, LONG nWhere, LPCSTR left, LPCSTR top, LPCSTR right, LPCSTR bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameStringW(DTWAIN_ARRAY FrameArray, LONG nWhere, LPCWSTR left, LPCWSTR top, LPCWSTR right, LPCWSTR bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal);
        DTWAIN_BOOL DTWAIN_ArraySetAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pStr);
        DTWAIN_ARRAY DTWAIN_ArrayStringToFloat(DTWAIN_ARRAY StringArray);
        DTWAIN_ARRAY DTWAIN_ArrayWideStringToFloat(DTWAIN_ARRAY StringArray);
        LONG DTWAIN_CallCallback(WPARAM wParam, LPARAM lParam, LONG UserData);
        LONG DTWAIN_CallCallback64(WPARAM wParam, LPARAM lParam, LONGLONG UserData);
        LONG DTWAIN_CallDSMProc(DTWAIN_IDENTITY AppID, DTWAIN_IDENTITY SourceId, LONG lDG, LONG lDAT, LONG lMSG, LPVOID pData);
        DTWAIN_BOOL DTWAIN_CheckHandles(DTWAIN_BOOL bCheck);
        DTWAIN_BOOL DTWAIN_ClearBuffers(DTWAIN_SOURCE Source, LONG ClearBuffer);
        DTWAIN_BOOL DTWAIN_ClearErrorBuffer();
        DTWAIN_BOOL DTWAIN_ClearPDFTextElements(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_ClearPage(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_CloseSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_CloseSourceUI(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_ConvertDIBToBitmap(HANDLE hDib, HANDLE hPalette);
        HANDLE DTWAIN_ConvertDIBToFullBitmap(HANDLE hDib, DTWAIN_BOOL isBMP);
        HANDLE DTWAIN_ConvertToAPIString(DTWAIN_CCHARPTRTYPE lpOrigString);
        HANDLE DTWAIN_ConvertToAPIStringA(LPCSTR lpOrigString);
        LONG DTWAIN_ConvertToAPIStringEx(DTWAIN_CCHARPTRTYPE lpOrigString, DTWAIN_CHARPTRTYPE lpOutString, LONG nSize);
        LONG DTWAIN_ConvertToAPIStringExA(LPCSTR lpOrigString, LPSTR lpOutString, LONG nSize);
        LONG DTWAIN_ConvertToAPIStringExW(LPCWSTR lpOrigString, LPWSTR lpOutString, LONG nSize);
        HANDLE DTWAIN_ConvertToAPIStringW(LPCWSTR lpOrigString);
        DTWAIN_ARRAY DTWAIN_CreateAcquisitionArray();
        DTWAIN_PDFTEXTELEMENT DTWAIN_CreatePDFTextElement();
        DTWAIN_PDFTEXTELEMENT DTWAIN_CreatePDFTextElementCopy(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_DeleteDIB(HANDLE hDib);
        DTWAIN_BOOL DTWAIN_DestroyAcquisitionArray(DTWAIN_ARRAY aAcq, DTWAIN_BOOL bDestroyData);
        DTWAIN_BOOL DTWAIN_DestroyPDFTextElement(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_DisableAppWindow(HWND hWnd, DTWAIN_BOOL bDisable);
        DTWAIN_BOOL DTWAIN_EnableAutoBorderDetect(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutoBright(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoDeskew(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutoFeed(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoRotate(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoScan(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutomaticSenseMedium(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableBarcodeDetection(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableDuplex(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableFeeder(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableGetMessageLoop(DTWAIN_SOURCE Source, BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableGetMessageLoopDetection(DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableIndicator(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableJobFileHandling(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableLamp(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableMsgNotify(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnablePatchcodeDetection(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnablePeekMessageLoop(DTWAIN_SOURCE Source, BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnablePrinter(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableThumbnail(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableTripletsNotify(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EndThread(DTWAIN_HANDLE DLLHandle);
        DTWAIN_BOOL DTWAIN_EndTwainSession();
        DTWAIN_BOOL DTWAIN_EnumAlarmVolumes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL expandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumAlarmVolumesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL expandIfRange);
        DTWAIN_BOOL DTWAIN_EnumAlarms(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAlarmsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAudioXferMechs(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAudioXferMechsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAutoFeedValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAutoFeedValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAutomaticCaptures(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumAutomaticCapturesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumAutomaticSenseMedium(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAutomaticSenseMediumEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeCodes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY PCodes);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeCodesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeMaxPriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeMaxPrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeMaxRetries(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeMaxRetriesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodePrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeSearchModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeSearchModesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeTimeOutValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeTimeOutValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBitDepths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBitDepthsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumBitDepthsEx2(DTWAIN_SOURCE Source, LONG PixelType);
        DTWAIN_BOOL DTWAIN_EnumBottomCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumBottomCamerasEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumBrightnessValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumBrightnessValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumCamerasEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumCamerasEx2(DTWAIN_SOURCE Source, LONG nWhichCamera);
        DTWAIN_ARRAY DTWAIN_EnumCapLabels(LONG lCapability);
        DTWAIN_BOOL DTWAIN_EnumCompressionTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumCompressionTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumCompressionTypesEx2(DTWAIN_SOURCE Source, LONG lFileType, DTWAIN_BOOL bUseBufferedMode);
        LONG DTWAIN_EnumContrastValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumContrastValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumCustomCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumCustomCapsEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumDoubleFeedDetectLengths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumDoubleFeedDetectLengthsEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumDoubleFeedDetectValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumDoubleFeedDetectValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumExtImageInfoTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumExtImageInfoTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumExtendedCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumExtendedCapsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumExtendedCapsEx2(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumFileTypeBitsPerPixel(LONG FileType, LPDTWAIN_ARRAY Array);
        DTWAIN_BOOL DTWAIN_EnumFileXferFormats(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumFileXferFormatsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumHalftones(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumHalftonesEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumHighlightValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumHighlightValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumJobControls(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumJobControlsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumLightPaths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightPath);
        DTWAIN_ARRAY DTWAIN_EnumLightPathsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumLightSources(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightSources);
        DTWAIN_ARRAY DTWAIN_EnumLightSourcesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumMaxBuffers(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pMaxBufs, DTWAIN_BOOL bExpandRange);
        DTWAIN_ARRAY DTWAIN_EnumMaxBuffersEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandRange);
        DTWAIN_BOOL DTWAIN_EnumNoiseFilters(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumNoiseFiltersEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumOCRInterfaces(LPDTWAIN_ARRAY OCRInterfaces);
        DTWAIN_ARRAY DTWAIN_EnumOCRInterfacesEx();
        DTWAIN_BOOL DTWAIN_EnumOCRSupportedCaps(DTWAIN_OCRENGINE Engine, LPDTWAIN_ARRAY SupportedCaps);
        DTWAIN_BOOL DTWAIN_EnumOrientations(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumOrientationsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumOverscanValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumOverscanValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPaperSizes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPaperSizesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeCodes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY PCodes);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeCodesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeMaxPrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeMaxRetries(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeMaxRetriesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodePrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeSearchModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeSearchModesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeTimeOutValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeTimeOutValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPixelTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPixelTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPrinterStringModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPrinterStringModesEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumShadowValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumShadowValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceUnits(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY lpArray);
        DTWAIN_ARRAY DTWAIN_EnumSourceUnitsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumSourceValues(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceValuesA(DTWAIN_SOURCE Source, LPCSTR capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceValuesW(DTWAIN_SOURCE Source, LPCWSTR capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSources(LPDTWAIN_ARRAY lpArray);
        DTWAIN_ARRAY DTWAIN_EnumSourcesEx();
        DTWAIN_BOOL DTWAIN_EnumSupportedCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumSupportedCapsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumSupportedCapsEx2(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumSupportedExtImageInfo(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumSupportedExtImageInfoEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumSupportedFileTypes();
        DTWAIN_ARRAY DTWAIN_EnumSupportedMultiPageFileTypes();
        DTWAIN_ARRAY DTWAIN_EnumSupportedSinglePageFileTypes();
        LONG DTWAIN_EnumThresholdValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumThresholdValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumTopCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumTopCamerasEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumTwainPrinters(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY lpAvailPrinters);
        DTWAIN_ARRAY DTWAIN_EnumTwainPrintersEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumXResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumXResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumYResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumYResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_ExecuteOCR(DTWAIN_OCRENGINE Engine, DTWAIN_CCHARPTRTYPE szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_ExecuteOCRA(DTWAIN_OCRENGINE Engine, LPCSTR szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_ExecuteOCRW(DTWAIN_OCRENGINE Engine, LPCWSTR szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_FeedPage(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_FlipBitmap(HANDLE hDib);
        DTWAIN_BOOL DTWAIN_FlushAcquiredPages(DTWAIN_SOURCE Source);
        DTWAIN_FRAME DTWAIN_FrameCreate(DTWAIN_FLOAT Left, DTWAIN_FLOAT Top, DTWAIN_FLOAT Right, DTWAIN_FLOAT Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateString(DTWAIN_CCHARPTRTYPE Left, DTWAIN_CCHARPTRTYPE Top, DTWAIN_CCHARPTRTYPE Right, DTWAIN_CCHARPTRTYPE Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateStringA(LPCSTR Left, LPCSTR Top, LPCSTR Right, LPCSTR Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateStringW(LPCWSTR Left, LPCWSTR Top, LPCWSTR Right, LPCWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameDestroy(DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_FrameGetAll(DTWAIN_FRAME Frame, LPDTWAIN_FLOAT Left, LPDTWAIN_FLOAT Top, LPDTWAIN_FLOAT Right, LPDTWAIN_FLOAT Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllString(DTWAIN_FRAME Frame, DTWAIN_CHARPTRTYPE Left, DTWAIN_CHARPTRTYPE Top, DTWAIN_CHARPTRTYPE Right, DTWAIN_CHARPTRTYPE Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllStringA(DTWAIN_FRAME Frame, LPSTR Left, LPSTR Top, LPSTR Right, LPSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllStringW(DTWAIN_FRAME Frame, LPWSTR Left, LPWSTR Top, LPWSTR Right, LPWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetValue(DTWAIN_FRAME Frame, LONG nWhich, LPDTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueString(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_CHARPTRTYPE Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueStringA(DTWAIN_FRAME Frame, LONG nWhich, LPSTR Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueStringW(DTWAIN_FRAME Frame, LONG nWhich, LPWSTR Value);
        DTWAIN_BOOL DTWAIN_FrameIsValid(DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_FrameSetAll(DTWAIN_FRAME Frame, DTWAIN_FLOAT Left, DTWAIN_FLOAT Top, DTWAIN_FLOAT Right, DTWAIN_FLOAT Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllString(DTWAIN_FRAME Frame, DTWAIN_CCHARPTRTYPE Left, DTWAIN_CCHARPTRTYPE Top, DTWAIN_CCHARPTRTYPE Right, DTWAIN_CCHARPTRTYPE Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllStringA(DTWAIN_FRAME Frame, LPCSTR Left, LPCSTR Top, LPCSTR Right, LPCSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllStringW(DTWAIN_FRAME Frame, LPCWSTR Left, LPCWSTR Top, LPCWSTR Right, LPCWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetValue(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueString(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_CCHARPTRTYPE Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueStringA(DTWAIN_FRAME Frame, LONG nWhich, LPCSTR Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueStringW(DTWAIN_FRAME Frame, LONG nWhich, LPCWSTR Value);
        DTWAIN_BOOL DTWAIN_FreeExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_FreeMemory(HANDLE h);
        DTWAIN_BOOL DTWAIN_FreeMemoryEx(HANDLE h);
        LONG DTWAIN_GetAPIHandleStatus(DTWAIN_HANDLE pHandle);
        DTWAIN_BOOL DTWAIN_GetAcquireArea(DTWAIN_SOURCE Source, LONG lGetType, LPDTWAIN_ARRAY FloatEnum);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT left, LPDTWAIN_FLOAT top, LPDTWAIN_FLOAT right, LPDTWAIN_FLOAT bottom, LPLONG lpUnit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2String(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE left, DTWAIN_CHARPTRTYPE top, DTWAIN_CHARPTRTYPE right, DTWAIN_CHARPTRTYPE bottom, LPLONG Unit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2StringA(DTWAIN_SOURCE Source, LPSTR left, LPSTR top, LPSTR right, LPSTR bottom, LPLONG Unit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2StringW(DTWAIN_SOURCE Source, LPWSTR left, LPWSTR top, LPWSTR right, LPWSTR bottom, LPLONG Unit);
        DTWAIN_ARRAY DTWAIN_GetAcquireAreaEx(DTWAIN_SOURCE Source, LONG lGetType);
        DTWAIN_BOOL DTWAIN_GetAcquireMetrics(DTWAIN_SOURCE source, LPLONG ImageCount, LPLONG SheetCount);
        HANDLE DTWAIN_GetAcquireStripBuffer(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetAcquireStripData(DTWAIN_SOURCE Source, LPLONG lpCompression, LPDWORD lpBytesPerRow, LPDWORD lpColumns, LPDWORD lpRows, LPDWORD XOffset, LPDWORD YOffset, LPDWORD lpBytesWritten);
        DTWAIN_BOOL DTWAIN_GetAcquireStripSizes(DTWAIN_SOURCE Source, LPDWORD lpMin, LPDWORD lpMax, LPDWORD lpPreferred);
        HANDLE DTWAIN_GetAcquiredImage(DTWAIN_ARRAY aAcq, LONG nWhichAcq, LONG nWhichDib);
        DTWAIN_ARRAY DTWAIN_GetAcquiredImageArray(DTWAIN_ARRAY aAcq, LONG nWhichAcq);
        DTWAIN_ARRAY DTWAIN_GetAcquisitionArray(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetActiveDSMPath(DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMPathA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMPathW(LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfo(DTWAIN_CHARPTRTYPE szDLLInfo, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfoA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfoW(LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetAlarmVolume(DTWAIN_SOURCE Source, LPLONG lpVolume);
        DTWAIN_ARRAY DTWAIN_GetAllSourceDibs(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetAppInfo(DTWAIN_CHARPTRTYPE szVerStr, DTWAIN_CHARPTRTYPE szManu, DTWAIN_CHARPTRTYPE szProdFam, DTWAIN_CHARPTRTYPE szProdName);
        DTWAIN_BOOL DTWAIN_GetAppInfoA(LPSTR szVerStr, LPSTR szManu, LPSTR szProdFam, LPSTR szProdName);
        DTWAIN_BOOL DTWAIN_GetAppInfoW(LPWSTR szVerStr, LPWSTR szManu, LPWSTR szProdFam, LPWSTR szProdName);
        DTWAIN_BOOL DTWAIN_GetAuthor(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szAuthor);
        DTWAIN_BOOL DTWAIN_GetAuthorA(DTWAIN_SOURCE Source, LPSTR szAuthor);
        DTWAIN_BOOL DTWAIN_GetAuthorW(DTWAIN_SOURCE Source, LPWSTR szAuthor);
        DTWAIN_BOOL DTWAIN_GetBarcodeMaxPriorities(DTWAIN_SOURCE Source, LPLONG pMaxPriorities, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodeMaxRetries(DTWAIN_SOURCE Source, LPLONG pMaxRetries, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_GetBarcodeSearchMode(DTWAIN_SOURCE Source, LPLONG pSearchMode, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodeTimeOut(DTWAIN_SOURCE Source, LPLONG pTimeOut, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBatteryMinutes(DTWAIN_SOURCE Source, LPLONG lpMinutes);
        DTWAIN_BOOL DTWAIN_GetBatteryPercent(DTWAIN_SOURCE Source, LPLONG lpPercent);
        DTWAIN_BOOL DTWAIN_GetBitDepth(DTWAIN_SOURCE Source, LPLONG BitDepth, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetBitDepthEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetBlankPageAutoDetection(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetBrightness(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Brightness);
        DTWAIN_FLOAT DTWAIN_GetBrightnessEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetBrightnessString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Brightness);
        DTWAIN_BOOL DTWAIN_GetBrightnessStringA(DTWAIN_SOURCE Source, LPSTR Contrast);
        DTWAIN_BOOL DTWAIN_GetBrightnessStringW(DTWAIN_SOURCE Source, LPWSTR Contrast);
        HANDLE DTWAIN_GetBufferedTransferInfo(DTWAIN_SOURCE Source, LPDWORD Compression, LPDWORD BytesPerRow, LPDWORD Columns, LPDWORD Rows, LPDWORD XOffset, LPDWORD YOffset, LPDWORD Flags, LPDWORD BytesWritten, LPDWORD MemoryLength);
        DTWAIN_CALLBACK_PROC DTWAIN_GetCallback();
        DTWAIN_CALLBACK_PROC64 DTWAIN_GetCallback64();
        LONG DTWAIN_GetCapArrayType(DTWAIN_SOURCE Source, LONG nCap);
        LONG DTWAIN_GetCapContainer(DTWAIN_SOURCE Source, LONG nCap, LONG lCapType);
        LONG DTWAIN_GetCapContainerEx(LONG nCap, DTWAIN_BOOL bSetContainer, LPDTWAIN_ARRAY ConTypes);
        DTWAIN_ARRAY DTWAIN_GetCapContainerEx2(LONG nCap, DTWAIN_BOOL bSetContainer);
        LONG DTWAIN_GetCapDataType(DTWAIN_SOURCE Source, LONG nCap);
        LONG DTWAIN_GetCapFromName(DTWAIN_CCHARPTRTYPE szName);
        LONG DTWAIN_GetCapFromNameA(LPCSTR szName);
        LONG DTWAIN_GetCapFromNameW(LPCWSTR szName);
        LONG DTWAIN_GetCapHelp(LONG lCapability, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetCapHelpA(LONG lCapability, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapHelpW(LONG lCapability, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabel(LONG lCapability, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabelA(LONG lCapability, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabelW(LONG lCapability, LPWSTR lpszOut, LONG nnSize);
        DTWAIN_BOOL DTWAIN_GetCapOperations(DTWAIN_SOURCE Source, LONG lCapability, LPLONG lpOps);
        LONG DTWAIN_GetCapOperationsEx(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_GetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LONG nDataType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCaption(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Caption);
        DTWAIN_BOOL DTWAIN_GetCaptionA(DTWAIN_SOURCE Source, LPSTR Caption);
        DTWAIN_BOOL DTWAIN_GetCaptionW(DTWAIN_SOURCE Source, LPWSTR Caption);
        DTWAIN_BOOL DTWAIN_GetCompressionSize(DTWAIN_SOURCE Source, LPLONG lBytes);
        DTWAIN_BOOL DTWAIN_GetCompressionType(DTWAIN_SOURCE Source, LPLONG lpCompression, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetCompressionTypeEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetConditionCodeString(LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConditionCodeStringA(LONG lError, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConditionCodeStringW(LONG lError, LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConstantFromTwainName(DTWAIN_CCHARPTRTYPE lpszBuffer);
        LONG DTWAIN_GetConstantFromTwainNameA(LPCSTR lpszBuffer);
        LONG DTWAIN_GetConstantFromTwainNameW(LPCWSTR lpszBuffer);
        DTWAIN_BOOL DTWAIN_GetContrast(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Contrast);
        DTWAIN_FLOAT DTWAIN_GetContrastEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetContrastString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Contrast);
        DTWAIN_BOOL DTWAIN_GetContrastStringA(DTWAIN_SOURCE Source, LPSTR Contrast);
        DTWAIN_BOOL DTWAIN_GetContrastStringW(DTWAIN_SOURCE Source, LPWSTR Contrast);
        LONG DTWAIN_GetCountry();
        HANDLE DTWAIN_GetCurrentAcquiredImage(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetCurrentFileName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentFileNameA(DTWAIN_SOURCE Source, LPSTR szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentFileNameW(DTWAIN_SOURCE Source, LPWSTR szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentPageNum(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetCurrentRetryCount(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_GetCustomDSData(DTWAIN_SOURCE Source, LPBYTE Data, DWORD dSize, LPDWORD pActualSize, LONG nFlags);
        LONG DTWAIN_GetDSMFullName(LONG DSMType, DTWAIN_CHARPTRTYPE szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMFullNameA(LONG DSMType, LPSTR szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMFullNameW(LONG DSMType, LPWSTR szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMSearchOrder();
        LONG DTWAIN_GetDSMSearchOrderEx(DTWAIN_CHARPTRTYPE SearchOrder, DTWAIN_CHARPTRTYPE UserDirectory);
        LONG DTWAIN_GetDSMSearchOrderExA(LPSTR SearchOrder, LPSTR UserDirectory);
        LONG DTWAIN_GetDSMSearchOrderExW(LPWSTR SearchOrder, LPWSTR UserDirectory);
        DTWAIN_HANDLE DTWAIN_GetDTWAINHandle();
        DTWAIN_BOOL DTWAIN_GetDeviceEvent(DTWAIN_SOURCE Source, LPLONG lpEvent);
        DTWAIN_BOOL DTWAIN_GetDeviceEventEx(DTWAIN_SOURCE Source, LPLONG lpEvent, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetDeviceEventInfo(DTWAIN_SOURCE Source, LONG nWhichInfo, LPVOID pValue);
        DTWAIN_BOOL DTWAIN_GetDeviceNotifications(DTWAIN_SOURCE Source, LPLONG DevEvents);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDate(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDateA(DTWAIN_SOURCE Source, LPSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDateW(DTWAIN_SOURCE Source, LPWSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDoubleFeedDetectLength(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Value, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetDoubleFeedDetectValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetDuplexType(DTWAIN_SOURCE Source, LPLONG lpDupType);
        LONG DTWAIN_GetDuplexTypeEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetErrorBuffer(LPDTWAIN_ARRAY ArrayBuffer);
        LONG DTWAIN_GetErrorBufferThreshold();
        DTWAIN_ERROR_PROC DTWAIN_GetErrorCallback();
        DTWAIN_ERROR_PROC64 DTWAIN_GetErrorCallback64();
        LONG DTWAIN_GetErrorString(LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetErrorStringA(LONG lError, LPSTR lpszBuffer, LONG nLength);
        LONG DTWAIN_GetErrorStringW(LONG lError, LPWSTR lpszBuffer, LONG nLength);
        LONG DTWAIN_GetExtCapFromName(DTWAIN_CCHARPTRTYPE szName);
        LONG DTWAIN_GetExtCapFromNameA(LPCSTR szName);
        LONG DTWAIN_GetExtCapFromNameW(LPCWSTR szName);
        DTWAIN_BOOL DTWAIN_GetExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoData(DTWAIN_SOURCE Source, LONG nWhich, LPDTWAIN_ARRAY Data);
        DTWAIN_ARRAY DTWAIN_GetExtImageInfoDataEx(DTWAIN_SOURCE Source, LONG nWhich);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoItem(DTWAIN_SOURCE Source, LONG nWhich, LPLONG InfoID, LPLONG NumItems, LPLONG Type);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoItemEx(DTWAIN_SOURCE Source, LONG nWhich, LPLONG InfoID, LPLONG NumItems, LPLONG Type, LPLONG ReturnCode);
        LONG DTWAIN_GetExtNameFromCap(LONG nValue, DTWAIN_CHARPTRTYPE szValue, LONG nMaxLen);
        LONG DTWAIN_GetExtNameFromCapA(LONG nValue, LPSTR szValue, LONG nLength);
        LONG DTWAIN_GetExtNameFromCapW(LONG nValue, LPWSTR szValue, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetFeederAlignment(DTWAIN_SOURCE Source, LPLONG lpAlignment);
        LONG DTWAIN_GetFeederFuncs(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetFeederOrder(DTWAIN_SOURCE Source, LPLONG lpOrder);
        LONG DTWAIN_GetFeederWaitTime(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileCompressionType(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileSavePageCount(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileTypeExtensions(LONG nType, DTWAIN_CHARPTRTYPE lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeExtensionsA(LONG nType, LPSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeExtensionsW(LONG nType, LPWSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeName(LONG nType, DTWAIN_CHARPTRTYPE lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeNameA(LONG nType, LPSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeNameW(LONG nType, LPWSTR lpszName, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetHalftone(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHalftoneA(DTWAIN_SOURCE Source, LPSTR lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHalftoneW(DTWAIN_SOURCE Source, LPWSTR lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHighlight(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightStringA(DTWAIN_SOURCE Source, LPSTR Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightStringW(DTWAIN_SOURCE Source, LPWSTR Highlight);
        DTWAIN_BOOL DTWAIN_GetImageInfo(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT lpXResolution, LPDTWAIN_FLOAT lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE lpXResolution, DTWAIN_CHARPTRTYPE lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoStringA(DTWAIN_SOURCE Source, LPSTR lpXResolution, LPSTR lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoStringW(DTWAIN_SOURCE Source, LPWSTR lpXResolution, LPWSTR lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetJobControl(DTWAIN_SOURCE Source, LPLONG pJobControl, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetJobControlEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bGetCurrent);
        DTWAIN_BOOL DTWAIN_GetJpegValues(DTWAIN_SOURCE Source, LPLONG pQuality, LPLONG Progressive);
        DTWAIN_BOOL DTWAIN_GetJpegXRValues(DTWAIN_SOURCE Source, LPLONG pQuality, LPLONG Progressive);
        LONG DTWAIN_GetLanguage();
        LONG DTWAIN_GetLastError();
        LONG DTWAIN_GetLibraryPath(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetLibraryPathA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetLibraryPathW(LPWSTR lpszVer, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetLightPath(DTWAIN_SOURCE Source, LPLONG lpLightPath);
        DTWAIN_BOOL DTWAIN_GetLightPathEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetLightSource(DTWAIN_SOURCE Source, LPLONG LightSource);
        DTWAIN_BOOL DTWAIN_GetLightSources(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightSources);
        DTWAIN_ARRAY DTWAIN_GetLightSourcesEx(DTWAIN_SOURCE Source);
        DTWAIN_LOGGER_PROC DTWAIN_GetLoggerCallback();
        DTWAIN_LOGGER_PROCA DTWAIN_GetLoggerCallbackA();
        DTWAIN_LOGGER_PROCW DTWAIN_GetLoggerCallbackW();
        DTWAIN_BOOL DTWAIN_GetManualDuplexCount(DTWAIN_SOURCE Source, LPLONG pSide1, LPLONG pSide2);
        LONG DTWAIN_GetMaxAcquisitions(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetMaxBuffers(DTWAIN_SOURCE Source, LPLONG pMaxBuf);
        LONG DTWAIN_GetMaxPagesToAcquire(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetMaxRetryAttempts(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetNameFromCap(LONG nCapValue, DTWAIN_CHARPTRTYPE szValue, LONG nMaxLen);
        LONG DTWAIN_GetNameFromCapA(LONG nCapValue, LPSTR szValue, LONG nLength);
        LONG DTWAIN_GetNameFromCapW(LONG nCapValue, LPWSTR szValue, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetNoiseFilter(DTWAIN_SOURCE Source, LPLONG lpNoiseFilter);
        LONG DTWAIN_GetNumAcquiredImages(DTWAIN_ARRAY aAcq, LONG nWhich);
        LONG DTWAIN_GetNumAcquisitions(DTWAIN_ARRAY aAcq);
        DTWAIN_BOOL DTWAIN_GetOCRCapValues(DTWAIN_OCRENGINE Engine, LONG OCRCapValue, LONG GetType, LPDTWAIN_ARRAY CapValues);
        LONG DTWAIN_GetOCRErrorString(DTWAIN_OCRENGINE Engine, LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRErrorStringA(DTWAIN_OCRENGINE Engine, LONG lError, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRErrorStringW(DTWAIN_OCRENGINE Engine, LONG lError, LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRLastError(DTWAIN_OCRENGINE Engine);
        DTWAIN_BOOL DTWAIN_GetOCRMajorMinorVersion(DTWAIN_OCRENGINE Engine, LPLONG lpMajor, LPLONG lpMinor);
        LONG DTWAIN_GetOCRManufacturer(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szManufacturer, LONG nMaxLen);
        LONG DTWAIN_GetOCRManufacturerA(DTWAIN_OCRENGINE Engine, LPSTR szManufacturer, LONG nLength);
        LONG DTWAIN_GetOCRManufacturerW(DTWAIN_OCRENGINE Engine, LPWSTR szManufacturer, LONG nLength);
        LONG DTWAIN_GetOCRProductFamily(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szProductFamily, LONG nMaxLen);
        LONG DTWAIN_GetOCRProductFamilyA(DTWAIN_OCRENGINE Engine, LPSTR szProductFamily, LONG nLength);
        LONG DTWAIN_GetOCRProductFamilyW(DTWAIN_OCRENGINE Engine, LPWSTR szProductFamily, LONG nLength);
        LONG DTWAIN_GetOCRProductName(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szProductName, LONG nMaxLen);
        LONG DTWAIN_GetOCRProductNameA(DTWAIN_OCRENGINE Engine, LPSTR szProductName, LONG nLength);
        LONG DTWAIN_GetOCRProductNameW(DTWAIN_OCRENGINE Engine, LPWSTR szProductName, LONG nLength);
        HANDLE DTWAIN_GetOCRText(DTWAIN_OCRENGINE Engine, LONG nPageNo, DTWAIN_CHARPTRTYPE Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        HANDLE DTWAIN_GetOCRTextA(DTWAIN_OCRENGINE Engine, LONG nPageNo, LPSTR Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoFloat(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nCharPos, LONG nWhichItem, LPDTWAIN_FLOAT pInfo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoFloatEx(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nWhichItem, LPDTWAIN_FLOAT pInfo, LONG bufSize);
        DTWAIN_OCRTEXTINFOHANDLE DTWAIN_GetOCRTextInfoHandle(DTWAIN_OCRENGINE Engine, LONG nPageNo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoLong(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nCharPos, LONG nWhichItem, LPLONG pInfo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoLongEx(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nWhichItem, LPLONG pInfo, LONG bufSize);
        HANDLE DTWAIN_GetOCRTextW(DTWAIN_OCRENGINE Engine, LONG nPageNo, LPWSTR Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        LONG DTWAIN_GetOCRVersionInfo(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE buffer, LONG maxBufSize);
        LONG DTWAIN_GetOCRVersionInfoA(DTWAIN_OCRENGINE Engine, LPSTR buffer, LONG nLength);
        LONG DTWAIN_GetOCRVersionInfoW(DTWAIN_OCRENGINE Engine, LPWSTR buffer, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetOrientation(DTWAIN_SOURCE Source, LPLONG lpOrient, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetOrientationEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetOverscan(DTWAIN_SOURCE Source, LPLONG lpOverscan, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPDFTextElementFloat(DTWAIN_PDFTEXTELEMENT TextElement, LPDTWAIN_FLOAT val1, LPDTWAIN_FLOAT val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_GetPDFTextElementLong(DTWAIN_PDFTEXTELEMENT TextElement, LPLONG val1, LPLONG val2, LONG Flags);
        LONG DTWAIN_GetPDFTextElementString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CHARPTRTYPE szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFTextElementStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPSTR szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFTextElementStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPWSTR szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFType1FontName(LONG FontVal, DTWAIN_CHARPTRTYPE szFont, LONG nChars);
        LONG DTWAIN_GetPDFType1FontNameA(LONG FontVal, LPSTR szFont, LONG nChars);
        LONG DTWAIN_GetPDFType1FontNameW(LONG FontVal, LPWSTR szFont, LONG nChars);
        DTWAIN_BOOL DTWAIN_GetPaperSize(DTWAIN_SOURCE Source, LPLONG lpPaperSize, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPaperSizeName(LONG paperNumber, DTWAIN_CHARPTRTYPE outName, LONG nSize);
        LONG DTWAIN_GetPaperSizeNameA(LONG paperNumber, LPSTR outName, LONG nSize);
        LONG DTWAIN_GetPaperSizeNameW(LONG paperNumber, LPWSTR outName, LONG nSize);
        DTWAIN_BOOL DTWAIN_GetPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LPLONG pMaxPriorities, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodeMaxRetries(DTWAIN_SOURCE Source, LPLONG pMaxRetries, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_GetPatchcodeSearchMode(DTWAIN_SOURCE Source, LPLONG pSearchMode, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodeTimeOut(DTWAIN_SOURCE Source, LPLONG pTimeOut, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPixelFlavor(DTWAIN_SOURCE Source, LPLONG lpPixelFlavor);
        DTWAIN_BOOL DTWAIN_GetPixelType(DTWAIN_SOURCE Source, LPLONG PixelType, LPLONG BitDepth, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinter(DTWAIN_SOURCE Source, LPLONG lpPrinter, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPrinterEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinterStartNumber(DTWAIN_SOURCE Source, LPLONG nStart);
        LONG DTWAIN_GetPrinterStartNumberEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetPrinterStringMode(DTWAIN_SOURCE Source, LPLONG PrinterMode, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPrinterStringModeEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinterStrings(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY ArrayString);
        DTWAIN_ARRAY DTWAIN_GetPrinterStringsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Suffix, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixStringA(DTWAIN_SOURCE Source, LPSTR Suffix, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixStringW(DTWAIN_SOURCE Source, LPWSTR Suffix, LONG nLength);
        LONG DTWAIN_GetRegisteredMsg();
        DTWAIN_BOOL DTWAIN_GetResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_FLOAT DTWAIN_GetResolutionEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        LONG DTWAIN_GetResourceString(LONG ResourceID, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetResourceStringA(LONG ResourceID, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetResourceStringW(LONG ResourceID, LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetRotation(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Rotation);
        DTWAIN_FLOAT DTWAIN_GetRotationEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetRotationString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Rotation);
        DTWAIN_BOOL DTWAIN_GetRotationStringA(DTWAIN_SOURCE Source, LPSTR Rotation);
        DTWAIN_BOOL DTWAIN_GetRotationStringW(DTWAIN_SOURCE Source, LPWSTR Rotation);
        LONG DTWAIN_GetSaveFileName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE fName, LONG nMaxLen);
        LONG DTWAIN_GetSaveFileNameA(DTWAIN_SOURCE Source, LPSTR fName, LONG nMaxLen);
        LONG DTWAIN_GetSaveFileNameW(DTWAIN_SOURCE Source, LPWSTR fName, LONG nMaxLen);
        LONG DTWAIN_GetSessionDetails(DTWAIN_CHARPTRTYPE szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSessionDetailsA(LPSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSessionDetailsW(LPWSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        DTWAIN_BOOL DTWAIN_GetShadow(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowStringA(DTWAIN_SOURCE Source, LPSTR Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowStringW(DTWAIN_SOURCE Source, LPWSTR Shadow);
        LONG DTWAIN_GetShortVersionString(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetShortVersionStringA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetShortVersionStringW(LPWSTR lpszVer, LONG nLength);
        DTWAIN_ARRAY DTWAIN_GetSourceAcquisitions(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceDetails(DTWAIN_CCHARPTRTYPE szSources, DTWAIN_CHARPTRTYPE szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSourceDetailsA(LPCSTR szSources, LPSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSourceDetailsW(LPCWSTR szSources, LPWSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        DTWAIN_IDENTITY DTWAIN_GetSourceID(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceManufacturer(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceManufacturerA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceManufacturerW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductFamily(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceProductFamilyA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductFamilyW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceProductNameA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductNameW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetSourceUnit(DTWAIN_SOURCE Source, LPLONG lpUnit);
        LONG DTWAIN_GetSourceUnitEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceVersionInfo(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceVersionInfoA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceVersionInfoW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetSourceVersionNumber(DTWAIN_SOURCE Source, LPLONG pMajor, LPLONG pMinor);
        LONG DTWAIN_GetStaticLibVersion();
        LONG DTWAIN_GetTempFileDirectory(DTWAIN_CHARPTRTYPE szFilePath, LONG nMaxLen);
        LONG DTWAIN_GetTempFileDirectoryA(LPSTR szFilePath, LONG nLength);
        LONG DTWAIN_GetTempFileDirectoryW(LPWSTR szFilePath, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetThreshold(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdStringA(DTWAIN_SOURCE Source, LPSTR Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdStringW(DTWAIN_SOURCE Source, LPWSTR Threshold);
        DTWAIN_BOOL DTWAIN_GetTimeDate(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_GetTimeDateA(DTWAIN_SOURCE Source, LPSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetTimeDateW(DTWAIN_SOURCE Source, LPWSTR szTimeDate);
        DTWAIN_IDENTITY DTWAIN_GetTwainAppID();
        LONG DTWAIN_GetTwainAvailability();
        LONG DTWAIN_GetTwainAvailabilityEx(DTWAIN_CHARPTRTYPE directories, LONG nMaxLen);
        LONG DTWAIN_GetTwainAvailabilityExA(LPSTR szDirectories, LONG nLength);
        LONG DTWAIN_GetTwainAvailabilityExW(LPWSTR szDirectories, LONG nLength);
        HWND DTWAIN_GetTwainHwnd();
        LONG DTWAIN_GetTwainMode();
        LONG DTWAIN_GetTwainNameFromConstant(LONG lConstantType, LONG lTwainConstant, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantA(LONG lConstantType, LONG lTwainConstant, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantEx(LONG lConstantType, LONG lTwainConstant, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantExA(LONG lConstantType, LONG lTwainConstant, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantExW(LONG lConstantType, LONG lTwainConstant, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantW(LONG lConstantType, LONG lTwainConstant, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainTimeout();
        DTWAIN_BOOL DTWAIN_GetVersion(LPLONG lpMajor, LPLONG lpMinor, LPLONG lpVersionType);
        LONG DTWAIN_GetVersionCopyright(DTWAIN_CHARPTRTYPE lpszApp, LONG nLength);
        LONG DTWAIN_GetVersionCopyrightA(LPSTR lpszApp, LONG nLength);
        LONG DTWAIN_GetVersionCopyrightW(LPWSTR lpszApp, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetVersionEx(LPLONG lMajor, LPLONG lMinor, LPLONG lVersionType, LPLONG lPatchLevel);
        LONG DTWAIN_GetVersionInfo(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionInfoA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionInfoW(LPWSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionString(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionStringA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionStringW(LPWSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetWindowsVersionInfo(DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetWindowsVersionInfoA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetWindowsVersionInfoW(LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetXResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        DTWAIN_BOOL DTWAIN_InitExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_InitImageFileAppend(DTWAIN_CCHARPTRTYPE szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitImageFileAppendA(LPCSTR szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitImageFileAppendW(LPCWSTR szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitOCRInterface();
        DTWAIN_BOOL DTWAIN_IsAcquiring();
        DTWAIN_BOOL DTWAIN_IsAudioXferSupported(DTWAIN_SOURCE Source, LONG supportVal);
        DTWAIN_BOOL DTWAIN_IsAutoBorderDetectEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBorderDetectSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBrightEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBrightSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoDeskewEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoDeskewSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoFeedEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoFeedSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoRotateEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoRotateSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoScanEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutomaticSenseMediumEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutomaticSenseMediumSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeCapsSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeDetectionEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeSupported(DTWAIN_SOURCE Source, LONG BarCode);
        DTWAIN_BOOL DTWAIN_IsBlankPageDetectionOn(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBufferedTileModeOn(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBufferedTileModeSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsCapSupported(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_IsCompressionSupported(DTWAIN_SOURCE Source, LONG Compression);
        DTWAIN_BOOL DTWAIN_IsCustomDSDataSupported(DTWAIN_SOURCE Source);
        LONG DTWAIN_IsDIBBlank(HANDLE hDib, DTWAIN_FLOAT threshold);
        LONG DTWAIN_IsDIBBlankString(HANDLE hDib, DTWAIN_CCHARPTRTYPE threshold);
        LONG DTWAIN_IsDIBBlankStringA(HANDLE hDib, LPCSTR threshold);
        LONG DTWAIN_IsDIBBlankStringW(HANDLE hDib, LPCWSTR threshold);
        DTWAIN_BOOL DTWAIN_IsDeviceEventSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDeviceOnLine(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDoubleFeedDetectLengthSupported(DTWAIN_SOURCE Source, DTWAIN_FLOAT value);
        DTWAIN_BOOL DTWAIN_IsDoubleFeedDetectSupported(DTWAIN_SOURCE Source, LONG SupportVal);
        DTWAIN_BOOL DTWAIN_IsDuplexEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDuplexSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsExtImageInfoSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederLoaded(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederSensitive(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFileSystemSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFileXferSupported(DTWAIN_SOURCE Source, LONG lFileType);
        DTWAIN_BOOL DTWAIN_IsGetMessageLoopDetectionOn();
        DTWAIN_BOOL DTWAIN_IsGetMessageLoopEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldALastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldALevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldAPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldAValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldELastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldELevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldEPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldEValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsImageAddressingSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIndicatorEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIndicatorSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsInitialized();
        DTWAIN_BOOL DTWAIN_IsJobControlSupported(DTWAIN_SOURCE Source, LONG JobControl);
        DTWAIN_BOOL DTWAIN_IsLampEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLampSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLightPathSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLightSourceSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsMaxBuffersSupported(DTWAIN_SOURCE Source, LONG MaxBuf);
        DTWAIN_BOOL DTWAIN_IsMemFileXferSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsMsgNotifyEnabled();
        DTWAIN_BOOL DTWAIN_IsNotifyTripletsEnabled();
        DTWAIN_BOOL DTWAIN_IsOCREngineActivated(DTWAIN_OCRENGINE OCREngine);
        DTWAIN_BOOL DTWAIN_IsOpenSourcesOnSelect();
        DTWAIN_BOOL DTWAIN_IsOrientationSupported(DTWAIN_SOURCE Source, LONG Orientation);
        DTWAIN_BOOL DTWAIN_IsOverscanSupported(DTWAIN_SOURCE Source, LONG SupportValue);
        DTWAIN_BOOL DTWAIN_IsPaperDetectable(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPaperSizeSupported(DTWAIN_SOURCE Source, LONG PaperSize);
        DTWAIN_BOOL DTWAIN_IsPatchcodeCapsSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPatchcodeDetectionEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPatchcodeSupported(DTWAIN_SOURCE Source, LONG PatchCode);
        DTWAIN_BOOL DTWAIN_IsPeekMessageLoopEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPixelTypeSupported(DTWAIN_SOURCE Source, LONG PixelType);
        DTWAIN_BOOL DTWAIN_IsPrinterEnabled(DTWAIN_SOURCE Source, LONG Printer);
        DTWAIN_BOOL DTWAIN_IsPrinterSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsRotationSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSessionEnabled();
        DTWAIN_BOOL DTWAIN_IsSkipImageInfoError(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceAcquiring(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceAcquiringEx(DTWAIN_SOURCE Source, BOOL bUIOnly);
        DTWAIN_BOOL DTWAIN_IsSourceInUIOnlyMode(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceOpen(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceSelected(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceValid(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsThumbnailEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsThumbnailSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsTwainAvailable();
        LONG DTWAIN_IsTwainAvailableEx(DTWAIN_CHARPTRTYPE directories, LONG nMaxLen);
        LONG DTWAIN_IsTwainAvailableExA(LPSTR directories, LONG nMaxLen);
        LONG DTWAIN_IsTwainAvailableExW(LPWSTR directories, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_IsUIControllable(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsUIEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsUIOnlySupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResources(DTWAIN_CCHARPTRTYPE sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesA(LPCSTR sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesEx(DTWAIN_CCHARPTRTYPE sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesExA(LPCSTR sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesExW(LPCWSTR sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesW(LPCWSTR sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadLanguageResource(LONG nLanguage);
        DTWAIN_MEMORY_PTR DTWAIN_LockMemory(HANDLE h);
        DTWAIN_MEMORY_PTR DTWAIN_LockMemoryEx(HANDLE h);
        DTWAIN_BOOL DTWAIN_LogMessage(DTWAIN_CCHARPTRTYPE message);
        DTWAIN_BOOL DTWAIN_LogMessageA(LPCSTR message);
        DTWAIN_BOOL DTWAIN_LogMessageW(LPCWSTR message);
        LONG DTWAIN_MakeRGB(LONG red, LONG green, LONG blue);
        DTWAIN_BOOL DTWAIN_OpenSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_OpenSourcesOnSelect(DTWAIN_BOOL bSet);
        DTWAIN_RANGE DTWAIN_RangeCreate(LONG nEnumType);
        DTWAIN_RANGE DTWAIN_RangeCreateFromCap(DTWAIN_SOURCE Source, LONG lCapType);
        DTWAIN_BOOL DTWAIN_RangeDestroy(DTWAIN_RANGE pSource);
        DTWAIN_BOOL DTWAIN_RangeExpand(DTWAIN_RANGE pSource, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_RangeExpandEx(DTWAIN_RANGE Range);
        DTWAIN_BOOL DTWAIN_RangeGetAll(DTWAIN_RANGE pArray, LPVOID pVariantLow, LPVOID pVariantUp, LPVOID pVariantStep, LPVOID pVariantDefault, LPVOID pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloat(DTWAIN_RANGE pArray, LPDTWAIN_FLOAT pVariantLow, LPDTWAIN_FLOAT pVariantUp, LPDTWAIN_FLOAT pVariantStep, LPDTWAIN_FLOAT pVariantDefault, LPDTWAIN_FLOAT pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatString(DTWAIN_RANGE pArray, DTWAIN_CHARPTRTYPE dLow, DTWAIN_CHARPTRTYPE dUp, DTWAIN_CHARPTRTYPE dStep, DTWAIN_CHARPTRTYPE dDefault, DTWAIN_CHARPTRTYPE dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatStringA(DTWAIN_RANGE pArray, LPSTR dLow, LPSTR dUp, LPSTR dStep, LPSTR dDefault, LPSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatStringW(DTWAIN_RANGE pArray, LPWSTR dLow, LPWSTR dUp, LPWSTR dStep, LPWSTR dDefault, LPWSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllLong(DTWAIN_RANGE pArray, LPLONG pVariantLow, LPLONG pVariantUp, LPLONG pVariantStep, LPLONG pVariantDefault, LPLONG pVariantCurrent);
        LONG DTWAIN_RangeGetCount(DTWAIN_RANGE pArray);
        DTWAIN_BOOL DTWAIN_RangeGetExpValue(DTWAIN_RANGE pArray, LONG lPos, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloat(DTWAIN_RANGE pArray, LONG lPos, LPDTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatString(DTWAIN_RANGE pArray, LONG lPos, DTWAIN_CHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatStringA(DTWAIN_RANGE pArray, LONG lPos, LPSTR pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatStringW(DTWAIN_RANGE pArray, LONG lPos, LPWSTR pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueLong(DTWAIN_RANGE pArray, LONG lPos, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValue(DTWAIN_RANGE pArray, LPVOID pVariantIn, LPVOID pVariantOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT dIn, LPDTWAIN_FLOAT pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE dIn, DTWAIN_CHARPTRTYPE pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatStringA(DTWAIN_RANGE pArray, LPCSTR dIn, LPSTR dOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatStringW(DTWAIN_RANGE pArray, LPCWSTR dIn, LPWSTR dOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueLong(DTWAIN_RANGE pArray, LONG lIn, LPLONG pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetPos(DTWAIN_RANGE pArray, LPVOID pVariant, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatStringA(DTWAIN_RANGE pArray, LPCSTR Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatStringW(DTWAIN_RANGE pArray, LPCWSTR Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosLong(DTWAIN_RANGE pArray, LONG Value, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetValue(DTWAIN_RANGE pArray, LONG nWhich, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloat(DTWAIN_RANGE pArray, LONG nWhich, LPDTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatString(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_CHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatStringA(DTWAIN_RANGE pArray, LONG nWhich, LPSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatStringW(DTWAIN_RANGE pArray, LONG nWhich, LPWSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeGetValueLong(DTWAIN_RANGE pArray, LONG nWhich, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_RangeIsValid(DTWAIN_RANGE Range, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_RangeSetAll(DTWAIN_RANGE pArray, LPVOID pVariantLow, LPVOID pVariantUp, LPVOID pVariantStep, LPVOID pVariantDefault, LPVOID pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT dLow, DTWAIN_FLOAT dUp, DTWAIN_FLOAT dStep, DTWAIN_FLOAT dDefault, DTWAIN_FLOAT dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE dLow, DTWAIN_CCHARPTRTYPE dUp, DTWAIN_CCHARPTRTYPE dStep, DTWAIN_CCHARPTRTYPE dDefault, DTWAIN_CCHARPTRTYPE dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatStringA(DTWAIN_RANGE pArray, LPCSTR dLow, LPCSTR dUp, LPCSTR dStep, LPCSTR dDefault, LPCSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatStringW(DTWAIN_RANGE pArray, LPCWSTR dLow, LPCWSTR dUp, LPCWSTR dStep, LPCWSTR dDefault, LPCWSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllLong(DTWAIN_RANGE pArray, LONG lLow, LONG lUp, LONG lStep, LONG lDefault, LONG lCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetValue(DTWAIN_RANGE pArray, LONG nWhich, LPVOID pVal);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloat(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_FLOAT Val);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatString(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatStringA(DTWAIN_RANGE pArray, LONG nWhich, LPCSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatStringW(DTWAIN_RANGE pArray, LONG nWhich, LPCWSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeSetValueLong(DTWAIN_RANGE pArray, LONG nWhich, LONG Val);
        DTWAIN_BOOL DTWAIN_RemovePDFTextElement(DTWAIN_SOURCE Source, DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_ResetPDFTextElement(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_RewindPage(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_RotateImage(HANDLE hDib, DTWAIN_FLOAT rotationAngle);
        HANDLE DTWAIN_RotateImageString(HANDLE hDib, DTWAIN_CCHARPTRTYPE rotationAngle);
        HANDLE DTWAIN_RotateImageStringA(HANDLE hDib, LPCSTR rotationAngle);
        HANDLE DTWAIN_RotateImageStringW(HANDLE hDib, LPCWSTR rotationAngle);
        DTWAIN_OCRENGINE DTWAIN_SelectDefaultOCREngine();
        DTWAIN_SOURCE DTWAIN_SelectDefaultSource();
        DTWAIN_SOURCE DTWAIN_SelectDefaultSourceWithOpen(DTWAIN_BOOL bOpen);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine();
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2A(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2Ex(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE szIncludeFilter, DTWAIN_CCHARPTRTYPE szExcludeFilter, DTWAIN_CCHARPTRTYPE szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2ExA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LPCSTR szIncludeNames, LPCSTR szExcludeNames, LPCSTR szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2ExW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LPCWSTR szIncludeNames, LPCWSTR szExcludeNames, LPCWSTR szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2W(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByName(DTWAIN_CCHARPTRTYPE lpszName);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByNameA(LPCSTR lpszName);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByNameW(LPCWSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSource();
        DTWAIN_SOURCE DTWAIN_SelectSource2(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2A(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2Ex(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE szIncludeFilter, DTWAIN_CCHARPTRTYPE szExcludeFilter, DTWAIN_CCHARPTRTYPE szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2ExA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LPCSTR szIncludeNames, LPCSTR szExcludeNames, LPCSTR szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2ExW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LPCWSTR szIncludeNames, LPCWSTR szExcludeNames, LPCWSTR szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2W(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSourceByName(DTWAIN_CCHARPTRTYPE lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameA(LPCSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameW(LPCWSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpen(DTWAIN_CCHARPTRTYPE lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpenA(LPCSTR lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpenW(LPCWSTR lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceWithOpen(DTWAIN_BOOL bOpen);
        DTWAIN_BOOL DTWAIN_SetAcquireArea(DTWAIN_SOURCE Source, LONG lSetType, DTWAIN_ARRAY FloatEnum, DTWAIN_ARRAY ActualEnum);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2(DTWAIN_SOURCE Source, DTWAIN_FLOAT left, DTWAIN_FLOAT top, DTWAIN_FLOAT right, DTWAIN_FLOAT bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2String(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE left, DTWAIN_CCHARPTRTYPE top, DTWAIN_CCHARPTRTYPE right, DTWAIN_CCHARPTRTYPE bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2StringA(DTWAIN_SOURCE Source, LPCSTR left, LPCSTR top, LPCSTR right, LPCSTR bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2StringW(DTWAIN_SOURCE Source, LPCWSTR left, LPCWSTR top, LPCWSTR right, LPCWSTR bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireImageNegative(DTWAIN_SOURCE Source, DTWAIN_BOOL IsNegative);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScale(DTWAIN_SOURCE Source, DTWAIN_FLOAT xscale, DTWAIN_FLOAT yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE xscale, DTWAIN_CCHARPTRTYPE yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleStringA(DTWAIN_SOURCE Source, LPCSTR xscale, LPCSTR yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleStringW(DTWAIN_SOURCE Source, LPCWSTR xscale, LPCWSTR yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireStripBuffer(DTWAIN_SOURCE Source, HANDLE hMem);
        DTWAIN_BOOL DTWAIN_SetAcquireStripSize(DTWAIN_SOURCE Source, DWORD StripSize);
        DTWAIN_BOOL DTWAIN_SetAlarmVolume(DTWAIN_SOURCE Source, LONG Volume);
        DTWAIN_BOOL DTWAIN_SetAlarms(DTWAIN_SOURCE Source, DTWAIN_ARRAY Alarms);
        DTWAIN_BOOL DTWAIN_SetAllCapsToDefault(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_SetAppInfo(DTWAIN_CCHARPTRTYPE szVerStr, DTWAIN_CCHARPTRTYPE szManu, DTWAIN_CCHARPTRTYPE szProdFam, DTWAIN_CCHARPTRTYPE szProdName);
        DTWAIN_BOOL DTWAIN_SetAppInfoA(LPCSTR szVerStr, LPCSTR szManu, LPCSTR szProdFam, LPCSTR szProdName);
        DTWAIN_BOOL DTWAIN_SetAppInfoW(LPCWSTR szVerStr, LPCWSTR szManu, LPCWSTR szProdFam, LPCWSTR szProdName);
        DTWAIN_BOOL DTWAIN_SetAuthor(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szAuthor);
        DTWAIN_BOOL DTWAIN_SetAuthorA(DTWAIN_SOURCE Source, LPCSTR szAuthor);
        DTWAIN_BOOL DTWAIN_SetAuthorW(DTWAIN_SOURCE Source, LPCWSTR szAuthor);
        DTWAIN_BOOL DTWAIN_SetAvailablePrinters(DTWAIN_SOURCE Source, LONG lpAvailPrinters);
        DTWAIN_BOOL DTWAIN_SetAvailablePrintersArray(DTWAIN_SOURCE Source, DTWAIN_ARRAY AvailPrinters);
        DTWAIN_BOOL DTWAIN_SetBarcodeMaxPriorities(DTWAIN_SOURCE Source, LONG nMaxSearchRetries);
        DTWAIN_BOOL DTWAIN_SetBarcodeMaxRetries(DTWAIN_SOURCE Source, LONG nMaxRetries);
        DTWAIN_BOOL DTWAIN_SetBarcodePriorities(DTWAIN_SOURCE Source, DTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_SetBarcodeSearchMode(DTWAIN_SOURCE Source, LONG nSearchMode);
        DTWAIN_BOOL DTWAIN_SetBarcodeTimeOut(DTWAIN_SOURCE Source, LONG TimeOutValue);
        DTWAIN_BOOL DTWAIN_SetBitDepth(DTWAIN_SOURCE Source, LONG BitDepth, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetection(DTWAIN_SOURCE Source, DTWAIN_FLOAT threshold, LONG discard_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionEx(DTWAIN_SOURCE Source, DTWAIN_FLOAT threshold, LONG autodetect, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExStringA(DTWAIN_SOURCE Source, LPCSTR threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExStringW(DTWAIN_SOURCE Source, LPCWSTR threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionStringA(DTWAIN_SOURCE Source, LPCSTR threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionStringW(DTWAIN_SOURCE Source, LPCWSTR threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBrightness(DTWAIN_SOURCE Source, DTWAIN_FLOAT Brightness);
        DTWAIN_BOOL DTWAIN_SetBrightnessString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Brightness);
        DTWAIN_BOOL DTWAIN_SetBrightnessStringA(DTWAIN_SOURCE Source, LPCSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetBrightnessStringW(DTWAIN_SOURCE Source, LPCWSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetBufferedTileMode(DTWAIN_SOURCE Source, DTWAIN_BOOL bTileMode);
        DTWAIN_CALLBACK_PROC DTWAIN_SetCallback(DTWAIN_CALLBACK_PROC Fn, LONG UserData);
        DTWAIN_CALLBACK_PROC64 DTWAIN_SetCallback64(DTWAIN_CALLBACK_PROC64 Fn, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetCamera(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szCamera);
        DTWAIN_BOOL DTWAIN_SetCameraA(DTWAIN_SOURCE Source, LPCSTR szCamera);
        DTWAIN_BOOL DTWAIN_SetCameraW(DTWAIN_SOURCE Source, LPCWSTR szCamera);
        DTWAIN_BOOL DTWAIN_SetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, LONG lContainerType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, LONG lContainerType, LONG nDataType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCaption(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Caption);
        DTWAIN_BOOL DTWAIN_SetCaptionA(DTWAIN_SOURCE Source, LPCSTR Caption);
        DTWAIN_BOOL DTWAIN_SetCaptionW(DTWAIN_SOURCE Source, LPCWSTR Caption);
        DTWAIN_BOOL DTWAIN_SetCompressionType(DTWAIN_SOURCE Source, LONG lCompression, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetContrast(DTWAIN_SOURCE Source, DTWAIN_FLOAT Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastStringA(DTWAIN_SOURCE Source, LPCSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastStringW(DTWAIN_SOURCE Source, LPCWSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetCountry(LONG nCountry);
        DTWAIN_BOOL DTWAIN_SetCurrentRetryCount(DTWAIN_SOURCE Source, LONG nCount);
        DTWAIN_BOOL DTWAIN_SetCustomDSData(DTWAIN_SOURCE Source, HANDLE hData, LPCBYTE Data, DWORD dSize, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrder(LONG SearchPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderEx(DTWAIN_CCHARPTRTYPE SearchOrder, DTWAIN_CCHARPTRTYPE UserPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderExA(LPCSTR SearchOrder, LPCSTR szUserPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderExW(LPCWSTR SearchOrder, LPCWSTR szUserPath);
        DTWAIN_BOOL DTWAIN_SetDefaultSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_SetDeviceNotifications(DTWAIN_SOURCE Source, LONG DevEvents);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDate(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDateA(DTWAIN_SOURCE Source, LPCSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDateW(DTWAIN_SOURCE Source, LPCWSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLength(DTWAIN_SOURCE Source, DTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE value);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthStringA(DTWAIN_SOURCE Source, LPCSTR szLength);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthStringW(DTWAIN_SOURCE Source, LPCWSTR szLength);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectValues(DTWAIN_SOURCE Source, DTWAIN_ARRAY prray);
        DTWAIN_BOOL DTWAIN_SetDoublePageCountOnDuplex(DTWAIN_SOURCE Source, DTWAIN_BOOL bDoubleCount);
        DTWAIN_BOOL DTWAIN_SetEOJDetectValue(DTWAIN_SOURCE Source, LONG nValue);
        DTWAIN_BOOL DTWAIN_SetErrorBufferThreshold(LONG nErrors);
        DTWAIN_BOOL DTWAIN_SetErrorCallback(DTWAIN_ERROR_PROC proc, LONG UserData);
        DTWAIN_BOOL DTWAIN_SetErrorCallback64(DTWAIN_ERROR_PROC64 proc, DTWAIN_LONG64 UserData64);
        DTWAIN_BOOL DTWAIN_SetFeederAlignment(DTWAIN_SOURCE Source, LONG lpAlignment);
        DTWAIN_BOOL DTWAIN_SetFeederOrder(DTWAIN_SOURCE Source, LONG lOrder);
        DTWAIN_BOOL DTWAIN_SetFeederWaitTime(DTWAIN_SOURCE Source, LONG waitTime, LONG flags);
        DTWAIN_BOOL DTWAIN_SetFileAutoIncrement(DTWAIN_SOURCE Source, LONG Increment, DTWAIN_BOOL bResetOnAcquire, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetFileCompressionType(DTWAIN_SOURCE Source, LONG lCompression, DTWAIN_BOOL bIsCustom);
        DTWAIN_BOOL DTWAIN_SetFileSavePos(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileSavePosA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileSavePosW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileXferFormat(DTWAIN_SOURCE Source, LONG lFileType, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetHalftone(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHalftoneA(DTWAIN_SOURCE Source, LPCSTR lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHalftoneW(DTWAIN_SOURCE Source, LPCWSTR lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHighlight(DTWAIN_SOURCE Source, DTWAIN_FLOAT Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightStringA(DTWAIN_SOURCE Source, LPCSTR Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightStringW(DTWAIN_SOURCE Source, LPCWSTR Highlight);
        DTWAIN_BOOL DTWAIN_SetJobControl(DTWAIN_SOURCE Source, LONG JobControl, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetJpegValues(DTWAIN_SOURCE Source, LONG Quality, LONG Progressive);
        DTWAIN_BOOL DTWAIN_SetJpegXRValues(DTWAIN_SOURCE Source, LONG Quality, LONG Progressive);
        DTWAIN_BOOL DTWAIN_SetLanguage(LONG nLanguage);
        LONG DTWAIN_SetLastError(LONG nError);
        DTWAIN_BOOL DTWAIN_SetLightPath(DTWAIN_SOURCE Source, LONG LightPath);
        DTWAIN_BOOL DTWAIN_SetLightPathEx(DTWAIN_SOURCE Source, DTWAIN_ARRAY LightPaths);
        DTWAIN_BOOL DTWAIN_SetLightSource(DTWAIN_SOURCE Source, LONG LightSource);
        DTWAIN_BOOL DTWAIN_SetLightSources(DTWAIN_SOURCE Source, DTWAIN_ARRAY LightSources);
        DTWAIN_BOOL DTWAIN_SetLogSaveThreshold(LONG64 lineCount);
        DTWAIN_BOOL DTWAIN_SetLoggerCallback(DTWAIN_LOGGER_PROC logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetLoggerCallbackA(DTWAIN_LOGGER_PROCA logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetLoggerCallbackW(DTWAIN_LOGGER_PROCW logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetManualDuplexMode(DTWAIN_SOURCE Source, LONG Flags, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetMaxAcquisitions(DTWAIN_SOURCE Source, LONG MaxAcquires);
        DTWAIN_BOOL DTWAIN_SetMaxBuffers(DTWAIN_SOURCE Source, LONG MaxBuf);
        DTWAIN_BOOL DTWAIN_SetMaxRetryAttempts(DTWAIN_SOURCE Source, LONG nAttempts);
        DTWAIN_BOOL DTWAIN_SetMultipageScanMode(DTWAIN_SOURCE Source, LONG ScanType);
        DTWAIN_BOOL DTWAIN_SetNoiseFilter(DTWAIN_SOURCE Source, LONG NoiseFilter);
        DTWAIN_BOOL DTWAIN_SetOCRCapValues(DTWAIN_OCRENGINE Engine, LONG OCRCapValue, LONG SetType, DTWAIN_ARRAY CapValues);
        DTWAIN_BOOL DTWAIN_SetOrientation(DTWAIN_SOURCE Source, LONG Orient, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetOverscan(DTWAIN_SOURCE Source, LONG Value, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPDFAESEncryption(DTWAIN_SOURCE Source, LONG nWhichEncryption, DTWAIN_BOOL bUseAES);
        DTWAIN_BOOL DTWAIN_SetPDFASCIICompression(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetPDFAuthor(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFAuthorA(DTWAIN_SOURCE Source, LPCSTR lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFAuthorW(DTWAIN_SOURCE Source, LPCWSTR lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFCompression(DTWAIN_SOURCE Source, DTWAIN_BOOL bCompression);
        DTWAIN_BOOL DTWAIN_SetPDFCreator(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFCreatorA(DTWAIN_SOURCE Source, LPCSTR lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFCreatorW(DTWAIN_SOURCE Source, LPCWSTR lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFEncryption(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, DTWAIN_CCHARPTRTYPE lpszUser, DTWAIN_CCHARPTRTYPE lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFEncryptionA(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, LPCSTR lpszUser, LPCSTR lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFEncryptionW(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, LPCWSTR lpszUser, LPCWSTR lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFJpegQuality(DTWAIN_SOURCE Source, LONG Quality);
        DTWAIN_BOOL DTWAIN_SetPDFKeywords(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpKeyWords);
        DTWAIN_BOOL DTWAIN_SetPDFKeywordsA(DTWAIN_SOURCE Source, LPCSTR lpKeyWords);
        DTWAIN_BOOL DTWAIN_SetPDFKeywordsW(DTWAIN_SOURCE Source, LPCWSTR lpKeyWords);
        LONG DTWAIN_SetPDFOCRConversion(DTWAIN_OCRENGINE Engine, LONG PageType, LONG FileType, LONG PixelType, LONG BitDepth, LONG Options);
        DTWAIN_BOOL DTWAIN_SetPDFOCRMode(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetPDFOrientation(DTWAIN_SOURCE Source, LONG lPOrientation);
        DTWAIN_BOOL DTWAIN_SetPDFPageScale(DTWAIN_SOURCE Source, LONG nOptions, DTWAIN_FLOAT xScale, DTWAIN_FLOAT yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleString(DTWAIN_SOURCE Source, LONG nOptions, DTWAIN_CCHARPTRTYPE xScale, DTWAIN_CCHARPTRTYPE yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleStringA(DTWAIN_SOURCE Source, LONG nOptions, LPCSTR xScale, LPCSTR yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleStringW(DTWAIN_SOURCE Source, LONG nOptions, LPCWSTR xScale, LPCWSTR yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageSize(DTWAIN_SOURCE Source, LONG PageSize, DTWAIN_FLOAT CustomWidth, DTWAIN_FLOAT CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeString(DTWAIN_SOURCE Source, LONG PageSize, DTWAIN_CCHARPTRTYPE CustomWidth, DTWAIN_CCHARPTRTYPE CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeStringA(DTWAIN_SOURCE Source, LONG PageSize, LPCSTR CustomWidth, LPCSTR CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeStringW(DTWAIN_SOURCE Source, LONG PageSize, LPCWSTR CustomWidth, LPCWSTR CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPolarity(DTWAIN_SOURCE Source, LONG Polarity);
        DTWAIN_BOOL DTWAIN_SetPDFProducer(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFProducerA(DTWAIN_SOURCE Source, LPCSTR lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFProducerW(DTWAIN_SOURCE Source, LPCWSTR lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFSubject(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFSubjectA(DTWAIN_SOURCE Source, LPCSTR lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFSubjectW(DTWAIN_SOURCE Source, LPCWSTR lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloat(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_FLOAT val1, DTWAIN_FLOAT val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CCHARPTRTYPE val1, DTWAIN_CCHARPTRTYPE val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPCSTR val1, LPCSTR val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPCWSTR val1, LPCWSTR val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementLong(DTWAIN_PDFTEXTELEMENT TextElement, LONG val1, LONG val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CCHARPTRTYPE val1, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPCSTR szString, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPCWSTR szString, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTitle(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpTitle);
        DTWAIN_BOOL DTWAIN_SetPDFTitleA(DTWAIN_SOURCE Source, LPCSTR lpTitle);
        DTWAIN_BOOL DTWAIN_SetPDFTitleW(DTWAIN_SOURCE Source, LPCWSTR lpTitle);
        DTWAIN_BOOL DTWAIN_SetPaperSize(DTWAIN_SOURCE Source, LONG PaperSize, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LONG nMaxSearchRetries);
        DTWAIN_BOOL DTWAIN_SetPatchcodeMaxRetries(DTWAIN_SOURCE Source, LONG nMaxRetries);
        DTWAIN_BOOL DTWAIN_SetPatchcodePriorities(DTWAIN_SOURCE Source, DTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_SetPatchcodeSearchMode(DTWAIN_SOURCE Source, LONG nSearchMode);
        DTWAIN_BOOL DTWAIN_SetPatchcodeTimeOut(DTWAIN_SOURCE Source, LONG TimeOutValue);
        DTWAIN_BOOL DTWAIN_SetPixelFlavor(DTWAIN_SOURCE Source, LONG PixelFlavor);
        DTWAIN_BOOL DTWAIN_SetPixelType(DTWAIN_SOURCE Source, LONG PixelType, LONG BitDepth, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitle(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitleA(DTWAIN_SOURCE Source, LPCSTR szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitleW(DTWAIN_SOURCE Source, LPCWSTR szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptType(DTWAIN_SOURCE Source, LONG PSType);
        DTWAIN_BOOL DTWAIN_SetPrinter(DTWAIN_SOURCE Source, LONG Printer, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterEx(DTWAIN_SOURCE Source, LONG Printer, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterStartNumber(DTWAIN_SOURCE Source, LONG nStart);
        DTWAIN_BOOL DTWAIN_SetPrinterStringMode(DTWAIN_SOURCE Source, LONG PrinterMode, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterStrings(DTWAIN_SOURCE Source, DTWAIN_ARRAY ArrayString, LPLONG pNumStrings);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Suffix);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixStringA(DTWAIN_SOURCE Source, LPCSTR Suffix);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixStringW(DTWAIN_SOURCE Source, LPCWSTR Suffix);
        DTWAIN_BOOL DTWAIN_SetQueryCapSupport(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetResourcePath(DTWAIN_CCHARPTRTYPE ResourcePath);
        DTWAIN_BOOL DTWAIN_SetResourcePathA(LPCSTR ResourcePath);
        DTWAIN_BOOL DTWAIN_SetResourcePathW(LPCWSTR ResourcePath);
        DTWAIN_BOOL DTWAIN_SetRotation(DTWAIN_SOURCE Source, DTWAIN_FLOAT Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationStringA(DTWAIN_SOURCE Source, LPCSTR Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationStringW(DTWAIN_SOURCE Source, LPCWSTR Rotation);
        DTWAIN_BOOL DTWAIN_SetSaveFileName(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE fName);
        DTWAIN_BOOL DTWAIN_SetSaveFileNameA(DTWAIN_SOURCE Source, LPCSTR fName);
        DTWAIN_BOOL DTWAIN_SetSaveFileNameW(DTWAIN_SOURCE Source, LPCWSTR fName);
        DTWAIN_BOOL DTWAIN_SetShadow(DTWAIN_SOURCE Source, DTWAIN_FLOAT Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowStringA(DTWAIN_SOURCE Source, LPCSTR Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowStringW(DTWAIN_SOURCE Source, LPCWSTR Shadow);
        DTWAIN_BOOL DTWAIN_SetSourceUnit(DTWAIN_SOURCE Source, LONG Unit);
        DTWAIN_BOOL DTWAIN_SetTIFFCompressType(DTWAIN_SOURCE Source, LONG Setting);
        DTWAIN_BOOL DTWAIN_SetTIFFInvert(DTWAIN_SOURCE Source, LONG Setting);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectory(DTWAIN_CCHARPTRTYPE szFilePath);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryA(LPCSTR szFilePath);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryEx(DTWAIN_CCHARPTRTYPE szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryExA(LPCSTR szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryExW(LPCWSTR szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryW(LPCWSTR szFilePath);
        DTWAIN_BOOL DTWAIN_SetThreshold(DTWAIN_SOURCE Source, DTWAIN_FLOAT Threshold, DTWAIN_BOOL bSetBithDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdStringA(DTWAIN_SOURCE Source, LPCSTR Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdStringW(DTWAIN_SOURCE Source, LPCWSTR Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetTwainDSM(LONG DSMType);
        DTWAIN_BOOL DTWAIN_SetTwainLog(DWORD LogFlags, DTWAIN_CCHARPTRTYPE lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainLogA(DWORD LogFlags, LPCSTR lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainLogW(DWORD LogFlags, LPCWSTR lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainMode(LONG lAcquireMode);
        DTWAIN_BOOL DTWAIN_SetTwainTimeout(LONG milliseconds);
        DTWAIN_DIBUPDATE_PROC DTWAIN_SetUpdateDibProc(DTWAIN_DIBUPDATE_PROC DibProc);
        DTWAIN_BOOL DTWAIN_SetXResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT xResolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT yResolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_ShowUIOnly(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_ShutdownOCREngine(DTWAIN_OCRENGINE OCREngine);
        DTWAIN_BOOL DTWAIN_SkipImageInfoError(DTWAIN_SOURCE Source, DTWAIN_BOOL bSkip);
        DTWAIN_BOOL DTWAIN_StartThread(DTWAIN_HANDLE DLLHandle);
        DTWAIN_BOOL DTWAIN_StartTwainSession(HWND hWndMsg, DTWAIN_CCHARPTRTYPE lpszDLLName);
        DTWAIN_BOOL DTWAIN_StartTwainSessionA(HWND hWndMsg, LPCSTR lpszDLLName);
        DTWAIN_BOOL DTWAIN_StartTwainSessionW(HWND hWndMsg, LPCWSTR lpszDLLName);
        DTWAIN_BOOL DTWAIN_SysDestroy();
        DTWAIN_HANDLE DTWAIN_SysInitialize();
        DTWAIN_HANDLE DTWAIN_SysInitializeEx(DTWAIN_CCHARPTRTYPE szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2(DTWAIN_CCHARPTRTYPE szINIPath, DTWAIN_CCHARPTRTYPE szImageDLLPath, DTWAIN_CCHARPTRTYPE szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2A(LPCSTR szINIPath, LPCSTR szImageDLLPath, LPCSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2W(LPCWSTR szINIPath, LPCWSTR szImageDLLPath, LPCWSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeExA(LPCSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeExW(LPCWSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLib(HINSTANCE hInstance);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx(HINSTANCE hInstance, DTWAIN_CCHARPTRTYPE szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2(HINSTANCE hInstance, DTWAIN_CCHARPTRTYPE szINIPath, DTWAIN_CCHARPTRTYPE szImageDLLPath, DTWAIN_CCHARPTRTYPE szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2A(HINSTANCE hInstance, LPCSTR szINIPath, LPCSTR szImageDLLPath, LPCSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2W(HINSTANCE hInstance, LPCWSTR szINIPath, LPCWSTR szImageDLLPath, LPCWSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibExA(HINSTANCE hInstance, LPCSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibExW(HINSTANCE hInstance, LPCWSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeNoBlocking();
        DTWAIN_ARRAY DTWAIN_TestGetCap(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_UnlockMemory(HANDLE h);
        DTWAIN_BOOL DTWAIN_UnlockMemoryEx(HANDLE h);
        DTWAIN_BOOL DTWAIN_UpdateCurrentAcquiredImage(DTWAIN_SOURCE Source, HANDLE hNewDib);
        DTWAIN_BOOL DTWAIN_UseMultipleThreads(DTWAIN_BOOL bSet);
  ]]
  return ffi.load(DLLToLoad)
end
function load32bitUnicode(DLLToLoad)
  local ffi = require("ffi")
  ffi.cdef [[
        typedef void* HWND;
        typedef unsigned int UINT;
        typedef unsigned long WPARAM;
        typedef unsigned long LPARAM;
        typedef int DTWAIN_BOOL;
        typedef int BOOL;
        typedef void* DTWAIN_SOURCE;
        typedef void* DTWAIN_HANDLE;
        typedef void* DTWAIN_OCRTEXTINFOHANDLE;
        typedef void* HINSTANCE;
        typedef void* DTWAIN_ARRAY;
        typedef void* LPVOID;
        typedef const char* LPCSTR;
        typedef const wchar_t* LPCWSTR;
        typedef char * LPSTR;
        typedef wchar_t * LPWSTR;
        typedef double DTWAIN_FLOAT;
        typedef double *LPDTWAIN_FLOAT;
        typedef void** LPDTWAIN_ARRAY;
        typedef void* DTWAIN_FRAME;
        typedef void* DTWAIN_RANGE;
        typedef const wchar_t * LPCTSTR;
        typedef wchar_t * LPTSTR;
        typedef LPTSTR DTWAIN_CHARPTRTYPE;
        typedef LPCTSTR DTWAIN_CCHARPTRTYPE;
        typedef long DWORD;
        typedef uint64_t ULONG64;
        typedef int64_t LONG64;
        typedef int64_t LONGLONG;
        typedef int64_t * LPLONG64;
        typedef unsigned long LPDWORD;
        typedef void * HANDLE;
        typedef void * DTWAIN_PDFTEXTELEMENT;
        typedef void * DTWAIN_IDENTITY;
        typedef void * DTWAIN_OCRENGINE;
        typedef long * LPLONG;
        typedef long LONG;
        typedef long DTWAIN_LONG;
        typedef int64_t DTWAIN_LONG64;
        typedef void * TWAIN_IDENTITY;
        typedef void * DTWAIN_MEMORY_PTR;
        typedef int32_t LRESULT;
        typedef int32_t LONG_PTR;
        typedef unsigned char BYTE;
        typedef BYTE* LPBYTE;
        typedef const BYTE* LPCBYTE;
        typedef void (*DTWAIN_CALLBACK)(DTWAIN_HANDLE, DTWAIN_SOURCE, WPARAM, LPARAM);
        typedef LRESULT(__stdcall * DTWAIN_CALLBACK_PROC)(WPARAM, LPARAM, LONG);
        typedef LRESULT(__stdcall * DTWAIN_CALLBACK_PROC64)(WPARAM, LPARAM, LONGLONG);typedef HANDLE(__stdcall * DTWAIN_DIBUPDATE_PROC)(DTWAIN_SOURCE, LONG, HANDLE);
        typedef LRESULT(__stdcall * DTWAIN_LOGGER_PROC)(LPCTSTR, DTWAIN_LONG64);
        typedef LRESULT(__stdcall * DTWAIN_LOGGER_PROCA)(LPCSTR, DTWAIN_LONG64);
        typedef LRESULT(__stdcall * DTWAIN_LOGGER_PROCW)(LPCWSTR, DTWAIN_LONG64);
        typedef LRESULT(__stdcall * DTWAIN_ERROR_PROC)(LONG, LONG);
        typedef LRESULT(__stdcall * DTWAIN_ERROR_PROC64)(LONG, LONG64);
        DTWAIN_BOOL DTWAIN_AcquireAudioFile(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpszFile, LONG lFileFlags, LONG lMaxClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioFileA(DTWAIN_SOURCE Source, LPCSTR lpszFile, LONG lFileFlags, LONG lNumClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioFileW(DTWAIN_SOURCE Source, LPCWSTR lpszFile, LONG lFileFlags, LONG lNumClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireAudioNative(DTWAIN_SOURCE Source, LONG nMaxAudioClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioNativeEx(DTWAIN_SOURCE Source, LONG nMaxAudioClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireBuffered(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireBufferedEx(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFile(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileA(DTWAIN_SOURCE Source, LPCSTR lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileEx(DTWAIN_SOURCE Source, DTWAIN_ARRAY aFileNames, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileW(DTWAIN_SOURCE Source, LPCWSTR lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireNative(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireNativeEx(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireToClipboard(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, LONG nTransferMode, DTWAIN_BOOL bDiscardDibs, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AddExtImageInfoQuery(DTWAIN_SOURCE Source, LONG ExtImageInfo);
        DTWAIN_BOOL DTWAIN_AddPDFText(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextElement(DTWAIN_SOURCE Source, DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_AddPDFTextEx(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextExA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextExW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_CCHARPTRTYPE fontSize, LONG colorRGB, LONG renderMode, DTWAIN_CCHARPTRTYPE scaling, DTWAIN_CCHARPTRTYPE charSpacing, DTWAIN_CCHARPTRTYPE wordSpacing, DTWAIN_CCHARPTRTYPE strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextStringA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, LPCSTR fontSize, LONG colorRGB, LONG renderMode, LPCSTR scaling, LPCSTR charSpacing, LPCSTR wordSpacing, LPCSTR strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextStringW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, LPCWSTR fontSize, LONG colorRGB, LONG renderMode, LPCWSTR scaling, LPCWSTR charSpacing, LPCWSTR wordSpacing, LPCWSTR strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        HANDLE DTWAIN_AllocateMemory(DWORD memSize);
        HANDLE DTWAIN_AllocateMemory64(ULONG64 memSize);
        HANDLE DTWAIN_AllocateMemoryEx(DWORD memSize);
        DTWAIN_BOOL DTWAIN_AppHandlesExceptions(DTWAIN_BOOL bSet);
        DTWAIN_ARRAY DTWAIN_ArrayANSIStringToFloat(DTWAIN_ARRAY StringArray);
        DTWAIN_BOOL DTWAIN_ArrayAdd(DTWAIN_ARRAY pArray, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayAddANSIString(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddANSIStringN(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloat(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatN(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringA(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringN(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringNA(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringNW(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringW(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFrame(DTWAIN_ARRAY pArray, DTWAIN_FRAME frame);
        DTWAIN_BOOL DTWAIN_ArrayAddFrameN(DTWAIN_ARRAY pArray, DTWAIN_FRAME frame, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddLong(DTWAIN_ARRAY pArray, LONG Val);
        DTWAIN_BOOL DTWAIN_ArrayAddLong64(DTWAIN_ARRAY pArray, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArrayAddLong64N(DTWAIN_ARRAY pArray, LONG64 Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddLongN(DTWAIN_ARRAY pArray, LONG Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddN(DTWAIN_ARRAY pArray, LPVOID pVariant, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayAddStringA(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddStringN(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringNA(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringNW(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringW(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddWideString(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddWideStringN(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_ARRAY DTWAIN_ArrayConvertFix32ToFloat(DTWAIN_ARRAY Fix32Array);
        DTWAIN_ARRAY DTWAIN_ArrayConvertFloatToFix32(DTWAIN_ARRAY FloatArray);
        DTWAIN_BOOL DTWAIN_ArrayCopy(DTWAIN_ARRAY Source, DTWAIN_ARRAY Dest);
        DTWAIN_ARRAY DTWAIN_ArrayCreate(LONG nEnumType, LONG nInitialSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateCopy(DTWAIN_ARRAY Source);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromCap(DTWAIN_SOURCE Source, LONG lCapType, LONG lSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromLong64s(LPLONG64 pCArray, LONG nSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromLongs(LPLONG pCArray, LONG nSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromReals(double* pCArray, LONG nSize);
        DTWAIN_BOOL DTWAIN_ArrayDestroy(DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_ArrayDestroyFrames(DTWAIN_ARRAY FrameArray);
        DTWAIN_BOOL DTWAIN_ArrayDumpToLog(DTWAIN_ARRAY pArray);
        LONG DTWAIN_ArrayFind(DTWAIN_ARRAY pArray, LPVOID pVariant);
        LONG DTWAIN_ArrayFindANSIString(DTWAIN_ARRAY pArray, LPCSTR pString);
        LONG DTWAIN_ArrayFindFloat(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val, DTWAIN_FLOAT Tolerance);
        LONG DTWAIN_ArrayFindFloatString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, DTWAIN_CCHARPTRTYPE Tolerance);
        LONG DTWAIN_ArrayFindFloatStringA(DTWAIN_ARRAY pArray, LPCSTR Val, LPCSTR Tolerance);
        LONG DTWAIN_ArrayFindFloatStringW(DTWAIN_ARRAY pArray, LPCWSTR Val, LPCWSTR Tolerance);
        LONG DTWAIN_ArrayFindLong(DTWAIN_ARRAY pArray, LONG Val);
        LONG DTWAIN_ArrayFindLong64(DTWAIN_ARRAY pArray, LONG64 Val);
        LONG DTWAIN_ArrayFindString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE pString);
        LONG DTWAIN_ArrayFindStringA(DTWAIN_ARRAY pArray, LPCSTR pString);
        LONG DTWAIN_ArrayFindStringW(DTWAIN_ARRAY pArray, LPCWSTR pString);
        LONG DTWAIN_ArrayFindWideString(DTWAIN_ARRAY pArray, LPCWSTR pString);
        DTWAIN_BOOL DTWAIN_ArrayFix32GetAt(DTWAIN_ARRAY aFix32, DTWAIN_LONG lPos, LPLONG Whole, LPLONG Frac);
        DTWAIN_BOOL DTWAIN_ArrayFix32SetAt(DTWAIN_ARRAY aFix32, DTWAIN_LONG lPos, DTWAIN_LONG Whole, DTWAIN_LONG Frac);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToANSIString(DTWAIN_ARRAY FloatArray);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToString(DTWAIN_ARRAY FloatArray);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToWideString(DTWAIN_ARRAY FloatArray);
        DTWAIN_BOOL DTWAIN_ArrayGetAt(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayGetAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR pStr);
        LPCSTR DTWAIN_ArrayGetAtANSIStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, LPDTWAIN_FLOAT pVal);
        DTWAIN_FLOAT DTWAIN_ArrayGetAtFloatEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrame(DTWAIN_ARRAY FrameArray, LONG nWhere, LPDTWAIN_FLOAT pleft, LPDTWAIN_FLOAT ptop, LPDTWAIN_FLOAT pright, LPDTWAIN_FLOAT pbottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameEx(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameString(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_CHARPTRTYPE left, DTWAIN_CHARPTRTYPE top, DTWAIN_CHARPTRTYPE right, DTWAIN_CHARPTRTYPE bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameStringA(DTWAIN_ARRAY FrameArray, LONG nWhere, LPSTR left, LPSTR top, LPSTR right, LPSTR bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameStringW(DTWAIN_ARRAY FrameArray, LONG nWhere, LPWSTR left, LPWSTR top, LPWSTR right, LPWSTR bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_ArrayGetAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LPLONG64 pVal);
        LONG64 DTWAIN_ArrayGetAtLong64Ex(DTWAIN_ARRAY pArray, LONG nWhere);
        LONG DTWAIN_ArrayGetAtLongEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtSource(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_SOURCE* ppSource);
        DTWAIN_SOURCE DTWAIN_ArrayGetAtSourceEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CHARPTRTYPE pStr);
        DTWAIN_BOOL DTWAIN_ArrayGetAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR pStr);
        LPCTSTR DTWAIN_ArrayGetAtStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR pStr);
        DTWAIN_BOOL DTWAIN_ArrayGetAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR pStr);
        LPCWSTR DTWAIN_ArrayGetAtWideStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        LPVOID DTWAIN_ArrayGetBuffer(DTWAIN_ARRAY pArray, LONG nPos);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LONG nDataType);
        LONG DTWAIN_ArrayGetCount(DTWAIN_ARRAY pArray);
        LONG DTWAIN_ArrayGetMaxStringLength(DTWAIN_ARRAY a);
        DTWAIN_BOOL DTWAIN_ArrayGetSourceAt(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_SOURCE* ppSource);
        LONG DTWAIN_ArrayGetStringLength(DTWAIN_ARRAY a, LONG nWhichString);
        LONG DTWAIN_ArrayGetType(DTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_ArrayInit();
        DTWAIN_BOOL DTWAIN_ArrayInsertAt(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtANSIStringN(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringNA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringNW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFrame(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FRAME frame);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFrameN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FRAME frame, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong64N(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLongN(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtN(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringNA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringNW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtWideStringN(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAll(DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAt(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAtN(DTWAIN_ARRAY pArray, LONG nWhere, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayResize(DTWAIN_ARRAY pArray, LONG NewSize);
        DTWAIN_BOOL DTWAIN_ArraySetAt(DTWAIN_ARRAY pArray, LONG lPos, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArraySetAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrame(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FLOAT left, DTWAIN_FLOAT top, DTWAIN_FLOAT right, DTWAIN_FLOAT bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameEx(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameString(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_CCHARPTRTYPE left, DTWAIN_CCHARPTRTYPE top, DTWAIN_CCHARPTRTYPE right, DTWAIN_CCHARPTRTYPE bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameStringA(DTWAIN_ARRAY FrameArray, LONG nWhere, LPCSTR left, LPCSTR top, LPCSTR right, LPCSTR bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameStringW(DTWAIN_ARRAY FrameArray, LONG nWhere, LPCWSTR left, LPCWSTR top, LPCWSTR right, LPCWSTR bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal);
        DTWAIN_BOOL DTWAIN_ArraySetAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pStr);
        DTWAIN_ARRAY DTWAIN_ArrayStringToFloat(DTWAIN_ARRAY StringArray);
        DTWAIN_ARRAY DTWAIN_ArrayWideStringToFloat(DTWAIN_ARRAY StringArray);
        LONG DTWAIN_CallCallback(WPARAM wParam, LPARAM lParam, LONG UserData);
        LONG DTWAIN_CallCallback64(WPARAM wParam, LPARAM lParam, LONGLONG UserData);
        LONG DTWAIN_CallDSMProc(DTWAIN_IDENTITY AppID, DTWAIN_IDENTITY SourceId, LONG lDG, LONG lDAT, LONG lMSG, LPVOID pData);
        DTWAIN_BOOL DTWAIN_CheckHandles(DTWAIN_BOOL bCheck);
        DTWAIN_BOOL DTWAIN_ClearBuffers(DTWAIN_SOURCE Source, LONG ClearBuffer);
        DTWAIN_BOOL DTWAIN_ClearErrorBuffer();
        DTWAIN_BOOL DTWAIN_ClearPDFTextElements(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_ClearPage(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_CloseSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_CloseSourceUI(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_ConvertDIBToBitmap(HANDLE hDib, HANDLE hPalette);
        HANDLE DTWAIN_ConvertDIBToFullBitmap(HANDLE hDib, DTWAIN_BOOL isBMP);
        HANDLE DTWAIN_ConvertToAPIString(DTWAIN_CCHARPTRTYPE lpOrigString);
        HANDLE DTWAIN_ConvertToAPIStringA(LPCSTR lpOrigString);
        LONG DTWAIN_ConvertToAPIStringEx(DTWAIN_CCHARPTRTYPE lpOrigString, DTWAIN_CHARPTRTYPE lpOutString, LONG nSize);
        LONG DTWAIN_ConvertToAPIStringExA(LPCSTR lpOrigString, LPSTR lpOutString, LONG nSize);
        LONG DTWAIN_ConvertToAPIStringExW(LPCWSTR lpOrigString, LPWSTR lpOutString, LONG nSize);
        HANDLE DTWAIN_ConvertToAPIStringW(LPCWSTR lpOrigString);
        DTWAIN_ARRAY DTWAIN_CreateAcquisitionArray();
        DTWAIN_PDFTEXTELEMENT DTWAIN_CreatePDFTextElement();
        DTWAIN_PDFTEXTELEMENT DTWAIN_CreatePDFTextElementCopy(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_DeleteDIB(HANDLE hDib);
        DTWAIN_BOOL DTWAIN_DestroyAcquisitionArray(DTWAIN_ARRAY aAcq, DTWAIN_BOOL bDestroyData);
        DTWAIN_BOOL DTWAIN_DestroyPDFTextElement(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_DisableAppWindow(HWND hWnd, DTWAIN_BOOL bDisable);
        DTWAIN_BOOL DTWAIN_EnableAutoBorderDetect(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutoBright(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoDeskew(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutoFeed(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoRotate(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoScan(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutomaticSenseMedium(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableBarcodeDetection(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableDuplex(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableFeeder(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableGetMessageLoop(DTWAIN_SOURCE Source, BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableGetMessageLoopDetection(DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableIndicator(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableJobFileHandling(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableLamp(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableMsgNotify(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnablePatchcodeDetection(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnablePeekMessageLoop(DTWAIN_SOURCE Source, BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnablePrinter(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableThumbnail(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableTripletsNotify(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EndThread(DTWAIN_HANDLE DLLHandle);
        DTWAIN_BOOL DTWAIN_EndTwainSession();
        DTWAIN_BOOL DTWAIN_EnumAlarmVolumes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL expandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumAlarmVolumesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL expandIfRange);
        DTWAIN_BOOL DTWAIN_EnumAlarms(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAlarmsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAudioXferMechs(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAudioXferMechsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAutoFeedValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAutoFeedValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAutomaticCaptures(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumAutomaticCapturesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumAutomaticSenseMedium(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAutomaticSenseMediumEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeCodes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY PCodes);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeCodesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeMaxPriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeMaxPrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeMaxRetries(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeMaxRetriesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodePrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeSearchModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeSearchModesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeTimeOutValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeTimeOutValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBitDepths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBitDepthsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumBitDepthsEx2(DTWAIN_SOURCE Source, LONG PixelType);
        DTWAIN_BOOL DTWAIN_EnumBottomCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumBottomCamerasEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumBrightnessValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumBrightnessValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumCamerasEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumCamerasEx2(DTWAIN_SOURCE Source, LONG nWhichCamera);
        DTWAIN_ARRAY DTWAIN_EnumCapLabels(LONG lCapability);
        DTWAIN_BOOL DTWAIN_EnumCompressionTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumCompressionTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumCompressionTypesEx2(DTWAIN_SOURCE Source, LONG lFileType, DTWAIN_BOOL bUseBufferedMode);
        LONG DTWAIN_EnumContrastValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumContrastValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumCustomCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumCustomCapsEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumDoubleFeedDetectLengths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumDoubleFeedDetectLengthsEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumDoubleFeedDetectValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumDoubleFeedDetectValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumExtImageInfoTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumExtImageInfoTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumExtendedCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumExtendedCapsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumExtendedCapsEx2(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumFileTypeBitsPerPixel(LONG FileType, LPDTWAIN_ARRAY Array);
        DTWAIN_BOOL DTWAIN_EnumFileXferFormats(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumFileXferFormatsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumHalftones(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumHalftonesEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumHighlightValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumHighlightValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumJobControls(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumJobControlsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumLightPaths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightPath);
        DTWAIN_ARRAY DTWAIN_EnumLightPathsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumLightSources(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightSources);
        DTWAIN_ARRAY DTWAIN_EnumLightSourcesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumMaxBuffers(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pMaxBufs, DTWAIN_BOOL bExpandRange);
        DTWAIN_ARRAY DTWAIN_EnumMaxBuffersEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandRange);
        DTWAIN_BOOL DTWAIN_EnumNoiseFilters(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumNoiseFiltersEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumOCRInterfaces(LPDTWAIN_ARRAY OCRInterfaces);
        DTWAIN_ARRAY DTWAIN_EnumOCRInterfacesEx();
        DTWAIN_BOOL DTWAIN_EnumOCRSupportedCaps(DTWAIN_OCRENGINE Engine, LPDTWAIN_ARRAY SupportedCaps);
        DTWAIN_BOOL DTWAIN_EnumOrientations(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumOrientationsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumOverscanValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumOverscanValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPaperSizes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPaperSizesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeCodes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY PCodes);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeCodesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeMaxPrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeMaxRetries(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeMaxRetriesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodePrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeSearchModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeSearchModesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeTimeOutValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeTimeOutValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPixelTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPixelTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPrinterStringModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPrinterStringModesEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumShadowValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumShadowValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceUnits(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY lpArray);
        DTWAIN_ARRAY DTWAIN_EnumSourceUnitsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumSourceValues(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceValuesA(DTWAIN_SOURCE Source, LPCSTR capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceValuesW(DTWAIN_SOURCE Source, LPCWSTR capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSources(LPDTWAIN_ARRAY lpArray);
        DTWAIN_ARRAY DTWAIN_EnumSourcesEx();
        DTWAIN_BOOL DTWAIN_EnumSupportedCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumSupportedCapsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumSupportedCapsEx2(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumSupportedExtImageInfo(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumSupportedExtImageInfoEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumSupportedFileTypes();
        DTWAIN_ARRAY DTWAIN_EnumSupportedMultiPageFileTypes();
        DTWAIN_ARRAY DTWAIN_EnumSupportedSinglePageFileTypes();
        LONG DTWAIN_EnumThresholdValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumThresholdValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumTopCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumTopCamerasEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumTwainPrinters(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY lpAvailPrinters);
        DTWAIN_ARRAY DTWAIN_EnumTwainPrintersEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumXResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumXResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumYResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumYResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_ExecuteOCR(DTWAIN_OCRENGINE Engine, DTWAIN_CCHARPTRTYPE szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_ExecuteOCRA(DTWAIN_OCRENGINE Engine, LPCSTR szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_ExecuteOCRW(DTWAIN_OCRENGINE Engine, LPCWSTR szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_FeedPage(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_FlipBitmap(HANDLE hDib);
        DTWAIN_BOOL DTWAIN_FlushAcquiredPages(DTWAIN_SOURCE Source);
        DTWAIN_FRAME DTWAIN_FrameCreate(DTWAIN_FLOAT Left, DTWAIN_FLOAT Top, DTWAIN_FLOAT Right, DTWAIN_FLOAT Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateString(DTWAIN_CCHARPTRTYPE Left, DTWAIN_CCHARPTRTYPE Top, DTWAIN_CCHARPTRTYPE Right, DTWAIN_CCHARPTRTYPE Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateStringA(LPCSTR Left, LPCSTR Top, LPCSTR Right, LPCSTR Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateStringW(LPCWSTR Left, LPCWSTR Top, LPCWSTR Right, LPCWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameDestroy(DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_FrameGetAll(DTWAIN_FRAME Frame, LPDTWAIN_FLOAT Left, LPDTWAIN_FLOAT Top, LPDTWAIN_FLOAT Right, LPDTWAIN_FLOAT Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllString(DTWAIN_FRAME Frame, DTWAIN_CHARPTRTYPE Left, DTWAIN_CHARPTRTYPE Top, DTWAIN_CHARPTRTYPE Right, DTWAIN_CHARPTRTYPE Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllStringA(DTWAIN_FRAME Frame, LPSTR Left, LPSTR Top, LPSTR Right, LPSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllStringW(DTWAIN_FRAME Frame, LPWSTR Left, LPWSTR Top, LPWSTR Right, LPWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetValue(DTWAIN_FRAME Frame, LONG nWhich, LPDTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueString(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_CHARPTRTYPE Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueStringA(DTWAIN_FRAME Frame, LONG nWhich, LPSTR Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueStringW(DTWAIN_FRAME Frame, LONG nWhich, LPWSTR Value);
        DTWAIN_BOOL DTWAIN_FrameIsValid(DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_FrameSetAll(DTWAIN_FRAME Frame, DTWAIN_FLOAT Left, DTWAIN_FLOAT Top, DTWAIN_FLOAT Right, DTWAIN_FLOAT Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllString(DTWAIN_FRAME Frame, DTWAIN_CCHARPTRTYPE Left, DTWAIN_CCHARPTRTYPE Top, DTWAIN_CCHARPTRTYPE Right, DTWAIN_CCHARPTRTYPE Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllStringA(DTWAIN_FRAME Frame, LPCSTR Left, LPCSTR Top, LPCSTR Right, LPCSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllStringW(DTWAIN_FRAME Frame, LPCWSTR Left, LPCWSTR Top, LPCWSTR Right, LPCWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetValue(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueString(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_CCHARPTRTYPE Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueStringA(DTWAIN_FRAME Frame, LONG nWhich, LPCSTR Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueStringW(DTWAIN_FRAME Frame, LONG nWhich, LPCWSTR Value);
        DTWAIN_BOOL DTWAIN_FreeExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_FreeMemory(HANDLE h);
        DTWAIN_BOOL DTWAIN_FreeMemoryEx(HANDLE h);
        LONG DTWAIN_GetAPIHandleStatus(DTWAIN_HANDLE pHandle);
        DTWAIN_BOOL DTWAIN_GetAcquireArea(DTWAIN_SOURCE Source, LONG lGetType, LPDTWAIN_ARRAY FloatEnum);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT left, LPDTWAIN_FLOAT top, LPDTWAIN_FLOAT right, LPDTWAIN_FLOAT bottom, LPLONG lpUnit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2String(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE left, DTWAIN_CHARPTRTYPE top, DTWAIN_CHARPTRTYPE right, DTWAIN_CHARPTRTYPE bottom, LPLONG Unit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2StringA(DTWAIN_SOURCE Source, LPSTR left, LPSTR top, LPSTR right, LPSTR bottom, LPLONG Unit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2StringW(DTWAIN_SOURCE Source, LPWSTR left, LPWSTR top, LPWSTR right, LPWSTR bottom, LPLONG Unit);
        DTWAIN_ARRAY DTWAIN_GetAcquireAreaEx(DTWAIN_SOURCE Source, LONG lGetType);
        DTWAIN_BOOL DTWAIN_GetAcquireMetrics(DTWAIN_SOURCE source, LPLONG ImageCount, LPLONG SheetCount);
        HANDLE DTWAIN_GetAcquireStripBuffer(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetAcquireStripData(DTWAIN_SOURCE Source, LPLONG lpCompression, LPDWORD lpBytesPerRow, LPDWORD lpColumns, LPDWORD lpRows, LPDWORD XOffset, LPDWORD YOffset, LPDWORD lpBytesWritten);
        DTWAIN_BOOL DTWAIN_GetAcquireStripSizes(DTWAIN_SOURCE Source, LPDWORD lpMin, LPDWORD lpMax, LPDWORD lpPreferred);
        HANDLE DTWAIN_GetAcquiredImage(DTWAIN_ARRAY aAcq, LONG nWhichAcq, LONG nWhichDib);
        DTWAIN_ARRAY DTWAIN_GetAcquiredImageArray(DTWAIN_ARRAY aAcq, LONG nWhichAcq);
        DTWAIN_ARRAY DTWAIN_GetAcquisitionArray(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetActiveDSMPath(DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMPathA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMPathW(LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfo(DTWAIN_CHARPTRTYPE szDLLInfo, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfoA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfoW(LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetAlarmVolume(DTWAIN_SOURCE Source, LPLONG lpVolume);
        DTWAIN_ARRAY DTWAIN_GetAllSourceDibs(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetAppInfo(DTWAIN_CHARPTRTYPE szVerStr, DTWAIN_CHARPTRTYPE szManu, DTWAIN_CHARPTRTYPE szProdFam, DTWAIN_CHARPTRTYPE szProdName);
        DTWAIN_BOOL DTWAIN_GetAppInfoA(LPSTR szVerStr, LPSTR szManu, LPSTR szProdFam, LPSTR szProdName);
        DTWAIN_BOOL DTWAIN_GetAppInfoW(LPWSTR szVerStr, LPWSTR szManu, LPWSTR szProdFam, LPWSTR szProdName);
        DTWAIN_BOOL DTWAIN_GetAuthor(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szAuthor);
        DTWAIN_BOOL DTWAIN_GetAuthorA(DTWAIN_SOURCE Source, LPSTR szAuthor);
        DTWAIN_BOOL DTWAIN_GetAuthorW(DTWAIN_SOURCE Source, LPWSTR szAuthor);
        DTWAIN_BOOL DTWAIN_GetBarcodeMaxPriorities(DTWAIN_SOURCE Source, LPLONG pMaxPriorities, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodeMaxRetries(DTWAIN_SOURCE Source, LPLONG pMaxRetries, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_GetBarcodeSearchMode(DTWAIN_SOURCE Source, LPLONG pSearchMode, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodeTimeOut(DTWAIN_SOURCE Source, LPLONG pTimeOut, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBatteryMinutes(DTWAIN_SOURCE Source, LPLONG lpMinutes);
        DTWAIN_BOOL DTWAIN_GetBatteryPercent(DTWAIN_SOURCE Source, LPLONG lpPercent);
        DTWAIN_BOOL DTWAIN_GetBitDepth(DTWAIN_SOURCE Source, LPLONG BitDepth, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetBitDepthEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetBlankPageAutoDetection(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetBrightness(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Brightness);
        DTWAIN_FLOAT DTWAIN_GetBrightnessEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetBrightnessString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Brightness);
        DTWAIN_BOOL DTWAIN_GetBrightnessStringA(DTWAIN_SOURCE Source, LPSTR Contrast);
        DTWAIN_BOOL DTWAIN_GetBrightnessStringW(DTWAIN_SOURCE Source, LPWSTR Contrast);
        HANDLE DTWAIN_GetBufferedTransferInfo(DTWAIN_SOURCE Source, LPDWORD Compression, LPDWORD BytesPerRow, LPDWORD Columns, LPDWORD Rows, LPDWORD XOffset, LPDWORD YOffset, LPDWORD Flags, LPDWORD BytesWritten, LPDWORD MemoryLength);
        DTWAIN_CALLBACK_PROC DTWAIN_GetCallback();
        DTWAIN_CALLBACK_PROC64 DTWAIN_GetCallback64();
        LONG DTWAIN_GetCapArrayType(DTWAIN_SOURCE Source, LONG nCap);
        LONG DTWAIN_GetCapContainer(DTWAIN_SOURCE Source, LONG nCap, LONG lCapType);
        LONG DTWAIN_GetCapContainerEx(LONG nCap, DTWAIN_BOOL bSetContainer, LPDTWAIN_ARRAY ConTypes);
        DTWAIN_ARRAY DTWAIN_GetCapContainerEx2(LONG nCap, DTWAIN_BOOL bSetContainer);
        LONG DTWAIN_GetCapDataType(DTWAIN_SOURCE Source, LONG nCap);
        LONG DTWAIN_GetCapFromName(DTWAIN_CCHARPTRTYPE szName);
        LONG DTWAIN_GetCapFromNameA(LPCSTR szName);
        LONG DTWAIN_GetCapFromNameW(LPCWSTR szName);
        LONG DTWAIN_GetCapHelp(LONG lCapability, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetCapHelpA(LONG lCapability, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapHelpW(LONG lCapability, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabel(LONG lCapability, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabelA(LONG lCapability, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabelW(LONG lCapability, LPWSTR lpszOut, LONG nnSize);
        DTWAIN_BOOL DTWAIN_GetCapOperations(DTWAIN_SOURCE Source, LONG lCapability, LPLONG lpOps);
        LONG DTWAIN_GetCapOperationsEx(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_GetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LONG nDataType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCaption(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Caption);
        DTWAIN_BOOL DTWAIN_GetCaptionA(DTWAIN_SOURCE Source, LPSTR Caption);
        DTWAIN_BOOL DTWAIN_GetCaptionW(DTWAIN_SOURCE Source, LPWSTR Caption);
        DTWAIN_BOOL DTWAIN_GetCompressionSize(DTWAIN_SOURCE Source, LPLONG lBytes);
        DTWAIN_BOOL DTWAIN_GetCompressionType(DTWAIN_SOURCE Source, LPLONG lpCompression, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetCompressionTypeEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetConditionCodeString(LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConditionCodeStringA(LONG lError, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConditionCodeStringW(LONG lError, LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConstantFromTwainName(DTWAIN_CCHARPTRTYPE lpszBuffer);
        LONG DTWAIN_GetConstantFromTwainNameA(LPCSTR lpszBuffer);
        LONG DTWAIN_GetConstantFromTwainNameW(LPCWSTR lpszBuffer);
        DTWAIN_BOOL DTWAIN_GetContrast(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Contrast);
        DTWAIN_FLOAT DTWAIN_GetContrastEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetContrastString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Contrast);
        DTWAIN_BOOL DTWAIN_GetContrastStringA(DTWAIN_SOURCE Source, LPSTR Contrast);
        DTWAIN_BOOL DTWAIN_GetContrastStringW(DTWAIN_SOURCE Source, LPWSTR Contrast);
        LONG DTWAIN_GetCountry();
        HANDLE DTWAIN_GetCurrentAcquiredImage(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetCurrentFileName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentFileNameA(DTWAIN_SOURCE Source, LPSTR szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentFileNameW(DTWAIN_SOURCE Source, LPWSTR szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentPageNum(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetCurrentRetryCount(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_GetCustomDSData(DTWAIN_SOURCE Source, LPBYTE Data, DWORD dSize, LPDWORD pActualSize, LONG nFlags);
        LONG DTWAIN_GetDSMFullName(LONG DSMType, DTWAIN_CHARPTRTYPE szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMFullNameA(LONG DSMType, LPSTR szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMFullNameW(LONG DSMType, LPWSTR szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMSearchOrder();
        LONG DTWAIN_GetDSMSearchOrderEx(DTWAIN_CHARPTRTYPE SearchOrder, DTWAIN_CHARPTRTYPE UserDirectory);
        LONG DTWAIN_GetDSMSearchOrderExA(LPSTR SearchOrder, LPSTR UserDirectory);
        LONG DTWAIN_GetDSMSearchOrderExW(LPWSTR SearchOrder, LPWSTR UserDirectory);
        DTWAIN_HANDLE DTWAIN_GetDTWAINHandle();
        DTWAIN_BOOL DTWAIN_GetDeviceEvent(DTWAIN_SOURCE Source, LPLONG lpEvent);
        DTWAIN_BOOL DTWAIN_GetDeviceEventEx(DTWAIN_SOURCE Source, LPLONG lpEvent, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetDeviceEventInfo(DTWAIN_SOURCE Source, LONG nWhichInfo, LPVOID pValue);
        DTWAIN_BOOL DTWAIN_GetDeviceNotifications(DTWAIN_SOURCE Source, LPLONG DevEvents);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDate(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDateA(DTWAIN_SOURCE Source, LPSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDateW(DTWAIN_SOURCE Source, LPWSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDoubleFeedDetectLength(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Value, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetDoubleFeedDetectValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetDuplexType(DTWAIN_SOURCE Source, LPLONG lpDupType);
        LONG DTWAIN_GetDuplexTypeEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetErrorBuffer(LPDTWAIN_ARRAY ArrayBuffer);
        LONG DTWAIN_GetErrorBufferThreshold();
        DTWAIN_ERROR_PROC DTWAIN_GetErrorCallback();
        DTWAIN_ERROR_PROC64 DTWAIN_GetErrorCallback64();
        LONG DTWAIN_GetErrorString(LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetErrorStringA(LONG lError, LPSTR lpszBuffer, LONG nLength);
        LONG DTWAIN_GetErrorStringW(LONG lError, LPWSTR lpszBuffer, LONG nLength);
        LONG DTWAIN_GetExtCapFromName(DTWAIN_CCHARPTRTYPE szName);
        LONG DTWAIN_GetExtCapFromNameA(LPCSTR szName);
        LONG DTWAIN_GetExtCapFromNameW(LPCWSTR szName);
        DTWAIN_BOOL DTWAIN_GetExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoData(DTWAIN_SOURCE Source, LONG nWhich, LPDTWAIN_ARRAY Data);
        DTWAIN_ARRAY DTWAIN_GetExtImageInfoDataEx(DTWAIN_SOURCE Source, LONG nWhich);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoItem(DTWAIN_SOURCE Source, LONG nWhich, LPLONG InfoID, LPLONG NumItems, LPLONG Type);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoItemEx(DTWAIN_SOURCE Source, LONG nWhich, LPLONG InfoID, LPLONG NumItems, LPLONG Type, LPLONG ReturnCode);
        LONG DTWAIN_GetExtNameFromCap(LONG nValue, DTWAIN_CHARPTRTYPE szValue, LONG nMaxLen);
        LONG DTWAIN_GetExtNameFromCapA(LONG nValue, LPSTR szValue, LONG nLength);
        LONG DTWAIN_GetExtNameFromCapW(LONG nValue, LPWSTR szValue, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetFeederAlignment(DTWAIN_SOURCE Source, LPLONG lpAlignment);
        LONG DTWAIN_GetFeederFuncs(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetFeederOrder(DTWAIN_SOURCE Source, LPLONG lpOrder);
        LONG DTWAIN_GetFeederWaitTime(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileCompressionType(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileSavePageCount(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileTypeExtensions(LONG nType, DTWAIN_CHARPTRTYPE lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeExtensionsA(LONG nType, LPSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeExtensionsW(LONG nType, LPWSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeName(LONG nType, DTWAIN_CHARPTRTYPE lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeNameA(LONG nType, LPSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeNameW(LONG nType, LPWSTR lpszName, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetHalftone(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHalftoneA(DTWAIN_SOURCE Source, LPSTR lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHalftoneW(DTWAIN_SOURCE Source, LPWSTR lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHighlight(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightStringA(DTWAIN_SOURCE Source, LPSTR Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightStringW(DTWAIN_SOURCE Source, LPWSTR Highlight);
        DTWAIN_BOOL DTWAIN_GetImageInfo(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT lpXResolution, LPDTWAIN_FLOAT lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE lpXResolution, DTWAIN_CHARPTRTYPE lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoStringA(DTWAIN_SOURCE Source, LPSTR lpXResolution, LPSTR lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoStringW(DTWAIN_SOURCE Source, LPWSTR lpXResolution, LPWSTR lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetJobControl(DTWAIN_SOURCE Source, LPLONG pJobControl, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetJobControlEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bGetCurrent);
        DTWAIN_BOOL DTWAIN_GetJpegValues(DTWAIN_SOURCE Source, LPLONG pQuality, LPLONG Progressive);
        DTWAIN_BOOL DTWAIN_GetJpegXRValues(DTWAIN_SOURCE Source, LPLONG pQuality, LPLONG Progressive);
        LONG DTWAIN_GetLanguage();
        LONG DTWAIN_GetLastError();
        LONG DTWAIN_GetLibraryPath(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetLibraryPathA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetLibraryPathW(LPWSTR lpszVer, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetLightPath(DTWAIN_SOURCE Source, LPLONG lpLightPath);
        DTWAIN_BOOL DTWAIN_GetLightPathEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetLightSource(DTWAIN_SOURCE Source, LPLONG LightSource);
        DTWAIN_BOOL DTWAIN_GetLightSources(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightSources);
        DTWAIN_ARRAY DTWAIN_GetLightSourcesEx(DTWAIN_SOURCE Source);
        DTWAIN_LOGGER_PROC DTWAIN_GetLoggerCallback();
        DTWAIN_LOGGER_PROCA DTWAIN_GetLoggerCallbackA();
        DTWAIN_LOGGER_PROCW DTWAIN_GetLoggerCallbackW();
        DTWAIN_BOOL DTWAIN_GetManualDuplexCount(DTWAIN_SOURCE Source, LPLONG pSide1, LPLONG pSide2);
        LONG DTWAIN_GetMaxAcquisitions(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetMaxBuffers(DTWAIN_SOURCE Source, LPLONG pMaxBuf);
        LONG DTWAIN_GetMaxPagesToAcquire(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetMaxRetryAttempts(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetNameFromCap(LONG nCapValue, DTWAIN_CHARPTRTYPE szValue, LONG nMaxLen);
        LONG DTWAIN_GetNameFromCapA(LONG nCapValue, LPSTR szValue, LONG nLength);
        LONG DTWAIN_GetNameFromCapW(LONG nCapValue, LPWSTR szValue, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetNoiseFilter(DTWAIN_SOURCE Source, LPLONG lpNoiseFilter);
        LONG DTWAIN_GetNumAcquiredImages(DTWAIN_ARRAY aAcq, LONG nWhich);
        LONG DTWAIN_GetNumAcquisitions(DTWAIN_ARRAY aAcq);
        DTWAIN_BOOL DTWAIN_GetOCRCapValues(DTWAIN_OCRENGINE Engine, LONG OCRCapValue, LONG GetType, LPDTWAIN_ARRAY CapValues);
        LONG DTWAIN_GetOCRErrorString(DTWAIN_OCRENGINE Engine, LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRErrorStringA(DTWAIN_OCRENGINE Engine, LONG lError, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRErrorStringW(DTWAIN_OCRENGINE Engine, LONG lError, LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRLastError(DTWAIN_OCRENGINE Engine);
        DTWAIN_BOOL DTWAIN_GetOCRMajorMinorVersion(DTWAIN_OCRENGINE Engine, LPLONG lpMajor, LPLONG lpMinor);
        LONG DTWAIN_GetOCRManufacturer(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szManufacturer, LONG nMaxLen);
        LONG DTWAIN_GetOCRManufacturerA(DTWAIN_OCRENGINE Engine, LPSTR szManufacturer, LONG nLength);
        LONG DTWAIN_GetOCRManufacturerW(DTWAIN_OCRENGINE Engine, LPWSTR szManufacturer, LONG nLength);
        LONG DTWAIN_GetOCRProductFamily(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szProductFamily, LONG nMaxLen);
        LONG DTWAIN_GetOCRProductFamilyA(DTWAIN_OCRENGINE Engine, LPSTR szProductFamily, LONG nLength);
        LONG DTWAIN_GetOCRProductFamilyW(DTWAIN_OCRENGINE Engine, LPWSTR szProductFamily, LONG nLength);
        LONG DTWAIN_GetOCRProductName(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szProductName, LONG nMaxLen);
        LONG DTWAIN_GetOCRProductNameA(DTWAIN_OCRENGINE Engine, LPSTR szProductName, LONG nLength);
        LONG DTWAIN_GetOCRProductNameW(DTWAIN_OCRENGINE Engine, LPWSTR szProductName, LONG nLength);
        HANDLE DTWAIN_GetOCRText(DTWAIN_OCRENGINE Engine, LONG nPageNo, DTWAIN_CHARPTRTYPE Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        HANDLE DTWAIN_GetOCRTextA(DTWAIN_OCRENGINE Engine, LONG nPageNo, LPSTR Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoFloat(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nCharPos, LONG nWhichItem, LPDTWAIN_FLOAT pInfo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoFloatEx(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nWhichItem, LPDTWAIN_FLOAT pInfo, LONG bufSize);
        DTWAIN_OCRTEXTINFOHANDLE DTWAIN_GetOCRTextInfoHandle(DTWAIN_OCRENGINE Engine, LONG nPageNo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoLong(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nCharPos, LONG nWhichItem, LPLONG pInfo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoLongEx(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nWhichItem, LPLONG pInfo, LONG bufSize);
        HANDLE DTWAIN_GetOCRTextW(DTWAIN_OCRENGINE Engine, LONG nPageNo, LPWSTR Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        LONG DTWAIN_GetOCRVersionInfo(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE buffer, LONG maxBufSize);
        LONG DTWAIN_GetOCRVersionInfoA(DTWAIN_OCRENGINE Engine, LPSTR buffer, LONG nLength);
        LONG DTWAIN_GetOCRVersionInfoW(DTWAIN_OCRENGINE Engine, LPWSTR buffer, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetOrientation(DTWAIN_SOURCE Source, LPLONG lpOrient, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetOrientationEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetOverscan(DTWAIN_SOURCE Source, LPLONG lpOverscan, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPDFTextElementFloat(DTWAIN_PDFTEXTELEMENT TextElement, LPDTWAIN_FLOAT val1, LPDTWAIN_FLOAT val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_GetPDFTextElementLong(DTWAIN_PDFTEXTELEMENT TextElement, LPLONG val1, LPLONG val2, LONG Flags);
        LONG DTWAIN_GetPDFTextElementString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CHARPTRTYPE szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFTextElementStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPSTR szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFTextElementStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPWSTR szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFType1FontName(LONG FontVal, DTWAIN_CHARPTRTYPE szFont, LONG nChars);
        LONG DTWAIN_GetPDFType1FontNameA(LONG FontVal, LPSTR szFont, LONG nChars);
        LONG DTWAIN_GetPDFType1FontNameW(LONG FontVal, LPWSTR szFont, LONG nChars);
        DTWAIN_BOOL DTWAIN_GetPaperSize(DTWAIN_SOURCE Source, LPLONG lpPaperSize, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPaperSizeName(LONG paperNumber, DTWAIN_CHARPTRTYPE outName, LONG nSize);
        LONG DTWAIN_GetPaperSizeNameA(LONG paperNumber, LPSTR outName, LONG nSize);
        LONG DTWAIN_GetPaperSizeNameW(LONG paperNumber, LPWSTR outName, LONG nSize);
        DTWAIN_BOOL DTWAIN_GetPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LPLONG pMaxPriorities, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodeMaxRetries(DTWAIN_SOURCE Source, LPLONG pMaxRetries, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_GetPatchcodeSearchMode(DTWAIN_SOURCE Source, LPLONG pSearchMode, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodeTimeOut(DTWAIN_SOURCE Source, LPLONG pTimeOut, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPixelFlavor(DTWAIN_SOURCE Source, LPLONG lpPixelFlavor);
        DTWAIN_BOOL DTWAIN_GetPixelType(DTWAIN_SOURCE Source, LPLONG PixelType, LPLONG BitDepth, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinter(DTWAIN_SOURCE Source, LPLONG lpPrinter, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPrinterEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinterStartNumber(DTWAIN_SOURCE Source, LPLONG nStart);
        LONG DTWAIN_GetPrinterStartNumberEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetPrinterStringMode(DTWAIN_SOURCE Source, LPLONG PrinterMode, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPrinterStringModeEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinterStrings(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY ArrayString);
        DTWAIN_ARRAY DTWAIN_GetPrinterStringsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Suffix, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixStringA(DTWAIN_SOURCE Source, LPSTR Suffix, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixStringW(DTWAIN_SOURCE Source, LPWSTR Suffix, LONG nLength);
        LONG DTWAIN_GetRegisteredMsg();
        DTWAIN_BOOL DTWAIN_GetResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_FLOAT DTWAIN_GetResolutionEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        LONG DTWAIN_GetResourceString(LONG ResourceID, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetResourceStringA(LONG ResourceID, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetResourceStringW(LONG ResourceID, LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetRotation(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Rotation);
        DTWAIN_FLOAT DTWAIN_GetRotationEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetRotationString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Rotation);
        DTWAIN_BOOL DTWAIN_GetRotationStringA(DTWAIN_SOURCE Source, LPSTR Rotation);
        DTWAIN_BOOL DTWAIN_GetRotationStringW(DTWAIN_SOURCE Source, LPWSTR Rotation);
        LONG DTWAIN_GetSaveFileName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE fName, LONG nMaxLen);
        LONG DTWAIN_GetSaveFileNameA(DTWAIN_SOURCE Source, LPSTR fName, LONG nMaxLen);
        LONG DTWAIN_GetSaveFileNameW(DTWAIN_SOURCE Source, LPWSTR fName, LONG nMaxLen);
        LONG DTWAIN_GetSessionDetails(DTWAIN_CHARPTRTYPE szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSessionDetailsA(LPSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSessionDetailsW(LPWSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        DTWAIN_BOOL DTWAIN_GetShadow(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowStringA(DTWAIN_SOURCE Source, LPSTR Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowStringW(DTWAIN_SOURCE Source, LPWSTR Shadow);
        LONG DTWAIN_GetShortVersionString(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetShortVersionStringA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetShortVersionStringW(LPWSTR lpszVer, LONG nLength);
        DTWAIN_ARRAY DTWAIN_GetSourceAcquisitions(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceDetails(DTWAIN_CCHARPTRTYPE szSources, DTWAIN_CHARPTRTYPE szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSourceDetailsA(LPCSTR szSources, LPSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSourceDetailsW(LPCWSTR szSources, LPWSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        DTWAIN_IDENTITY DTWAIN_GetSourceID(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceManufacturer(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceManufacturerA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceManufacturerW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductFamily(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceProductFamilyA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductFamilyW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceProductNameA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductNameW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetSourceUnit(DTWAIN_SOURCE Source, LPLONG lpUnit);
        LONG DTWAIN_GetSourceUnitEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceVersionInfo(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceVersionInfoA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceVersionInfoW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetSourceVersionNumber(DTWAIN_SOURCE Source, LPLONG pMajor, LPLONG pMinor);
        LONG DTWAIN_GetStaticLibVersion();
        LONG DTWAIN_GetTempFileDirectory(DTWAIN_CHARPTRTYPE szFilePath, LONG nMaxLen);
        LONG DTWAIN_GetTempFileDirectoryA(LPSTR szFilePath, LONG nLength);
        LONG DTWAIN_GetTempFileDirectoryW(LPWSTR szFilePath, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetThreshold(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdStringA(DTWAIN_SOURCE Source, LPSTR Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdStringW(DTWAIN_SOURCE Source, LPWSTR Threshold);
        DTWAIN_BOOL DTWAIN_GetTimeDate(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_GetTimeDateA(DTWAIN_SOURCE Source, LPSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetTimeDateW(DTWAIN_SOURCE Source, LPWSTR szTimeDate);
        DTWAIN_IDENTITY DTWAIN_GetTwainAppID();
        LONG DTWAIN_GetTwainAvailability();
        LONG DTWAIN_GetTwainAvailabilityEx(DTWAIN_CHARPTRTYPE directories, LONG nMaxLen);
        LONG DTWAIN_GetTwainAvailabilityExA(LPSTR szDirectories, LONG nLength);
        LONG DTWAIN_GetTwainAvailabilityExW(LPWSTR szDirectories, LONG nLength);
        HWND DTWAIN_GetTwainHwnd();
        LONG DTWAIN_GetTwainMode();
        LONG DTWAIN_GetTwainNameFromConstant(LONG lConstantType, LONG lTwainConstant, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantA(LONG lConstantType, LONG lTwainConstant, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantEx(LONG lConstantType, LONG lTwainConstant, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantExA(LONG lConstantType, LONG lTwainConstant, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantExW(LONG lConstantType, LONG lTwainConstant, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantW(LONG lConstantType, LONG lTwainConstant, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainTimeout();
        DTWAIN_BOOL DTWAIN_GetVersion(LPLONG lpMajor, LPLONG lpMinor, LPLONG lpVersionType);
        LONG DTWAIN_GetVersionCopyright(DTWAIN_CHARPTRTYPE lpszApp, LONG nLength);
        LONG DTWAIN_GetVersionCopyrightA(LPSTR lpszApp, LONG nLength);
        LONG DTWAIN_GetVersionCopyrightW(LPWSTR lpszApp, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetVersionEx(LPLONG lMajor, LPLONG lMinor, LPLONG lVersionType, LPLONG lPatchLevel);
        LONG DTWAIN_GetVersionInfo(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionInfoA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionInfoW(LPWSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionString(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionStringA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionStringW(LPWSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetWindowsVersionInfo(DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetWindowsVersionInfoA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetWindowsVersionInfoW(LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetXResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        DTWAIN_BOOL DTWAIN_InitExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_InitImageFileAppend(DTWAIN_CCHARPTRTYPE szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitImageFileAppendA(LPCSTR szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitImageFileAppendW(LPCWSTR szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitOCRInterface();
        DTWAIN_BOOL DTWAIN_IsAcquiring();
        DTWAIN_BOOL DTWAIN_IsAudioXferSupported(DTWAIN_SOURCE Source, LONG supportVal);
        DTWAIN_BOOL DTWAIN_IsAutoBorderDetectEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBorderDetectSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBrightEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBrightSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoDeskewEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoDeskewSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoFeedEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoFeedSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoRotateEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoRotateSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoScanEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutomaticSenseMediumEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutomaticSenseMediumSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeCapsSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeDetectionEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeSupported(DTWAIN_SOURCE Source, LONG BarCode);
        DTWAIN_BOOL DTWAIN_IsBlankPageDetectionOn(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBufferedTileModeOn(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBufferedTileModeSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsCapSupported(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_IsCompressionSupported(DTWAIN_SOURCE Source, LONG Compression);
        DTWAIN_BOOL DTWAIN_IsCustomDSDataSupported(DTWAIN_SOURCE Source);
        LONG DTWAIN_IsDIBBlank(HANDLE hDib, DTWAIN_FLOAT threshold);
        LONG DTWAIN_IsDIBBlankString(HANDLE hDib, DTWAIN_CCHARPTRTYPE threshold);
        LONG DTWAIN_IsDIBBlankStringA(HANDLE hDib, LPCSTR threshold);
        LONG DTWAIN_IsDIBBlankStringW(HANDLE hDib, LPCWSTR threshold);
        DTWAIN_BOOL DTWAIN_IsDeviceEventSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDeviceOnLine(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDoubleFeedDetectLengthSupported(DTWAIN_SOURCE Source, DTWAIN_FLOAT value);
        DTWAIN_BOOL DTWAIN_IsDoubleFeedDetectSupported(DTWAIN_SOURCE Source, LONG SupportVal);
        DTWAIN_BOOL DTWAIN_IsDuplexEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDuplexSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsExtImageInfoSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederLoaded(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederSensitive(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFileSystemSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFileXferSupported(DTWAIN_SOURCE Source, LONG lFileType);
        DTWAIN_BOOL DTWAIN_IsGetMessageLoopDetectionOn();
        DTWAIN_BOOL DTWAIN_IsGetMessageLoopEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldALastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldALevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldAPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldAValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldELastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldELevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldEPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldEValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsImageAddressingSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIndicatorEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIndicatorSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsInitialized();
        DTWAIN_BOOL DTWAIN_IsJobControlSupported(DTWAIN_SOURCE Source, LONG JobControl);
        DTWAIN_BOOL DTWAIN_IsLampEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLampSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLightPathSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLightSourceSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsMaxBuffersSupported(DTWAIN_SOURCE Source, LONG MaxBuf);
        DTWAIN_BOOL DTWAIN_IsMemFileXferSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsMsgNotifyEnabled();
        DTWAIN_BOOL DTWAIN_IsNotifyTripletsEnabled();
        DTWAIN_BOOL DTWAIN_IsOCREngineActivated(DTWAIN_OCRENGINE OCREngine);
        DTWAIN_BOOL DTWAIN_IsOpenSourcesOnSelect();
        DTWAIN_BOOL DTWAIN_IsOrientationSupported(DTWAIN_SOURCE Source, LONG Orientation);
        DTWAIN_BOOL DTWAIN_IsOverscanSupported(DTWAIN_SOURCE Source, LONG SupportValue);
        DTWAIN_BOOL DTWAIN_IsPaperDetectable(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPaperSizeSupported(DTWAIN_SOURCE Source, LONG PaperSize);
        DTWAIN_BOOL DTWAIN_IsPatchcodeCapsSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPatchcodeDetectionEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPatchcodeSupported(DTWAIN_SOURCE Source, LONG PatchCode);
        DTWAIN_BOOL DTWAIN_IsPeekMessageLoopEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPixelTypeSupported(DTWAIN_SOURCE Source, LONG PixelType);
        DTWAIN_BOOL DTWAIN_IsPrinterEnabled(DTWAIN_SOURCE Source, LONG Printer);
        DTWAIN_BOOL DTWAIN_IsPrinterSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsRotationSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSessionEnabled();
        DTWAIN_BOOL DTWAIN_IsSkipImageInfoError(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceAcquiring(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceAcquiringEx(DTWAIN_SOURCE Source, BOOL bUIOnly);
        DTWAIN_BOOL DTWAIN_IsSourceInUIOnlyMode(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceOpen(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceSelected(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceValid(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsThumbnailEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsThumbnailSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsTwainAvailable();
        LONG DTWAIN_IsTwainAvailableEx(DTWAIN_CHARPTRTYPE directories, LONG nMaxLen);
        LONG DTWAIN_IsTwainAvailableExA(LPSTR directories, LONG nMaxLen);
        LONG DTWAIN_IsTwainAvailableExW(LPWSTR directories, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_IsUIControllable(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsUIEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsUIOnlySupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResources(DTWAIN_CCHARPTRTYPE sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesA(LPCSTR sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesEx(DTWAIN_CCHARPTRTYPE sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesExA(LPCSTR sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesExW(LPCWSTR sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesW(LPCWSTR sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadLanguageResource(LONG nLanguage);
        DTWAIN_MEMORY_PTR DTWAIN_LockMemory(HANDLE h);
        DTWAIN_MEMORY_PTR DTWAIN_LockMemoryEx(HANDLE h);
        DTWAIN_BOOL DTWAIN_LogMessage(DTWAIN_CCHARPTRTYPE message);
        DTWAIN_BOOL DTWAIN_LogMessageA(LPCSTR message);
        DTWAIN_BOOL DTWAIN_LogMessageW(LPCWSTR message);
        LONG DTWAIN_MakeRGB(LONG red, LONG green, LONG blue);
        DTWAIN_BOOL DTWAIN_OpenSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_OpenSourcesOnSelect(DTWAIN_BOOL bSet);
        DTWAIN_RANGE DTWAIN_RangeCreate(LONG nEnumType);
        DTWAIN_RANGE DTWAIN_RangeCreateFromCap(DTWAIN_SOURCE Source, LONG lCapType);
        DTWAIN_BOOL DTWAIN_RangeDestroy(DTWAIN_RANGE pSource);
        DTWAIN_BOOL DTWAIN_RangeExpand(DTWAIN_RANGE pSource, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_RangeExpandEx(DTWAIN_RANGE Range);
        DTWAIN_BOOL DTWAIN_RangeGetAll(DTWAIN_RANGE pArray, LPVOID pVariantLow, LPVOID pVariantUp, LPVOID pVariantStep, LPVOID pVariantDefault, LPVOID pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloat(DTWAIN_RANGE pArray, LPDTWAIN_FLOAT pVariantLow, LPDTWAIN_FLOAT pVariantUp, LPDTWAIN_FLOAT pVariantStep, LPDTWAIN_FLOAT pVariantDefault, LPDTWAIN_FLOAT pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatString(DTWAIN_RANGE pArray, DTWAIN_CHARPTRTYPE dLow, DTWAIN_CHARPTRTYPE dUp, DTWAIN_CHARPTRTYPE dStep, DTWAIN_CHARPTRTYPE dDefault, DTWAIN_CHARPTRTYPE dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatStringA(DTWAIN_RANGE pArray, LPSTR dLow, LPSTR dUp, LPSTR dStep, LPSTR dDefault, LPSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatStringW(DTWAIN_RANGE pArray, LPWSTR dLow, LPWSTR dUp, LPWSTR dStep, LPWSTR dDefault, LPWSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllLong(DTWAIN_RANGE pArray, LPLONG pVariantLow, LPLONG pVariantUp, LPLONG pVariantStep, LPLONG pVariantDefault, LPLONG pVariantCurrent);
        LONG DTWAIN_RangeGetCount(DTWAIN_RANGE pArray);
        DTWAIN_BOOL DTWAIN_RangeGetExpValue(DTWAIN_RANGE pArray, LONG lPos, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloat(DTWAIN_RANGE pArray, LONG lPos, LPDTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatString(DTWAIN_RANGE pArray, LONG lPos, DTWAIN_CHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatStringA(DTWAIN_RANGE pArray, LONG lPos, LPSTR pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatStringW(DTWAIN_RANGE pArray, LONG lPos, LPWSTR pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueLong(DTWAIN_RANGE pArray, LONG lPos, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValue(DTWAIN_RANGE pArray, LPVOID pVariantIn, LPVOID pVariantOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT dIn, LPDTWAIN_FLOAT pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE dIn, DTWAIN_CHARPTRTYPE pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatStringA(DTWAIN_RANGE pArray, LPCSTR dIn, LPSTR dOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatStringW(DTWAIN_RANGE pArray, LPCWSTR dIn, LPWSTR dOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueLong(DTWAIN_RANGE pArray, LONG lIn, LPLONG pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetPos(DTWAIN_RANGE pArray, LPVOID pVariant, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatStringA(DTWAIN_RANGE pArray, LPCSTR Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatStringW(DTWAIN_RANGE pArray, LPCWSTR Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosLong(DTWAIN_RANGE pArray, LONG Value, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetValue(DTWAIN_RANGE pArray, LONG nWhich, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloat(DTWAIN_RANGE pArray, LONG nWhich, LPDTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatString(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_CHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatStringA(DTWAIN_RANGE pArray, LONG nWhich, LPSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatStringW(DTWAIN_RANGE pArray, LONG nWhich, LPWSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeGetValueLong(DTWAIN_RANGE pArray, LONG nWhich, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_RangeIsValid(DTWAIN_RANGE Range, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_RangeSetAll(DTWAIN_RANGE pArray, LPVOID pVariantLow, LPVOID pVariantUp, LPVOID pVariantStep, LPVOID pVariantDefault, LPVOID pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT dLow, DTWAIN_FLOAT dUp, DTWAIN_FLOAT dStep, DTWAIN_FLOAT dDefault, DTWAIN_FLOAT dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE dLow, DTWAIN_CCHARPTRTYPE dUp, DTWAIN_CCHARPTRTYPE dStep, DTWAIN_CCHARPTRTYPE dDefault, DTWAIN_CCHARPTRTYPE dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatStringA(DTWAIN_RANGE pArray, LPCSTR dLow, LPCSTR dUp, LPCSTR dStep, LPCSTR dDefault, LPCSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatStringW(DTWAIN_RANGE pArray, LPCWSTR dLow, LPCWSTR dUp, LPCWSTR dStep, LPCWSTR dDefault, LPCWSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllLong(DTWAIN_RANGE pArray, LONG lLow, LONG lUp, LONG lStep, LONG lDefault, LONG lCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetValue(DTWAIN_RANGE pArray, LONG nWhich, LPVOID pVal);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloat(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_FLOAT Val);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatString(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatStringA(DTWAIN_RANGE pArray, LONG nWhich, LPCSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatStringW(DTWAIN_RANGE pArray, LONG nWhich, LPCWSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeSetValueLong(DTWAIN_RANGE pArray, LONG nWhich, LONG Val);
        DTWAIN_BOOL DTWAIN_RemovePDFTextElement(DTWAIN_SOURCE Source, DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_ResetPDFTextElement(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_RewindPage(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_RotateImage(HANDLE hDib, DTWAIN_FLOAT rotationAngle);
        HANDLE DTWAIN_RotateImageString(HANDLE hDib, DTWAIN_CCHARPTRTYPE rotationAngle);
        HANDLE DTWAIN_RotateImageStringA(HANDLE hDib, LPCSTR rotationAngle);
        HANDLE DTWAIN_RotateImageStringW(HANDLE hDib, LPCWSTR rotationAngle);
        DTWAIN_OCRENGINE DTWAIN_SelectDefaultOCREngine();
        DTWAIN_SOURCE DTWAIN_SelectDefaultSource();
        DTWAIN_SOURCE DTWAIN_SelectDefaultSourceWithOpen(DTWAIN_BOOL bOpen);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine();
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2A(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2Ex(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE szIncludeFilter, DTWAIN_CCHARPTRTYPE szExcludeFilter, DTWAIN_CCHARPTRTYPE szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2ExA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LPCSTR szIncludeNames, LPCSTR szExcludeNames, LPCSTR szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2ExW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LPCWSTR szIncludeNames, LPCWSTR szExcludeNames, LPCWSTR szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2W(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByName(DTWAIN_CCHARPTRTYPE lpszName);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByNameA(LPCSTR lpszName);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByNameW(LPCWSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSource();
        DTWAIN_SOURCE DTWAIN_SelectSource2(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2A(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2Ex(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE szIncludeFilter, DTWAIN_CCHARPTRTYPE szExcludeFilter, DTWAIN_CCHARPTRTYPE szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2ExA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LPCSTR szIncludeNames, LPCSTR szExcludeNames, LPCSTR szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2ExW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LPCWSTR szIncludeNames, LPCWSTR szExcludeNames, LPCWSTR szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2W(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSourceByName(DTWAIN_CCHARPTRTYPE lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameA(LPCSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameW(LPCWSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpen(DTWAIN_CCHARPTRTYPE lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpenA(LPCSTR lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpenW(LPCWSTR lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceWithOpen(DTWAIN_BOOL bOpen);
        DTWAIN_BOOL DTWAIN_SetAcquireArea(DTWAIN_SOURCE Source, LONG lSetType, DTWAIN_ARRAY FloatEnum, DTWAIN_ARRAY ActualEnum);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2(DTWAIN_SOURCE Source, DTWAIN_FLOAT left, DTWAIN_FLOAT top, DTWAIN_FLOAT right, DTWAIN_FLOAT bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2String(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE left, DTWAIN_CCHARPTRTYPE top, DTWAIN_CCHARPTRTYPE right, DTWAIN_CCHARPTRTYPE bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2StringA(DTWAIN_SOURCE Source, LPCSTR left, LPCSTR top, LPCSTR right, LPCSTR bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2StringW(DTWAIN_SOURCE Source, LPCWSTR left, LPCWSTR top, LPCWSTR right, LPCWSTR bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireImageNegative(DTWAIN_SOURCE Source, DTWAIN_BOOL IsNegative);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScale(DTWAIN_SOURCE Source, DTWAIN_FLOAT xscale, DTWAIN_FLOAT yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE xscale, DTWAIN_CCHARPTRTYPE yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleStringA(DTWAIN_SOURCE Source, LPCSTR xscale, LPCSTR yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleStringW(DTWAIN_SOURCE Source, LPCWSTR xscale, LPCWSTR yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireStripBuffer(DTWAIN_SOURCE Source, HANDLE hMem);
        DTWAIN_BOOL DTWAIN_SetAcquireStripSize(DTWAIN_SOURCE Source, DWORD StripSize);
        DTWAIN_BOOL DTWAIN_SetAlarmVolume(DTWAIN_SOURCE Source, LONG Volume);
        DTWAIN_BOOL DTWAIN_SetAlarms(DTWAIN_SOURCE Source, DTWAIN_ARRAY Alarms);
        DTWAIN_BOOL DTWAIN_SetAllCapsToDefault(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_SetAppInfo(DTWAIN_CCHARPTRTYPE szVerStr, DTWAIN_CCHARPTRTYPE szManu, DTWAIN_CCHARPTRTYPE szProdFam, DTWAIN_CCHARPTRTYPE szProdName);
        DTWAIN_BOOL DTWAIN_SetAppInfoA(LPCSTR szVerStr, LPCSTR szManu, LPCSTR szProdFam, LPCSTR szProdName);
        DTWAIN_BOOL DTWAIN_SetAppInfoW(LPCWSTR szVerStr, LPCWSTR szManu, LPCWSTR szProdFam, LPCWSTR szProdName);
        DTWAIN_BOOL DTWAIN_SetAuthor(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szAuthor);
        DTWAIN_BOOL DTWAIN_SetAuthorA(DTWAIN_SOURCE Source, LPCSTR szAuthor);
        DTWAIN_BOOL DTWAIN_SetAuthorW(DTWAIN_SOURCE Source, LPCWSTR szAuthor);
        DTWAIN_BOOL DTWAIN_SetAvailablePrinters(DTWAIN_SOURCE Source, LONG lpAvailPrinters);
        DTWAIN_BOOL DTWAIN_SetAvailablePrintersArray(DTWAIN_SOURCE Source, DTWAIN_ARRAY AvailPrinters);
        DTWAIN_BOOL DTWAIN_SetBarcodeMaxPriorities(DTWAIN_SOURCE Source, LONG nMaxSearchRetries);
        DTWAIN_BOOL DTWAIN_SetBarcodeMaxRetries(DTWAIN_SOURCE Source, LONG nMaxRetries);
        DTWAIN_BOOL DTWAIN_SetBarcodePriorities(DTWAIN_SOURCE Source, DTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_SetBarcodeSearchMode(DTWAIN_SOURCE Source, LONG nSearchMode);
        DTWAIN_BOOL DTWAIN_SetBarcodeTimeOut(DTWAIN_SOURCE Source, LONG TimeOutValue);
        DTWAIN_BOOL DTWAIN_SetBitDepth(DTWAIN_SOURCE Source, LONG BitDepth, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetection(DTWAIN_SOURCE Source, DTWAIN_FLOAT threshold, LONG discard_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionEx(DTWAIN_SOURCE Source, DTWAIN_FLOAT threshold, LONG autodetect, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExStringA(DTWAIN_SOURCE Source, LPCSTR threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExStringW(DTWAIN_SOURCE Source, LPCWSTR threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionStringA(DTWAIN_SOURCE Source, LPCSTR threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionStringW(DTWAIN_SOURCE Source, LPCWSTR threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBrightness(DTWAIN_SOURCE Source, DTWAIN_FLOAT Brightness);
        DTWAIN_BOOL DTWAIN_SetBrightnessString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Brightness);
        DTWAIN_BOOL DTWAIN_SetBrightnessStringA(DTWAIN_SOURCE Source, LPCSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetBrightnessStringW(DTWAIN_SOURCE Source, LPCWSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetBufferedTileMode(DTWAIN_SOURCE Source, DTWAIN_BOOL bTileMode);
        DTWAIN_CALLBACK_PROC DTWAIN_SetCallback(DTWAIN_CALLBACK_PROC Fn, LONG UserData);
        DTWAIN_CALLBACK_PROC64 DTWAIN_SetCallback64(DTWAIN_CALLBACK_PROC64 Fn, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetCamera(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szCamera);
        DTWAIN_BOOL DTWAIN_SetCameraA(DTWAIN_SOURCE Source, LPCSTR szCamera);
        DTWAIN_BOOL DTWAIN_SetCameraW(DTWAIN_SOURCE Source, LPCWSTR szCamera);
        DTWAIN_BOOL DTWAIN_SetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, LONG lContainerType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, LONG lContainerType, LONG nDataType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCaption(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Caption);
        DTWAIN_BOOL DTWAIN_SetCaptionA(DTWAIN_SOURCE Source, LPCSTR Caption);
        DTWAIN_BOOL DTWAIN_SetCaptionW(DTWAIN_SOURCE Source, LPCWSTR Caption);
        DTWAIN_BOOL DTWAIN_SetCompressionType(DTWAIN_SOURCE Source, LONG lCompression, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetContrast(DTWAIN_SOURCE Source, DTWAIN_FLOAT Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastStringA(DTWAIN_SOURCE Source, LPCSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastStringW(DTWAIN_SOURCE Source, LPCWSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetCountry(LONG nCountry);
        DTWAIN_BOOL DTWAIN_SetCurrentRetryCount(DTWAIN_SOURCE Source, LONG nCount);
        DTWAIN_BOOL DTWAIN_SetCustomDSData(DTWAIN_SOURCE Source, HANDLE hData, LPCBYTE Data, DWORD dSize, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrder(LONG SearchPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderEx(DTWAIN_CCHARPTRTYPE SearchOrder, DTWAIN_CCHARPTRTYPE UserPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderExA(LPCSTR SearchOrder, LPCSTR szUserPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderExW(LPCWSTR SearchOrder, LPCWSTR szUserPath);
        DTWAIN_BOOL DTWAIN_SetDefaultSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_SetDeviceNotifications(DTWAIN_SOURCE Source, LONG DevEvents);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDate(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDateA(DTWAIN_SOURCE Source, LPCSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDateW(DTWAIN_SOURCE Source, LPCWSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLength(DTWAIN_SOURCE Source, DTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE value);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthStringA(DTWAIN_SOURCE Source, LPCSTR szLength);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthStringW(DTWAIN_SOURCE Source, LPCWSTR szLength);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectValues(DTWAIN_SOURCE Source, DTWAIN_ARRAY prray);
        DTWAIN_BOOL DTWAIN_SetDoublePageCountOnDuplex(DTWAIN_SOURCE Source, DTWAIN_BOOL bDoubleCount);
        DTWAIN_BOOL DTWAIN_SetEOJDetectValue(DTWAIN_SOURCE Source, LONG nValue);
        DTWAIN_BOOL DTWAIN_SetErrorBufferThreshold(LONG nErrors);
        DTWAIN_BOOL DTWAIN_SetErrorCallback(DTWAIN_ERROR_PROC proc, LONG UserData);
        DTWAIN_BOOL DTWAIN_SetErrorCallback64(DTWAIN_ERROR_PROC64 proc, DTWAIN_LONG64 UserData64);
        DTWAIN_BOOL DTWAIN_SetFeederAlignment(DTWAIN_SOURCE Source, LONG lpAlignment);
        DTWAIN_BOOL DTWAIN_SetFeederOrder(DTWAIN_SOURCE Source, LONG lOrder);
        DTWAIN_BOOL DTWAIN_SetFeederWaitTime(DTWAIN_SOURCE Source, LONG waitTime, LONG flags);
        DTWAIN_BOOL DTWAIN_SetFileAutoIncrement(DTWAIN_SOURCE Source, LONG Increment, DTWAIN_BOOL bResetOnAcquire, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetFileCompressionType(DTWAIN_SOURCE Source, LONG lCompression, DTWAIN_BOOL bIsCustom);
        DTWAIN_BOOL DTWAIN_SetFileSavePos(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileSavePosA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileSavePosW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileXferFormat(DTWAIN_SOURCE Source, LONG lFileType, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetHalftone(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHalftoneA(DTWAIN_SOURCE Source, LPCSTR lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHalftoneW(DTWAIN_SOURCE Source, LPCWSTR lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHighlight(DTWAIN_SOURCE Source, DTWAIN_FLOAT Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightStringA(DTWAIN_SOURCE Source, LPCSTR Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightStringW(DTWAIN_SOURCE Source, LPCWSTR Highlight);
        DTWAIN_BOOL DTWAIN_SetJobControl(DTWAIN_SOURCE Source, LONG JobControl, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetJpegValues(DTWAIN_SOURCE Source, LONG Quality, LONG Progressive);
        DTWAIN_BOOL DTWAIN_SetJpegXRValues(DTWAIN_SOURCE Source, LONG Quality, LONG Progressive);
        DTWAIN_BOOL DTWAIN_SetLanguage(LONG nLanguage);
        LONG DTWAIN_SetLastError(LONG nError);
        DTWAIN_BOOL DTWAIN_SetLightPath(DTWAIN_SOURCE Source, LONG LightPath);
        DTWAIN_BOOL DTWAIN_SetLightPathEx(DTWAIN_SOURCE Source, DTWAIN_ARRAY LightPaths);
        DTWAIN_BOOL DTWAIN_SetLightSource(DTWAIN_SOURCE Source, LONG LightSource);
        DTWAIN_BOOL DTWAIN_SetLightSources(DTWAIN_SOURCE Source, DTWAIN_ARRAY LightSources);
        DTWAIN_BOOL DTWAIN_SetLogSaveThreshold(LONG64 lineCount);
        DTWAIN_BOOL DTWAIN_SetLoggerCallback(DTWAIN_LOGGER_PROC logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetLoggerCallbackA(DTWAIN_LOGGER_PROCA logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetLoggerCallbackW(DTWAIN_LOGGER_PROCW logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetManualDuplexMode(DTWAIN_SOURCE Source, LONG Flags, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetMaxAcquisitions(DTWAIN_SOURCE Source, LONG MaxAcquires);
        DTWAIN_BOOL DTWAIN_SetMaxBuffers(DTWAIN_SOURCE Source, LONG MaxBuf);
        DTWAIN_BOOL DTWAIN_SetMaxRetryAttempts(DTWAIN_SOURCE Source, LONG nAttempts);
        DTWAIN_BOOL DTWAIN_SetMultipageScanMode(DTWAIN_SOURCE Source, LONG ScanType);
        DTWAIN_BOOL DTWAIN_SetNoiseFilter(DTWAIN_SOURCE Source, LONG NoiseFilter);
        DTWAIN_BOOL DTWAIN_SetOCRCapValues(DTWAIN_OCRENGINE Engine, LONG OCRCapValue, LONG SetType, DTWAIN_ARRAY CapValues);
        DTWAIN_BOOL DTWAIN_SetOrientation(DTWAIN_SOURCE Source, LONG Orient, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetOverscan(DTWAIN_SOURCE Source, LONG Value, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPDFAESEncryption(DTWAIN_SOURCE Source, LONG nWhichEncryption, DTWAIN_BOOL bUseAES);
        DTWAIN_BOOL DTWAIN_SetPDFASCIICompression(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetPDFAuthor(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFAuthorA(DTWAIN_SOURCE Source, LPCSTR lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFAuthorW(DTWAIN_SOURCE Source, LPCWSTR lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFCompression(DTWAIN_SOURCE Source, DTWAIN_BOOL bCompression);
        DTWAIN_BOOL DTWAIN_SetPDFCreator(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFCreatorA(DTWAIN_SOURCE Source, LPCSTR lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFCreatorW(DTWAIN_SOURCE Source, LPCWSTR lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFEncryption(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, DTWAIN_CCHARPTRTYPE lpszUser, DTWAIN_CCHARPTRTYPE lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFEncryptionA(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, LPCSTR lpszUser, LPCSTR lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFEncryptionW(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, LPCWSTR lpszUser, LPCWSTR lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFJpegQuality(DTWAIN_SOURCE Source, LONG Quality);
        DTWAIN_BOOL DTWAIN_SetPDFKeywords(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpKeyWords);
        DTWAIN_BOOL DTWAIN_SetPDFKeywordsA(DTWAIN_SOURCE Source, LPCSTR lpKeyWords);
        DTWAIN_BOOL DTWAIN_SetPDFKeywordsW(DTWAIN_SOURCE Source, LPCWSTR lpKeyWords);
        LONG DTWAIN_SetPDFOCRConversion(DTWAIN_OCRENGINE Engine, LONG PageType, LONG FileType, LONG PixelType, LONG BitDepth, LONG Options);
        DTWAIN_BOOL DTWAIN_SetPDFOCRMode(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetPDFOrientation(DTWAIN_SOURCE Source, LONG lPOrientation);
        DTWAIN_BOOL DTWAIN_SetPDFPageScale(DTWAIN_SOURCE Source, LONG nOptions, DTWAIN_FLOAT xScale, DTWAIN_FLOAT yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleString(DTWAIN_SOURCE Source, LONG nOptions, DTWAIN_CCHARPTRTYPE xScale, DTWAIN_CCHARPTRTYPE yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleStringA(DTWAIN_SOURCE Source, LONG nOptions, LPCSTR xScale, LPCSTR yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleStringW(DTWAIN_SOURCE Source, LONG nOptions, LPCWSTR xScale, LPCWSTR yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageSize(DTWAIN_SOURCE Source, LONG PageSize, DTWAIN_FLOAT CustomWidth, DTWAIN_FLOAT CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeString(DTWAIN_SOURCE Source, LONG PageSize, DTWAIN_CCHARPTRTYPE CustomWidth, DTWAIN_CCHARPTRTYPE CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeStringA(DTWAIN_SOURCE Source, LONG PageSize, LPCSTR CustomWidth, LPCSTR CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeStringW(DTWAIN_SOURCE Source, LONG PageSize, LPCWSTR CustomWidth, LPCWSTR CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPolarity(DTWAIN_SOURCE Source, LONG Polarity);
        DTWAIN_BOOL DTWAIN_SetPDFProducer(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFProducerA(DTWAIN_SOURCE Source, LPCSTR lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFProducerW(DTWAIN_SOURCE Source, LPCWSTR lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFSubject(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFSubjectA(DTWAIN_SOURCE Source, LPCSTR lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFSubjectW(DTWAIN_SOURCE Source, LPCWSTR lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloat(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_FLOAT val1, DTWAIN_FLOAT val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CCHARPTRTYPE val1, DTWAIN_CCHARPTRTYPE val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPCSTR val1, LPCSTR val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPCWSTR val1, LPCWSTR val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementLong(DTWAIN_PDFTEXTELEMENT TextElement, LONG val1, LONG val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CCHARPTRTYPE val1, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPCSTR szString, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPCWSTR szString, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTitle(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpTitle);
        DTWAIN_BOOL DTWAIN_SetPDFTitleA(DTWAIN_SOURCE Source, LPCSTR lpTitle);
        DTWAIN_BOOL DTWAIN_SetPDFTitleW(DTWAIN_SOURCE Source, LPCWSTR lpTitle);
        DTWAIN_BOOL DTWAIN_SetPaperSize(DTWAIN_SOURCE Source, LONG PaperSize, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LONG nMaxSearchRetries);
        DTWAIN_BOOL DTWAIN_SetPatchcodeMaxRetries(DTWAIN_SOURCE Source, LONG nMaxRetries);
        DTWAIN_BOOL DTWAIN_SetPatchcodePriorities(DTWAIN_SOURCE Source, DTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_SetPatchcodeSearchMode(DTWAIN_SOURCE Source, LONG nSearchMode);
        DTWAIN_BOOL DTWAIN_SetPatchcodeTimeOut(DTWAIN_SOURCE Source, LONG TimeOutValue);
        DTWAIN_BOOL DTWAIN_SetPixelFlavor(DTWAIN_SOURCE Source, LONG PixelFlavor);
        DTWAIN_BOOL DTWAIN_SetPixelType(DTWAIN_SOURCE Source, LONG PixelType, LONG BitDepth, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitle(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitleA(DTWAIN_SOURCE Source, LPCSTR szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitleW(DTWAIN_SOURCE Source, LPCWSTR szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptType(DTWAIN_SOURCE Source, LONG PSType);
        DTWAIN_BOOL DTWAIN_SetPrinter(DTWAIN_SOURCE Source, LONG Printer, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterEx(DTWAIN_SOURCE Source, LONG Printer, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterStartNumber(DTWAIN_SOURCE Source, LONG nStart);
        DTWAIN_BOOL DTWAIN_SetPrinterStringMode(DTWAIN_SOURCE Source, LONG PrinterMode, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterStrings(DTWAIN_SOURCE Source, DTWAIN_ARRAY ArrayString, LPLONG pNumStrings);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Suffix);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixStringA(DTWAIN_SOURCE Source, LPCSTR Suffix);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixStringW(DTWAIN_SOURCE Source, LPCWSTR Suffix);
        DTWAIN_BOOL DTWAIN_SetQueryCapSupport(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetResourcePath(DTWAIN_CCHARPTRTYPE ResourcePath);
        DTWAIN_BOOL DTWAIN_SetResourcePathA(LPCSTR ResourcePath);
        DTWAIN_BOOL DTWAIN_SetResourcePathW(LPCWSTR ResourcePath);
        DTWAIN_BOOL DTWAIN_SetRotation(DTWAIN_SOURCE Source, DTWAIN_FLOAT Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationStringA(DTWAIN_SOURCE Source, LPCSTR Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationStringW(DTWAIN_SOURCE Source, LPCWSTR Rotation);
        DTWAIN_BOOL DTWAIN_SetSaveFileName(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE fName);
        DTWAIN_BOOL DTWAIN_SetSaveFileNameA(DTWAIN_SOURCE Source, LPCSTR fName);
        DTWAIN_BOOL DTWAIN_SetSaveFileNameW(DTWAIN_SOURCE Source, LPCWSTR fName);
        DTWAIN_BOOL DTWAIN_SetShadow(DTWAIN_SOURCE Source, DTWAIN_FLOAT Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowStringA(DTWAIN_SOURCE Source, LPCSTR Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowStringW(DTWAIN_SOURCE Source, LPCWSTR Shadow);
        DTWAIN_BOOL DTWAIN_SetSourceUnit(DTWAIN_SOURCE Source, LONG Unit);
        DTWAIN_BOOL DTWAIN_SetTIFFCompressType(DTWAIN_SOURCE Source, LONG Setting);
        DTWAIN_BOOL DTWAIN_SetTIFFInvert(DTWAIN_SOURCE Source, LONG Setting);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectory(DTWAIN_CCHARPTRTYPE szFilePath);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryA(LPCSTR szFilePath);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryEx(DTWAIN_CCHARPTRTYPE szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryExA(LPCSTR szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryExW(LPCWSTR szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryW(LPCWSTR szFilePath);
        DTWAIN_BOOL DTWAIN_SetThreshold(DTWAIN_SOURCE Source, DTWAIN_FLOAT Threshold, DTWAIN_BOOL bSetBithDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdStringA(DTWAIN_SOURCE Source, LPCSTR Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdStringW(DTWAIN_SOURCE Source, LPCWSTR Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetTwainDSM(LONG DSMType);
        DTWAIN_BOOL DTWAIN_SetTwainLog(DWORD LogFlags, DTWAIN_CCHARPTRTYPE lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainLogA(DWORD LogFlags, LPCSTR lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainLogW(DWORD LogFlags, LPCWSTR lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainMode(LONG lAcquireMode);
        DTWAIN_BOOL DTWAIN_SetTwainTimeout(LONG milliseconds);
        DTWAIN_DIBUPDATE_PROC DTWAIN_SetUpdateDibProc(DTWAIN_DIBUPDATE_PROC DibProc);
        DTWAIN_BOOL DTWAIN_SetXResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT xResolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT yResolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_ShowUIOnly(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_ShutdownOCREngine(DTWAIN_OCRENGINE OCREngine);
        DTWAIN_BOOL DTWAIN_SkipImageInfoError(DTWAIN_SOURCE Source, DTWAIN_BOOL bSkip);
        DTWAIN_BOOL DTWAIN_StartThread(DTWAIN_HANDLE DLLHandle);
        DTWAIN_BOOL DTWAIN_StartTwainSession(HWND hWndMsg, DTWAIN_CCHARPTRTYPE lpszDLLName);
        DTWAIN_BOOL DTWAIN_StartTwainSessionA(HWND hWndMsg, LPCSTR lpszDLLName);
        DTWAIN_BOOL DTWAIN_StartTwainSessionW(HWND hWndMsg, LPCWSTR lpszDLLName);
        DTWAIN_BOOL DTWAIN_SysDestroy();
        DTWAIN_HANDLE DTWAIN_SysInitialize();
        DTWAIN_HANDLE DTWAIN_SysInitializeEx(DTWAIN_CCHARPTRTYPE szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2(DTWAIN_CCHARPTRTYPE szINIPath, DTWAIN_CCHARPTRTYPE szImageDLLPath, DTWAIN_CCHARPTRTYPE szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2A(LPCSTR szINIPath, LPCSTR szImageDLLPath, LPCSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2W(LPCWSTR szINIPath, LPCWSTR szImageDLLPath, LPCWSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeExA(LPCSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeExW(LPCWSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLib(HINSTANCE hInstance);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx(HINSTANCE hInstance, DTWAIN_CCHARPTRTYPE szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2(HINSTANCE hInstance, DTWAIN_CCHARPTRTYPE szINIPath, DTWAIN_CCHARPTRTYPE szImageDLLPath, DTWAIN_CCHARPTRTYPE szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2A(HINSTANCE hInstance, LPCSTR szINIPath, LPCSTR szImageDLLPath, LPCSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2W(HINSTANCE hInstance, LPCWSTR szINIPath, LPCWSTR szImageDLLPath, LPCWSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibExA(HINSTANCE hInstance, LPCSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibExW(HINSTANCE hInstance, LPCWSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeNoBlocking();
        DTWAIN_ARRAY DTWAIN_TestGetCap(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_UnlockMemory(HANDLE h);
        DTWAIN_BOOL DTWAIN_UnlockMemoryEx(HANDLE h);
        DTWAIN_BOOL DTWAIN_UpdateCurrentAcquiredImage(DTWAIN_SOURCE Source, HANDLE hNewDib);
        DTWAIN_BOOL DTWAIN_UseMultipleThreads(DTWAIN_BOOL bSet);
  ]]
  return ffi.load(DLLToLoad)
end
function load64bitAnsi(DLLToLoad)
  local ffi = require("ffi")
  ffi.cdef [[
        typedef void* HWND;
        typedef unsigned int UINT;
        typedef uint64_t WPARAM;
        typedef uint64_t LPARAM;
        typedef int DTWAIN_BOOL;
        typedef int BOOL;
        typedef void* DTWAIN_SOURCE;
        typedef void* DTWAIN_HANDLE;
        typedef void* DTWAIN_OCRTEXTINFOHANDLE;
        typedef void* HINSTANCE;
        typedef void* DTWAIN_ARRAY;
        typedef void* LPVOID;
        typedef const char* LPCSTR;
        typedef const wchar_t* LPCWSTR;
        typedef char * LPSTR;
        typedef wchar_t * LPWSTR;
        typedef double DTWAIN_FLOAT;
        typedef double *LPDTWAIN_FLOAT;
        typedef void** LPDTWAIN_ARRAY;
        typedef void* DTWAIN_FRAME;
        typedef void* DTWAIN_RANGE;
        typedef const char* LPCTSTR;
        typedef char* LPTSTR;
        typedef LPTSTR DTWAIN_CHARPTRTYPE;
        typedef LPCTSTR DTWAIN_CCHARPTRTYPE;
        typedef long DWORD;
        typedef uint64_t ULONG64;
        typedef int64_t LONG64;
        typedef int64_t LONGLONG;
        typedef int64_t * LPLONG64;
        typedef unsigned long LPDWORD;
        typedef void * HANDLE;
        typedef void * DTWAIN_PDFTEXTELEMENT;
        typedef void * DTWAIN_IDENTITY;
        typedef void * DTWAIN_OCRENGINE;
        typedef long * LPLONG;
        typedef long LONG;
        typedef long DTWAIN_LONG;
        typedef int64_t DTWAIN_LONG64;
        typedef void * TWAIN_IDENTITY;
        typedef void * DTWAIN_MEMORY_PTR;
        typedef int64_t LRESULT;
        typedef int64_t LONG_PTR;
        typedef unsigned char BYTE;
        typedef BYTE* LPBYTE;
        typedef const BYTE* LPCBYTE;
        typedef void (*DTWAIN_CALLBACK)(DTWAIN_HANDLE, DTWAIN_SOURCE, WPARAM, LPARAM);
        typedef LRESULT (*DTWAIN_CALLBACK_PROC)(WPARAM, LPARAM, LONG_PTR);
        typedef LRESULT(* DTWAIN_CALLBACK_PROC64)(WPARAM, LPARAM, LONGLONG);typedef HANDLE (* DTWAIN_DIBUPDATE_PROC)(DTWAIN_SOURCE, LONG, HANDLE);
        typedef LRESULT(* DTWAIN_LOGGER_PROC)(LPCTSTR, DTWAIN_LONG64);
        typedef LRESULT(* DTWAIN_LOGGER_PROCA)(LPCSTR, DTWAIN_LONG64);
        typedef LRESULT(* DTWAIN_LOGGER_PROCW)(LPCWSTR, DTWAIN_LONG64);
        typedef LRESULT(* DTWAIN_ERROR_PROC)(LONG, LONG);
        typedef LRESULT(* DTWAIN_ERROR_PROC64)(LONG, LONG64);
        DTWAIN_BOOL DTWAIN_AcquireAudioFile(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpszFile, LONG lFileFlags, LONG lMaxClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioFileA(DTWAIN_SOURCE Source, LPCSTR lpszFile, LONG lFileFlags, LONG lNumClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioFileW(DTWAIN_SOURCE Source, LPCWSTR lpszFile, LONG lFileFlags, LONG lNumClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireAudioNative(DTWAIN_SOURCE Source, LONG nMaxAudioClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioNativeEx(DTWAIN_SOURCE Source, LONG nMaxAudioClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireBuffered(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireBufferedEx(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFile(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileA(DTWAIN_SOURCE Source, LPCSTR lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileEx(DTWAIN_SOURCE Source, DTWAIN_ARRAY aFileNames, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileW(DTWAIN_SOURCE Source, LPCWSTR lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireNative(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireNativeEx(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireToClipboard(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, LONG nTransferMode, DTWAIN_BOOL bDiscardDibs, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AddExtImageInfoQuery(DTWAIN_SOURCE Source, LONG ExtImageInfo);
        DTWAIN_BOOL DTWAIN_AddPDFText(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextElement(DTWAIN_SOURCE Source, DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_AddPDFTextEx(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextExA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextExW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_CCHARPTRTYPE fontSize, LONG colorRGB, LONG renderMode, DTWAIN_CCHARPTRTYPE scaling, DTWAIN_CCHARPTRTYPE charSpacing, DTWAIN_CCHARPTRTYPE wordSpacing, DTWAIN_CCHARPTRTYPE strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextStringA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, LPCSTR fontSize, LONG colorRGB, LONG renderMode, LPCSTR scaling, LPCSTR charSpacing, LPCSTR wordSpacing, LPCSTR strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextStringW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, LPCWSTR fontSize, LONG colorRGB, LONG renderMode, LPCWSTR scaling, LPCWSTR charSpacing, LPCWSTR wordSpacing, LPCWSTR strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        HANDLE DTWAIN_AllocateMemory(DWORD memSize);
        HANDLE DTWAIN_AllocateMemory64(ULONG64 memSize);
        HANDLE DTWAIN_AllocateMemoryEx(DWORD memSize);
        DTWAIN_BOOL DTWAIN_AppHandlesExceptions(DTWAIN_BOOL bSet);
        DTWAIN_ARRAY DTWAIN_ArrayANSIStringToFloat(DTWAIN_ARRAY StringArray);
        DTWAIN_BOOL DTWAIN_ArrayAdd(DTWAIN_ARRAY pArray, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayAddANSIString(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddANSIStringN(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloat(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatN(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringA(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringN(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringNA(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringNW(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringW(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFrame(DTWAIN_ARRAY pArray, DTWAIN_FRAME frame);
        DTWAIN_BOOL DTWAIN_ArrayAddFrameN(DTWAIN_ARRAY pArray, DTWAIN_FRAME frame, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddLong(DTWAIN_ARRAY pArray, LONG Val);
        DTWAIN_BOOL DTWAIN_ArrayAddLong64(DTWAIN_ARRAY pArray, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArrayAddLong64N(DTWAIN_ARRAY pArray, LONG64 Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddLongN(DTWAIN_ARRAY pArray, LONG Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddN(DTWAIN_ARRAY pArray, LPVOID pVariant, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayAddStringA(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddStringN(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringNA(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringNW(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringW(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddWideString(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddWideStringN(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_ARRAY DTWAIN_ArrayConvertFix32ToFloat(DTWAIN_ARRAY Fix32Array);
        DTWAIN_ARRAY DTWAIN_ArrayConvertFloatToFix32(DTWAIN_ARRAY FloatArray);
        DTWAIN_BOOL DTWAIN_ArrayCopy(DTWAIN_ARRAY Source, DTWAIN_ARRAY Dest);
        DTWAIN_ARRAY DTWAIN_ArrayCreate(LONG nEnumType, LONG nInitialSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateCopy(DTWAIN_ARRAY Source);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromCap(DTWAIN_SOURCE Source, LONG lCapType, LONG lSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromLong64s(LPLONG64 pCArray, LONG nSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromLongs(LPLONG pCArray, LONG nSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromReals(double* pCArray, LONG nSize);
        DTWAIN_BOOL DTWAIN_ArrayDestroy(DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_ArrayDestroyFrames(DTWAIN_ARRAY FrameArray);
        DTWAIN_BOOL DTWAIN_ArrayDumpToLog(DTWAIN_ARRAY pArray);
        LONG DTWAIN_ArrayFind(DTWAIN_ARRAY pArray, LPVOID pVariant);
        LONG DTWAIN_ArrayFindANSIString(DTWAIN_ARRAY pArray, LPCSTR pString);
        LONG DTWAIN_ArrayFindFloat(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val, DTWAIN_FLOAT Tolerance);
        LONG DTWAIN_ArrayFindFloatString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, DTWAIN_CCHARPTRTYPE Tolerance);
        LONG DTWAIN_ArrayFindFloatStringA(DTWAIN_ARRAY pArray, LPCSTR Val, LPCSTR Tolerance);
        LONG DTWAIN_ArrayFindFloatStringW(DTWAIN_ARRAY pArray, LPCWSTR Val, LPCWSTR Tolerance);
        LONG DTWAIN_ArrayFindLong(DTWAIN_ARRAY pArray, LONG Val);
        LONG DTWAIN_ArrayFindLong64(DTWAIN_ARRAY pArray, LONG64 Val);
        LONG DTWAIN_ArrayFindString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE pString);
        LONG DTWAIN_ArrayFindStringA(DTWAIN_ARRAY pArray, LPCSTR pString);
        LONG DTWAIN_ArrayFindStringW(DTWAIN_ARRAY pArray, LPCWSTR pString);
        LONG DTWAIN_ArrayFindWideString(DTWAIN_ARRAY pArray, LPCWSTR pString);
        DTWAIN_BOOL DTWAIN_ArrayFix32GetAt(DTWAIN_ARRAY aFix32, DTWAIN_LONG lPos, LPLONG Whole, LPLONG Frac);
        DTWAIN_BOOL DTWAIN_ArrayFix32SetAt(DTWAIN_ARRAY aFix32, DTWAIN_LONG lPos, DTWAIN_LONG Whole, DTWAIN_LONG Frac);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToANSIString(DTWAIN_ARRAY FloatArray);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToString(DTWAIN_ARRAY FloatArray);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToWideString(DTWAIN_ARRAY FloatArray);
        DTWAIN_BOOL DTWAIN_ArrayGetAt(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayGetAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR pStr);
        LPCSTR DTWAIN_ArrayGetAtANSIStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, LPDTWAIN_FLOAT pVal);
        DTWAIN_FLOAT DTWAIN_ArrayGetAtFloatEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrame(DTWAIN_ARRAY FrameArray, LONG nWhere, LPDTWAIN_FLOAT pleft, LPDTWAIN_FLOAT ptop, LPDTWAIN_FLOAT pright, LPDTWAIN_FLOAT pbottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameEx(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameString(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_CHARPTRTYPE left, DTWAIN_CHARPTRTYPE top, DTWAIN_CHARPTRTYPE right, DTWAIN_CHARPTRTYPE bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameStringA(DTWAIN_ARRAY FrameArray, LONG nWhere, LPSTR left, LPSTR top, LPSTR right, LPSTR bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameStringW(DTWAIN_ARRAY FrameArray, LONG nWhere, LPWSTR left, LPWSTR top, LPWSTR right, LPWSTR bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_ArrayGetAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LPLONG64 pVal);
        LONG64 DTWAIN_ArrayGetAtLong64Ex(DTWAIN_ARRAY pArray, LONG nWhere);
        LONG DTWAIN_ArrayGetAtLongEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtSource(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_SOURCE* ppSource);
        DTWAIN_SOURCE DTWAIN_ArrayGetAtSourceEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CHARPTRTYPE pStr);
        DTWAIN_BOOL DTWAIN_ArrayGetAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR pStr);
        LPCTSTR DTWAIN_ArrayGetAtStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR pStr);
        DTWAIN_BOOL DTWAIN_ArrayGetAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR pStr);
        LPCWSTR DTWAIN_ArrayGetAtWideStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        LPVOID DTWAIN_ArrayGetBuffer(DTWAIN_ARRAY pArray, LONG nPos);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LONG nDataType);
        LONG DTWAIN_ArrayGetCount(DTWAIN_ARRAY pArray);
        LONG DTWAIN_ArrayGetMaxStringLength(DTWAIN_ARRAY a);
        DTWAIN_BOOL DTWAIN_ArrayGetSourceAt(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_SOURCE* ppSource);
        LONG DTWAIN_ArrayGetStringLength(DTWAIN_ARRAY a, LONG nWhichString);
        LONG DTWAIN_ArrayGetType(DTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_ArrayInit();
        DTWAIN_BOOL DTWAIN_ArrayInsertAt(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtANSIStringN(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringNA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringNW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFrame(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FRAME frame);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFrameN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FRAME frame, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong64N(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLongN(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtN(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringNA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringNW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtWideStringN(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAll(DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAt(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAtN(DTWAIN_ARRAY pArray, LONG nWhere, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayResize(DTWAIN_ARRAY pArray, LONG NewSize);
        DTWAIN_BOOL DTWAIN_ArraySetAt(DTWAIN_ARRAY pArray, LONG lPos, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArraySetAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrame(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FLOAT left, DTWAIN_FLOAT top, DTWAIN_FLOAT right, DTWAIN_FLOAT bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameEx(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameString(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_CCHARPTRTYPE left, DTWAIN_CCHARPTRTYPE top, DTWAIN_CCHARPTRTYPE right, DTWAIN_CCHARPTRTYPE bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameStringA(DTWAIN_ARRAY FrameArray, LONG nWhere, LPCSTR left, LPCSTR top, LPCSTR right, LPCSTR bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameStringW(DTWAIN_ARRAY FrameArray, LONG nWhere, LPCWSTR left, LPCWSTR top, LPCWSTR right, LPCWSTR bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal);
        DTWAIN_BOOL DTWAIN_ArraySetAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pStr);
        DTWAIN_ARRAY DTWAIN_ArrayStringToFloat(DTWAIN_ARRAY StringArray);
        DTWAIN_ARRAY DTWAIN_ArrayWideStringToFloat(DTWAIN_ARRAY StringArray);
        LONG DTWAIN_CallCallback(WPARAM wParam, LPARAM lParam, LONG UserData);
        LONG DTWAIN_CallCallback64(WPARAM wParam, LPARAM lParam, LONGLONG UserData);
        LONG DTWAIN_CallDSMProc(DTWAIN_IDENTITY AppID, DTWAIN_IDENTITY SourceId, LONG lDG, LONG lDAT, LONG lMSG, LPVOID pData);
        DTWAIN_BOOL DTWAIN_CheckHandles(DTWAIN_BOOL bCheck);
        DTWAIN_BOOL DTWAIN_ClearBuffers(DTWAIN_SOURCE Source, LONG ClearBuffer);
        DTWAIN_BOOL DTWAIN_ClearErrorBuffer();
        DTWAIN_BOOL DTWAIN_ClearPDFTextElements(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_ClearPage(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_CloseSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_CloseSourceUI(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_ConvertDIBToBitmap(HANDLE hDib, HANDLE hPalette);
        HANDLE DTWAIN_ConvertDIBToFullBitmap(HANDLE hDib, DTWAIN_BOOL isBMP);
        HANDLE DTWAIN_ConvertToAPIString(DTWAIN_CCHARPTRTYPE lpOrigString);
        HANDLE DTWAIN_ConvertToAPIStringA(LPCSTR lpOrigString);
        LONG DTWAIN_ConvertToAPIStringEx(DTWAIN_CCHARPTRTYPE lpOrigString, DTWAIN_CHARPTRTYPE lpOutString, LONG nSize);
        LONG DTWAIN_ConvertToAPIStringExA(LPCSTR lpOrigString, LPSTR lpOutString, LONG nSize);
        LONG DTWAIN_ConvertToAPIStringExW(LPCWSTR lpOrigString, LPWSTR lpOutString, LONG nSize);
        HANDLE DTWAIN_ConvertToAPIStringW(LPCWSTR lpOrigString);
        DTWAIN_ARRAY DTWAIN_CreateAcquisitionArray();
        DTWAIN_PDFTEXTELEMENT DTWAIN_CreatePDFTextElement();
        DTWAIN_PDFTEXTELEMENT DTWAIN_CreatePDFTextElementCopy(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_DeleteDIB(HANDLE hDib);
        DTWAIN_BOOL DTWAIN_DestroyAcquisitionArray(DTWAIN_ARRAY aAcq, DTWAIN_BOOL bDestroyData);
        DTWAIN_BOOL DTWAIN_DestroyPDFTextElement(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_DisableAppWindow(HWND hWnd, DTWAIN_BOOL bDisable);
        DTWAIN_BOOL DTWAIN_EnableAutoBorderDetect(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutoBright(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoDeskew(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutoFeed(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoRotate(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoScan(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutomaticSenseMedium(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableBarcodeDetection(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableDuplex(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableFeeder(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableGetMessageLoop(DTWAIN_SOURCE Source, BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableGetMessageLoopDetection(DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableIndicator(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableJobFileHandling(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableLamp(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableMsgNotify(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnablePatchcodeDetection(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnablePeekMessageLoop(DTWAIN_SOURCE Source, BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnablePrinter(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableThumbnail(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableTripletsNotify(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EndThread(DTWAIN_HANDLE DLLHandle);
        DTWAIN_BOOL DTWAIN_EndTwainSession();
        DTWAIN_BOOL DTWAIN_EnumAlarmVolumes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL expandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumAlarmVolumesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL expandIfRange);
        DTWAIN_BOOL DTWAIN_EnumAlarms(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAlarmsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAudioXferMechs(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAudioXferMechsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAutoFeedValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAutoFeedValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAutomaticCaptures(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumAutomaticCapturesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumAutomaticSenseMedium(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAutomaticSenseMediumEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeCodes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY PCodes);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeCodesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeMaxPriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeMaxPrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeMaxRetries(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeMaxRetriesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodePrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeSearchModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeSearchModesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeTimeOutValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeTimeOutValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBitDepths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBitDepthsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumBitDepthsEx2(DTWAIN_SOURCE Source, LONG PixelType);
        DTWAIN_BOOL DTWAIN_EnumBottomCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumBottomCamerasEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumBrightnessValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumBrightnessValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumCamerasEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumCamerasEx2(DTWAIN_SOURCE Source, LONG nWhichCamera);
        DTWAIN_ARRAY DTWAIN_EnumCapLabels(LONG lCapability);
        DTWAIN_BOOL DTWAIN_EnumCompressionTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumCompressionTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumCompressionTypesEx2(DTWAIN_SOURCE Source, LONG lFileType, DTWAIN_BOOL bUseBufferedMode);
        LONG DTWAIN_EnumContrastValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumContrastValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumCustomCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumCustomCapsEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumDoubleFeedDetectLengths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumDoubleFeedDetectLengthsEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumDoubleFeedDetectValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumDoubleFeedDetectValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumExtImageInfoTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumExtImageInfoTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumExtendedCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumExtendedCapsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumExtendedCapsEx2(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumFileTypeBitsPerPixel(LONG FileType, LPDTWAIN_ARRAY Array);
        DTWAIN_BOOL DTWAIN_EnumFileXferFormats(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumFileXferFormatsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumHalftones(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumHalftonesEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumHighlightValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumHighlightValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumJobControls(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumJobControlsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumLightPaths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightPath);
        DTWAIN_ARRAY DTWAIN_EnumLightPathsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumLightSources(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightSources);
        DTWAIN_ARRAY DTWAIN_EnumLightSourcesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumMaxBuffers(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pMaxBufs, DTWAIN_BOOL bExpandRange);
        DTWAIN_ARRAY DTWAIN_EnumMaxBuffersEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandRange);
        DTWAIN_BOOL DTWAIN_EnumNoiseFilters(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumNoiseFiltersEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumOCRInterfaces(LPDTWAIN_ARRAY OCRInterfaces);
        DTWAIN_ARRAY DTWAIN_EnumOCRInterfacesEx();
        DTWAIN_BOOL DTWAIN_EnumOCRSupportedCaps(DTWAIN_OCRENGINE Engine, LPDTWAIN_ARRAY SupportedCaps);
        DTWAIN_BOOL DTWAIN_EnumOrientations(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumOrientationsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumOverscanValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumOverscanValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPaperSizes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPaperSizesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeCodes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY PCodes);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeCodesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeMaxPrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeMaxRetries(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeMaxRetriesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodePrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeSearchModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeSearchModesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeTimeOutValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeTimeOutValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPixelTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPixelTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPrinterStringModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPrinterStringModesEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumShadowValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumShadowValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceUnits(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY lpArray);
        DTWAIN_ARRAY DTWAIN_EnumSourceUnitsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumSourceValues(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceValuesA(DTWAIN_SOURCE Source, LPCSTR capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceValuesW(DTWAIN_SOURCE Source, LPCWSTR capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSources(LPDTWAIN_ARRAY lpArray);
        DTWAIN_ARRAY DTWAIN_EnumSourcesEx();
        DTWAIN_BOOL DTWAIN_EnumSupportedCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumSupportedCapsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumSupportedCapsEx2(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumSupportedExtImageInfo(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumSupportedExtImageInfoEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumSupportedFileTypes();
        DTWAIN_ARRAY DTWAIN_EnumSupportedMultiPageFileTypes();
        DTWAIN_ARRAY DTWAIN_EnumSupportedSinglePageFileTypes();
        LONG DTWAIN_EnumThresholdValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumThresholdValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumTopCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumTopCamerasEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumTwainPrinters(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY lpAvailPrinters);
        DTWAIN_ARRAY DTWAIN_EnumTwainPrintersEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumXResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumXResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumYResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumYResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_ExecuteOCR(DTWAIN_OCRENGINE Engine, DTWAIN_CCHARPTRTYPE szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_ExecuteOCRA(DTWAIN_OCRENGINE Engine, LPCSTR szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_ExecuteOCRW(DTWAIN_OCRENGINE Engine, LPCWSTR szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_FeedPage(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_FlipBitmap(HANDLE hDib);
        DTWAIN_BOOL DTWAIN_FlushAcquiredPages(DTWAIN_SOURCE Source);
        DTWAIN_FRAME DTWAIN_FrameCreate(DTWAIN_FLOAT Left, DTWAIN_FLOAT Top, DTWAIN_FLOAT Right, DTWAIN_FLOAT Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateString(DTWAIN_CCHARPTRTYPE Left, DTWAIN_CCHARPTRTYPE Top, DTWAIN_CCHARPTRTYPE Right, DTWAIN_CCHARPTRTYPE Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateStringA(LPCSTR Left, LPCSTR Top, LPCSTR Right, LPCSTR Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateStringW(LPCWSTR Left, LPCWSTR Top, LPCWSTR Right, LPCWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameDestroy(DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_FrameGetAll(DTWAIN_FRAME Frame, LPDTWAIN_FLOAT Left, LPDTWAIN_FLOAT Top, LPDTWAIN_FLOAT Right, LPDTWAIN_FLOAT Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllString(DTWAIN_FRAME Frame, DTWAIN_CHARPTRTYPE Left, DTWAIN_CHARPTRTYPE Top, DTWAIN_CHARPTRTYPE Right, DTWAIN_CHARPTRTYPE Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllStringA(DTWAIN_FRAME Frame, LPSTR Left, LPSTR Top, LPSTR Right, LPSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllStringW(DTWAIN_FRAME Frame, LPWSTR Left, LPWSTR Top, LPWSTR Right, LPWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetValue(DTWAIN_FRAME Frame, LONG nWhich, LPDTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueString(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_CHARPTRTYPE Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueStringA(DTWAIN_FRAME Frame, LONG nWhich, LPSTR Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueStringW(DTWAIN_FRAME Frame, LONG nWhich, LPWSTR Value);
        DTWAIN_BOOL DTWAIN_FrameIsValid(DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_FrameSetAll(DTWAIN_FRAME Frame, DTWAIN_FLOAT Left, DTWAIN_FLOAT Top, DTWAIN_FLOAT Right, DTWAIN_FLOAT Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllString(DTWAIN_FRAME Frame, DTWAIN_CCHARPTRTYPE Left, DTWAIN_CCHARPTRTYPE Top, DTWAIN_CCHARPTRTYPE Right, DTWAIN_CCHARPTRTYPE Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllStringA(DTWAIN_FRAME Frame, LPCSTR Left, LPCSTR Top, LPCSTR Right, LPCSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllStringW(DTWAIN_FRAME Frame, LPCWSTR Left, LPCWSTR Top, LPCWSTR Right, LPCWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetValue(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueString(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_CCHARPTRTYPE Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueStringA(DTWAIN_FRAME Frame, LONG nWhich, LPCSTR Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueStringW(DTWAIN_FRAME Frame, LONG nWhich, LPCWSTR Value);
        DTWAIN_BOOL DTWAIN_FreeExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_FreeMemory(HANDLE h);
        DTWAIN_BOOL DTWAIN_FreeMemoryEx(HANDLE h);
        LONG DTWAIN_GetAPIHandleStatus(DTWAIN_HANDLE pHandle);
        DTWAIN_BOOL DTWAIN_GetAcquireArea(DTWAIN_SOURCE Source, LONG lGetType, LPDTWAIN_ARRAY FloatEnum);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT left, LPDTWAIN_FLOAT top, LPDTWAIN_FLOAT right, LPDTWAIN_FLOAT bottom, LPLONG lpUnit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2String(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE left, DTWAIN_CHARPTRTYPE top, DTWAIN_CHARPTRTYPE right, DTWAIN_CHARPTRTYPE bottom, LPLONG Unit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2StringA(DTWAIN_SOURCE Source, LPSTR left, LPSTR top, LPSTR right, LPSTR bottom, LPLONG Unit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2StringW(DTWAIN_SOURCE Source, LPWSTR left, LPWSTR top, LPWSTR right, LPWSTR bottom, LPLONG Unit);
        DTWAIN_ARRAY DTWAIN_GetAcquireAreaEx(DTWAIN_SOURCE Source, LONG lGetType);
        DTWAIN_BOOL DTWAIN_GetAcquireMetrics(DTWAIN_SOURCE source, LPLONG ImageCount, LPLONG SheetCount);
        HANDLE DTWAIN_GetAcquireStripBuffer(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetAcquireStripData(DTWAIN_SOURCE Source, LPLONG lpCompression, LPDWORD lpBytesPerRow, LPDWORD lpColumns, LPDWORD lpRows, LPDWORD XOffset, LPDWORD YOffset, LPDWORD lpBytesWritten);
        DTWAIN_BOOL DTWAIN_GetAcquireStripSizes(DTWAIN_SOURCE Source, LPDWORD lpMin, LPDWORD lpMax, LPDWORD lpPreferred);
        HANDLE DTWAIN_GetAcquiredImage(DTWAIN_ARRAY aAcq, LONG nWhichAcq, LONG nWhichDib);
        DTWAIN_ARRAY DTWAIN_GetAcquiredImageArray(DTWAIN_ARRAY aAcq, LONG nWhichAcq);
        DTWAIN_ARRAY DTWAIN_GetAcquisitionArray(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetActiveDSMPath(DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMPathA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMPathW(LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfo(DTWAIN_CHARPTRTYPE szDLLInfo, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfoA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfoW(LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetAlarmVolume(DTWAIN_SOURCE Source, LPLONG lpVolume);
        DTWAIN_ARRAY DTWAIN_GetAllSourceDibs(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetAppInfo(DTWAIN_CHARPTRTYPE szVerStr, DTWAIN_CHARPTRTYPE szManu, DTWAIN_CHARPTRTYPE szProdFam, DTWAIN_CHARPTRTYPE szProdName);
        DTWAIN_BOOL DTWAIN_GetAppInfoA(LPSTR szVerStr, LPSTR szManu, LPSTR szProdFam, LPSTR szProdName);
        DTWAIN_BOOL DTWAIN_GetAppInfoW(LPWSTR szVerStr, LPWSTR szManu, LPWSTR szProdFam, LPWSTR szProdName);
        DTWAIN_BOOL DTWAIN_GetAuthor(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szAuthor);
        DTWAIN_BOOL DTWAIN_GetAuthorA(DTWAIN_SOURCE Source, LPSTR szAuthor);
        DTWAIN_BOOL DTWAIN_GetAuthorW(DTWAIN_SOURCE Source, LPWSTR szAuthor);
        DTWAIN_BOOL DTWAIN_GetBarcodeMaxPriorities(DTWAIN_SOURCE Source, LPLONG pMaxPriorities, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodeMaxRetries(DTWAIN_SOURCE Source, LPLONG pMaxRetries, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_GetBarcodeSearchMode(DTWAIN_SOURCE Source, LPLONG pSearchMode, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodeTimeOut(DTWAIN_SOURCE Source, LPLONG pTimeOut, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBatteryMinutes(DTWAIN_SOURCE Source, LPLONG lpMinutes);
        DTWAIN_BOOL DTWAIN_GetBatteryPercent(DTWAIN_SOURCE Source, LPLONG lpPercent);
        DTWAIN_BOOL DTWAIN_GetBitDepth(DTWAIN_SOURCE Source, LPLONG BitDepth, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetBitDepthEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetBlankPageAutoDetection(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetBrightness(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Brightness);
        DTWAIN_FLOAT DTWAIN_GetBrightnessEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetBrightnessString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Brightness);
        DTWAIN_BOOL DTWAIN_GetBrightnessStringA(DTWAIN_SOURCE Source, LPSTR Contrast);
        DTWAIN_BOOL DTWAIN_GetBrightnessStringW(DTWAIN_SOURCE Source, LPWSTR Contrast);
        HANDLE DTWAIN_GetBufferedTransferInfo(DTWAIN_SOURCE Source, LPDWORD Compression, LPDWORD BytesPerRow, LPDWORD Columns, LPDWORD Rows, LPDWORD XOffset, LPDWORD YOffset, LPDWORD Flags, LPDWORD BytesWritten, LPDWORD MemoryLength);
        DTWAIN_CALLBACK_PROC DTWAIN_GetCallback();
        DTWAIN_CALLBACK_PROC64 DTWAIN_GetCallback64();
        LONG DTWAIN_GetCapArrayType(DTWAIN_SOURCE Source, LONG nCap);
        LONG DTWAIN_GetCapContainer(DTWAIN_SOURCE Source, LONG nCap, LONG lCapType);
        LONG DTWAIN_GetCapContainerEx(LONG nCap, DTWAIN_BOOL bSetContainer, LPDTWAIN_ARRAY ConTypes);
        DTWAIN_ARRAY DTWAIN_GetCapContainerEx2(LONG nCap, DTWAIN_BOOL bSetContainer);
        LONG DTWAIN_GetCapDataType(DTWAIN_SOURCE Source, LONG nCap);
        LONG DTWAIN_GetCapFromName(DTWAIN_CCHARPTRTYPE szName);
        LONG DTWAIN_GetCapFromNameA(LPCSTR szName);
        LONG DTWAIN_GetCapFromNameW(LPCWSTR szName);
        LONG DTWAIN_GetCapHelp(LONG lCapability, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetCapHelpA(LONG lCapability, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapHelpW(LONG lCapability, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabel(LONG lCapability, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabelA(LONG lCapability, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabelW(LONG lCapability, LPWSTR lpszOut, LONG nnSize);
        DTWAIN_BOOL DTWAIN_GetCapOperations(DTWAIN_SOURCE Source, LONG lCapability, LPLONG lpOps);
        LONG DTWAIN_GetCapOperationsEx(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_GetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LONG nDataType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCaption(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Caption);
        DTWAIN_BOOL DTWAIN_GetCaptionA(DTWAIN_SOURCE Source, LPSTR Caption);
        DTWAIN_BOOL DTWAIN_GetCaptionW(DTWAIN_SOURCE Source, LPWSTR Caption);
        DTWAIN_BOOL DTWAIN_GetCompressionSize(DTWAIN_SOURCE Source, LPLONG lBytes);
        DTWAIN_BOOL DTWAIN_GetCompressionType(DTWAIN_SOURCE Source, LPLONG lpCompression, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetCompressionTypeEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetConditionCodeString(LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConditionCodeStringA(LONG lError, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConditionCodeStringW(LONG lError, LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConstantFromTwainName(DTWAIN_CCHARPTRTYPE lpszBuffer);
        LONG DTWAIN_GetConstantFromTwainNameA(LPCSTR lpszBuffer);
        LONG DTWAIN_GetConstantFromTwainNameW(LPCWSTR lpszBuffer);
        DTWAIN_BOOL DTWAIN_GetContrast(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Contrast);
        DTWAIN_FLOAT DTWAIN_GetContrastEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetContrastString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Contrast);
        DTWAIN_BOOL DTWAIN_GetContrastStringA(DTWAIN_SOURCE Source, LPSTR Contrast);
        DTWAIN_BOOL DTWAIN_GetContrastStringW(DTWAIN_SOURCE Source, LPWSTR Contrast);
        LONG DTWAIN_GetCountry();
        HANDLE DTWAIN_GetCurrentAcquiredImage(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetCurrentFileName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentFileNameA(DTWAIN_SOURCE Source, LPSTR szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentFileNameW(DTWAIN_SOURCE Source, LPWSTR szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentPageNum(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetCurrentRetryCount(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_GetCustomDSData(DTWAIN_SOURCE Source, LPBYTE Data, DWORD dSize, LPDWORD pActualSize, LONG nFlags);
        LONG DTWAIN_GetDSMFullName(LONG DSMType, DTWAIN_CHARPTRTYPE szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMFullNameA(LONG DSMType, LPSTR szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMFullNameW(LONG DSMType, LPWSTR szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMSearchOrder();
        LONG DTWAIN_GetDSMSearchOrderEx(DTWAIN_CHARPTRTYPE SearchOrder, DTWAIN_CHARPTRTYPE UserDirectory);
        LONG DTWAIN_GetDSMSearchOrderExA(LPSTR SearchOrder, LPSTR UserDirectory);
        LONG DTWAIN_GetDSMSearchOrderExW(LPWSTR SearchOrder, LPWSTR UserDirectory);
        DTWAIN_HANDLE DTWAIN_GetDTWAINHandle();
        DTWAIN_BOOL DTWAIN_GetDeviceEvent(DTWAIN_SOURCE Source, LPLONG lpEvent);
        DTWAIN_BOOL DTWAIN_GetDeviceEventEx(DTWAIN_SOURCE Source, LPLONG lpEvent, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetDeviceEventInfo(DTWAIN_SOURCE Source, LONG nWhichInfo, LPVOID pValue);
        DTWAIN_BOOL DTWAIN_GetDeviceNotifications(DTWAIN_SOURCE Source, LPLONG DevEvents);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDate(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDateA(DTWAIN_SOURCE Source, LPSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDateW(DTWAIN_SOURCE Source, LPWSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDoubleFeedDetectLength(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Value, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetDoubleFeedDetectValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetDuplexType(DTWAIN_SOURCE Source, LPLONG lpDupType);
        LONG DTWAIN_GetDuplexTypeEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetErrorBuffer(LPDTWAIN_ARRAY ArrayBuffer);
        LONG DTWAIN_GetErrorBufferThreshold();
        DTWAIN_ERROR_PROC DTWAIN_GetErrorCallback();
        DTWAIN_ERROR_PROC64 DTWAIN_GetErrorCallback64();
        LONG DTWAIN_GetErrorString(LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetErrorStringA(LONG lError, LPSTR lpszBuffer, LONG nLength);
        LONG DTWAIN_GetErrorStringW(LONG lError, LPWSTR lpszBuffer, LONG nLength);
        LONG DTWAIN_GetExtCapFromName(DTWAIN_CCHARPTRTYPE szName);
        LONG DTWAIN_GetExtCapFromNameA(LPCSTR szName);
        LONG DTWAIN_GetExtCapFromNameW(LPCWSTR szName);
        DTWAIN_BOOL DTWAIN_GetExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoData(DTWAIN_SOURCE Source, LONG nWhich, LPDTWAIN_ARRAY Data);
        DTWAIN_ARRAY DTWAIN_GetExtImageInfoDataEx(DTWAIN_SOURCE Source, LONG nWhich);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoItem(DTWAIN_SOURCE Source, LONG nWhich, LPLONG InfoID, LPLONG NumItems, LPLONG Type);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoItemEx(DTWAIN_SOURCE Source, LONG nWhich, LPLONG InfoID, LPLONG NumItems, LPLONG Type, LPLONG ReturnCode);
        LONG DTWAIN_GetExtNameFromCap(LONG nValue, DTWAIN_CHARPTRTYPE szValue, LONG nMaxLen);
        LONG DTWAIN_GetExtNameFromCapA(LONG nValue, LPSTR szValue, LONG nLength);
        LONG DTWAIN_GetExtNameFromCapW(LONG nValue, LPWSTR szValue, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetFeederAlignment(DTWAIN_SOURCE Source, LPLONG lpAlignment);
        LONG DTWAIN_GetFeederFuncs(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetFeederOrder(DTWAIN_SOURCE Source, LPLONG lpOrder);
        LONG DTWAIN_GetFeederWaitTime(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileCompressionType(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileSavePageCount(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileTypeExtensions(LONG nType, DTWAIN_CHARPTRTYPE lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeExtensionsA(LONG nType, LPSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeExtensionsW(LONG nType, LPWSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeName(LONG nType, DTWAIN_CHARPTRTYPE lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeNameA(LONG nType, LPSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeNameW(LONG nType, LPWSTR lpszName, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetHalftone(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHalftoneA(DTWAIN_SOURCE Source, LPSTR lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHalftoneW(DTWAIN_SOURCE Source, LPWSTR lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHighlight(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightStringA(DTWAIN_SOURCE Source, LPSTR Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightStringW(DTWAIN_SOURCE Source, LPWSTR Highlight);
        DTWAIN_BOOL DTWAIN_GetImageInfo(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT lpXResolution, LPDTWAIN_FLOAT lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE lpXResolution, DTWAIN_CHARPTRTYPE lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoStringA(DTWAIN_SOURCE Source, LPSTR lpXResolution, LPSTR lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoStringW(DTWAIN_SOURCE Source, LPWSTR lpXResolution, LPWSTR lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetJobControl(DTWAIN_SOURCE Source, LPLONG pJobControl, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetJobControlEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bGetCurrent);
        DTWAIN_BOOL DTWAIN_GetJpegValues(DTWAIN_SOURCE Source, LPLONG pQuality, LPLONG Progressive);
        DTWAIN_BOOL DTWAIN_GetJpegXRValues(DTWAIN_SOURCE Source, LPLONG pQuality, LPLONG Progressive);
        LONG DTWAIN_GetLanguage();
        LONG DTWAIN_GetLastError();
        LONG DTWAIN_GetLibraryPath(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetLibraryPathA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetLibraryPathW(LPWSTR lpszVer, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetLightPath(DTWAIN_SOURCE Source, LPLONG lpLightPath);
        DTWAIN_BOOL DTWAIN_GetLightPathEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetLightSource(DTWAIN_SOURCE Source, LPLONG LightSource);
        DTWAIN_BOOL DTWAIN_GetLightSources(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightSources);
        DTWAIN_ARRAY DTWAIN_GetLightSourcesEx(DTWAIN_SOURCE Source);
        DTWAIN_LOGGER_PROC DTWAIN_GetLoggerCallback();
        DTWAIN_LOGGER_PROCA DTWAIN_GetLoggerCallbackA();
        DTWAIN_LOGGER_PROCW DTWAIN_GetLoggerCallbackW();
        DTWAIN_BOOL DTWAIN_GetManualDuplexCount(DTWAIN_SOURCE Source, LPLONG pSide1, LPLONG pSide2);
        LONG DTWAIN_GetMaxAcquisitions(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetMaxBuffers(DTWAIN_SOURCE Source, LPLONG pMaxBuf);
        LONG DTWAIN_GetMaxPagesToAcquire(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetMaxRetryAttempts(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetNameFromCap(LONG nCapValue, DTWAIN_CHARPTRTYPE szValue, LONG nMaxLen);
        LONG DTWAIN_GetNameFromCapA(LONG nCapValue, LPSTR szValue, LONG nLength);
        LONG DTWAIN_GetNameFromCapW(LONG nCapValue, LPWSTR szValue, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetNoiseFilter(DTWAIN_SOURCE Source, LPLONG lpNoiseFilter);
        LONG DTWAIN_GetNumAcquiredImages(DTWAIN_ARRAY aAcq, LONG nWhich);
        LONG DTWAIN_GetNumAcquisitions(DTWAIN_ARRAY aAcq);
        DTWAIN_BOOL DTWAIN_GetOCRCapValues(DTWAIN_OCRENGINE Engine, LONG OCRCapValue, LONG GetType, LPDTWAIN_ARRAY CapValues);
        LONG DTWAIN_GetOCRErrorString(DTWAIN_OCRENGINE Engine, LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRErrorStringA(DTWAIN_OCRENGINE Engine, LONG lError, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRErrorStringW(DTWAIN_OCRENGINE Engine, LONG lError, LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRLastError(DTWAIN_OCRENGINE Engine);
        DTWAIN_BOOL DTWAIN_GetOCRMajorMinorVersion(DTWAIN_OCRENGINE Engine, LPLONG lpMajor, LPLONG lpMinor);
        LONG DTWAIN_GetOCRManufacturer(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szManufacturer, LONG nMaxLen);
        LONG DTWAIN_GetOCRManufacturerA(DTWAIN_OCRENGINE Engine, LPSTR szManufacturer, LONG nLength);
        LONG DTWAIN_GetOCRManufacturerW(DTWAIN_OCRENGINE Engine, LPWSTR szManufacturer, LONG nLength);
        LONG DTWAIN_GetOCRProductFamily(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szProductFamily, LONG nMaxLen);
        LONG DTWAIN_GetOCRProductFamilyA(DTWAIN_OCRENGINE Engine, LPSTR szProductFamily, LONG nLength);
        LONG DTWAIN_GetOCRProductFamilyW(DTWAIN_OCRENGINE Engine, LPWSTR szProductFamily, LONG nLength);
        LONG DTWAIN_GetOCRProductName(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szProductName, LONG nMaxLen);
        LONG DTWAIN_GetOCRProductNameA(DTWAIN_OCRENGINE Engine, LPSTR szProductName, LONG nLength);
        LONG DTWAIN_GetOCRProductNameW(DTWAIN_OCRENGINE Engine, LPWSTR szProductName, LONG nLength);
        HANDLE DTWAIN_GetOCRText(DTWAIN_OCRENGINE Engine, LONG nPageNo, DTWAIN_CHARPTRTYPE Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        HANDLE DTWAIN_GetOCRTextA(DTWAIN_OCRENGINE Engine, LONG nPageNo, LPSTR Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoFloat(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nCharPos, LONG nWhichItem, LPDTWAIN_FLOAT pInfo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoFloatEx(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nWhichItem, LPDTWAIN_FLOAT pInfo, LONG bufSize);
        DTWAIN_OCRTEXTINFOHANDLE DTWAIN_GetOCRTextInfoHandle(DTWAIN_OCRENGINE Engine, LONG nPageNo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoLong(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nCharPos, LONG nWhichItem, LPLONG pInfo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoLongEx(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nWhichItem, LPLONG pInfo, LONG bufSize);
        HANDLE DTWAIN_GetOCRTextW(DTWAIN_OCRENGINE Engine, LONG nPageNo, LPWSTR Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        LONG DTWAIN_GetOCRVersionInfo(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE buffer, LONG maxBufSize);
        LONG DTWAIN_GetOCRVersionInfoA(DTWAIN_OCRENGINE Engine, LPSTR buffer, LONG nLength);
        LONG DTWAIN_GetOCRVersionInfoW(DTWAIN_OCRENGINE Engine, LPWSTR buffer, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetOrientation(DTWAIN_SOURCE Source, LPLONG lpOrient, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetOrientationEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetOverscan(DTWAIN_SOURCE Source, LPLONG lpOverscan, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPDFTextElementFloat(DTWAIN_PDFTEXTELEMENT TextElement, LPDTWAIN_FLOAT val1, LPDTWAIN_FLOAT val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_GetPDFTextElementLong(DTWAIN_PDFTEXTELEMENT TextElement, LPLONG val1, LPLONG val2, LONG Flags);
        LONG DTWAIN_GetPDFTextElementString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CHARPTRTYPE szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFTextElementStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPSTR szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFTextElementStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPWSTR szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFType1FontName(LONG FontVal, DTWAIN_CHARPTRTYPE szFont, LONG nChars);
        LONG DTWAIN_GetPDFType1FontNameA(LONG FontVal, LPSTR szFont, LONG nChars);
        LONG DTWAIN_GetPDFType1FontNameW(LONG FontVal, LPWSTR szFont, LONG nChars);
        DTWAIN_BOOL DTWAIN_GetPaperSize(DTWAIN_SOURCE Source, LPLONG lpPaperSize, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPaperSizeName(LONG paperNumber, DTWAIN_CHARPTRTYPE outName, LONG nSize);
        LONG DTWAIN_GetPaperSizeNameA(LONG paperNumber, LPSTR outName, LONG nSize);
        LONG DTWAIN_GetPaperSizeNameW(LONG paperNumber, LPWSTR outName, LONG nSize);
        DTWAIN_BOOL DTWAIN_GetPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LPLONG pMaxPriorities, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodeMaxRetries(DTWAIN_SOURCE Source, LPLONG pMaxRetries, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_GetPatchcodeSearchMode(DTWAIN_SOURCE Source, LPLONG pSearchMode, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodeTimeOut(DTWAIN_SOURCE Source, LPLONG pTimeOut, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPixelFlavor(DTWAIN_SOURCE Source, LPLONG lpPixelFlavor);
        DTWAIN_BOOL DTWAIN_GetPixelType(DTWAIN_SOURCE Source, LPLONG PixelType, LPLONG BitDepth, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinter(DTWAIN_SOURCE Source, LPLONG lpPrinter, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPrinterEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinterStartNumber(DTWAIN_SOURCE Source, LPLONG nStart);
        LONG DTWAIN_GetPrinterStartNumberEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetPrinterStringMode(DTWAIN_SOURCE Source, LPLONG PrinterMode, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPrinterStringModeEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinterStrings(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY ArrayString);
        DTWAIN_ARRAY DTWAIN_GetPrinterStringsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Suffix, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixStringA(DTWAIN_SOURCE Source, LPSTR Suffix, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixStringW(DTWAIN_SOURCE Source, LPWSTR Suffix, LONG nLength);
        LONG DTWAIN_GetRegisteredMsg();
        DTWAIN_BOOL DTWAIN_GetResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_FLOAT DTWAIN_GetResolutionEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        LONG DTWAIN_GetResourceString(LONG ResourceID, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetResourceStringA(LONG ResourceID, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetResourceStringW(LONG ResourceID, LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetRotation(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Rotation);
        DTWAIN_FLOAT DTWAIN_GetRotationEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetRotationString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Rotation);
        DTWAIN_BOOL DTWAIN_GetRotationStringA(DTWAIN_SOURCE Source, LPSTR Rotation);
        DTWAIN_BOOL DTWAIN_GetRotationStringW(DTWAIN_SOURCE Source, LPWSTR Rotation);
        LONG DTWAIN_GetSaveFileName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE fName, LONG nMaxLen);
        LONG DTWAIN_GetSaveFileNameA(DTWAIN_SOURCE Source, LPSTR fName, LONG nMaxLen);
        LONG DTWAIN_GetSaveFileNameW(DTWAIN_SOURCE Source, LPWSTR fName, LONG nMaxLen);
        LONG DTWAIN_GetSessionDetails(DTWAIN_CHARPTRTYPE szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSessionDetailsA(LPSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSessionDetailsW(LPWSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        DTWAIN_BOOL DTWAIN_GetShadow(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowStringA(DTWAIN_SOURCE Source, LPSTR Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowStringW(DTWAIN_SOURCE Source, LPWSTR Shadow);
        LONG DTWAIN_GetShortVersionString(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetShortVersionStringA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetShortVersionStringW(LPWSTR lpszVer, LONG nLength);
        DTWAIN_ARRAY DTWAIN_GetSourceAcquisitions(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceDetails(DTWAIN_CCHARPTRTYPE szSources, DTWAIN_CHARPTRTYPE szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSourceDetailsA(LPCSTR szSources, LPSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSourceDetailsW(LPCWSTR szSources, LPWSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        DTWAIN_IDENTITY DTWAIN_GetSourceID(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceManufacturer(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceManufacturerA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceManufacturerW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductFamily(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceProductFamilyA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductFamilyW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceProductNameA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductNameW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetSourceUnit(DTWAIN_SOURCE Source, LPLONG lpUnit);
        LONG DTWAIN_GetSourceUnitEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceVersionInfo(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceVersionInfoA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceVersionInfoW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetSourceVersionNumber(DTWAIN_SOURCE Source, LPLONG pMajor, LPLONG pMinor);
        LONG DTWAIN_GetStaticLibVersion();
        LONG DTWAIN_GetTempFileDirectory(DTWAIN_CHARPTRTYPE szFilePath, LONG nMaxLen);
        LONG DTWAIN_GetTempFileDirectoryA(LPSTR szFilePath, LONG nLength);
        LONG DTWAIN_GetTempFileDirectoryW(LPWSTR szFilePath, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetThreshold(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdStringA(DTWAIN_SOURCE Source, LPSTR Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdStringW(DTWAIN_SOURCE Source, LPWSTR Threshold);
        DTWAIN_BOOL DTWAIN_GetTimeDate(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_GetTimeDateA(DTWAIN_SOURCE Source, LPSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetTimeDateW(DTWAIN_SOURCE Source, LPWSTR szTimeDate);
        DTWAIN_IDENTITY DTWAIN_GetTwainAppID();
        LONG DTWAIN_GetTwainAvailability();
        LONG DTWAIN_GetTwainAvailabilityEx(DTWAIN_CHARPTRTYPE directories, LONG nMaxLen);
        LONG DTWAIN_GetTwainAvailabilityExA(LPSTR szDirectories, LONG nLength);
        LONG DTWAIN_GetTwainAvailabilityExW(LPWSTR szDirectories, LONG nLength);
        HWND DTWAIN_GetTwainHwnd();
        LONG DTWAIN_GetTwainMode();
        LONG DTWAIN_GetTwainNameFromConstant(LONG lConstantType, LONG lTwainConstant, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantA(LONG lConstantType, LONG lTwainConstant, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantEx(LONG lConstantType, LONG lTwainConstant, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantExA(LONG lConstantType, LONG lTwainConstant, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantExW(LONG lConstantType, LONG lTwainConstant, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantW(LONG lConstantType, LONG lTwainConstant, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainTimeout();
        DTWAIN_BOOL DTWAIN_GetVersion(LPLONG lpMajor, LPLONG lpMinor, LPLONG lpVersionType);
        LONG DTWAIN_GetVersionCopyright(DTWAIN_CHARPTRTYPE lpszApp, LONG nLength);
        LONG DTWAIN_GetVersionCopyrightA(LPSTR lpszApp, LONG nLength);
        LONG DTWAIN_GetVersionCopyrightW(LPWSTR lpszApp, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetVersionEx(LPLONG lMajor, LPLONG lMinor, LPLONG lVersionType, LPLONG lPatchLevel);
        LONG DTWAIN_GetVersionInfo(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionInfoA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionInfoW(LPWSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionString(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionStringA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionStringW(LPWSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetWindowsVersionInfo(DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetWindowsVersionInfoA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetWindowsVersionInfoW(LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetXResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        DTWAIN_BOOL DTWAIN_InitExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_InitImageFileAppend(DTWAIN_CCHARPTRTYPE szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitImageFileAppendA(LPCSTR szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitImageFileAppendW(LPCWSTR szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitOCRInterface();
        DTWAIN_BOOL DTWAIN_IsAcquiring();
        DTWAIN_BOOL DTWAIN_IsAudioXferSupported(DTWAIN_SOURCE Source, LONG supportVal);
        DTWAIN_BOOL DTWAIN_IsAutoBorderDetectEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBorderDetectSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBrightEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBrightSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoDeskewEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoDeskewSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoFeedEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoFeedSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoRotateEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoRotateSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoScanEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutomaticSenseMediumEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutomaticSenseMediumSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeCapsSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeDetectionEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeSupported(DTWAIN_SOURCE Source, LONG BarCode);
        DTWAIN_BOOL DTWAIN_IsBlankPageDetectionOn(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBufferedTileModeOn(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBufferedTileModeSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsCapSupported(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_IsCompressionSupported(DTWAIN_SOURCE Source, LONG Compression);
        DTWAIN_BOOL DTWAIN_IsCustomDSDataSupported(DTWAIN_SOURCE Source);
        LONG DTWAIN_IsDIBBlank(HANDLE hDib, DTWAIN_FLOAT threshold);
        LONG DTWAIN_IsDIBBlankString(HANDLE hDib, DTWAIN_CCHARPTRTYPE threshold);
        LONG DTWAIN_IsDIBBlankStringA(HANDLE hDib, LPCSTR threshold);
        LONG DTWAIN_IsDIBBlankStringW(HANDLE hDib, LPCWSTR threshold);
        DTWAIN_BOOL DTWAIN_IsDeviceEventSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDeviceOnLine(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDoubleFeedDetectLengthSupported(DTWAIN_SOURCE Source, DTWAIN_FLOAT value);
        DTWAIN_BOOL DTWAIN_IsDoubleFeedDetectSupported(DTWAIN_SOURCE Source, LONG SupportVal);
        DTWAIN_BOOL DTWAIN_IsDuplexEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDuplexSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsExtImageInfoSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederLoaded(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederSensitive(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFileSystemSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFileXferSupported(DTWAIN_SOURCE Source, LONG lFileType);
        DTWAIN_BOOL DTWAIN_IsGetMessageLoopDetectionOn();
        DTWAIN_BOOL DTWAIN_IsGetMessageLoopEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldALastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldALevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldAPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldAValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldELastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldELevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldEPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldEValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsImageAddressingSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIndicatorEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIndicatorSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsInitialized();
        DTWAIN_BOOL DTWAIN_IsJobControlSupported(DTWAIN_SOURCE Source, LONG JobControl);
        DTWAIN_BOOL DTWAIN_IsLampEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLampSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLightPathSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLightSourceSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsMaxBuffersSupported(DTWAIN_SOURCE Source, LONG MaxBuf);
        DTWAIN_BOOL DTWAIN_IsMemFileXferSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsMsgNotifyEnabled();
        DTWAIN_BOOL DTWAIN_IsNotifyTripletsEnabled();
        DTWAIN_BOOL DTWAIN_IsOCREngineActivated(DTWAIN_OCRENGINE OCREngine);
        DTWAIN_BOOL DTWAIN_IsOpenSourcesOnSelect();
        DTWAIN_BOOL DTWAIN_IsOrientationSupported(DTWAIN_SOURCE Source, LONG Orientation);
        DTWAIN_BOOL DTWAIN_IsOverscanSupported(DTWAIN_SOURCE Source, LONG SupportValue);
        DTWAIN_BOOL DTWAIN_IsPaperDetectable(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPaperSizeSupported(DTWAIN_SOURCE Source, LONG PaperSize);
        DTWAIN_BOOL DTWAIN_IsPatchcodeCapsSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPatchcodeDetectionEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPatchcodeSupported(DTWAIN_SOURCE Source, LONG PatchCode);
        DTWAIN_BOOL DTWAIN_IsPeekMessageLoopEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPixelTypeSupported(DTWAIN_SOURCE Source, LONG PixelType);
        DTWAIN_BOOL DTWAIN_IsPrinterEnabled(DTWAIN_SOURCE Source, LONG Printer);
        DTWAIN_BOOL DTWAIN_IsPrinterSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsRotationSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSessionEnabled();
        DTWAIN_BOOL DTWAIN_IsSkipImageInfoError(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceAcquiring(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceAcquiringEx(DTWAIN_SOURCE Source, BOOL bUIOnly);
        DTWAIN_BOOL DTWAIN_IsSourceInUIOnlyMode(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceOpen(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceSelected(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceValid(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsThumbnailEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsThumbnailSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsTwainAvailable();
        LONG DTWAIN_IsTwainAvailableEx(DTWAIN_CHARPTRTYPE directories, LONG nMaxLen);
        LONG DTWAIN_IsTwainAvailableExA(LPSTR directories, LONG nMaxLen);
        LONG DTWAIN_IsTwainAvailableExW(LPWSTR directories, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_IsUIControllable(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsUIEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsUIOnlySupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResources(DTWAIN_CCHARPTRTYPE sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesA(LPCSTR sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesEx(DTWAIN_CCHARPTRTYPE sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesExA(LPCSTR sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesExW(LPCWSTR sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesW(LPCWSTR sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadLanguageResource(LONG nLanguage);
        DTWAIN_MEMORY_PTR DTWAIN_LockMemory(HANDLE h);
        DTWAIN_MEMORY_PTR DTWAIN_LockMemoryEx(HANDLE h);
        DTWAIN_BOOL DTWAIN_LogMessage(DTWAIN_CCHARPTRTYPE message);
        DTWAIN_BOOL DTWAIN_LogMessageA(LPCSTR message);
        DTWAIN_BOOL DTWAIN_LogMessageW(LPCWSTR message);
        LONG DTWAIN_MakeRGB(LONG red, LONG green, LONG blue);
        DTWAIN_BOOL DTWAIN_OpenSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_OpenSourcesOnSelect(DTWAIN_BOOL bSet);
        DTWAIN_RANGE DTWAIN_RangeCreate(LONG nEnumType);
        DTWAIN_RANGE DTWAIN_RangeCreateFromCap(DTWAIN_SOURCE Source, LONG lCapType);
        DTWAIN_BOOL DTWAIN_RangeDestroy(DTWAIN_RANGE pSource);
        DTWAIN_BOOL DTWAIN_RangeExpand(DTWAIN_RANGE pSource, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_RangeExpandEx(DTWAIN_RANGE Range);
        DTWAIN_BOOL DTWAIN_RangeGetAll(DTWAIN_RANGE pArray, LPVOID pVariantLow, LPVOID pVariantUp, LPVOID pVariantStep, LPVOID pVariantDefault, LPVOID pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloat(DTWAIN_RANGE pArray, LPDTWAIN_FLOAT pVariantLow, LPDTWAIN_FLOAT pVariantUp, LPDTWAIN_FLOAT pVariantStep, LPDTWAIN_FLOAT pVariantDefault, LPDTWAIN_FLOAT pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatString(DTWAIN_RANGE pArray, DTWAIN_CHARPTRTYPE dLow, DTWAIN_CHARPTRTYPE dUp, DTWAIN_CHARPTRTYPE dStep, DTWAIN_CHARPTRTYPE dDefault, DTWAIN_CHARPTRTYPE dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatStringA(DTWAIN_RANGE pArray, LPSTR dLow, LPSTR dUp, LPSTR dStep, LPSTR dDefault, LPSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatStringW(DTWAIN_RANGE pArray, LPWSTR dLow, LPWSTR dUp, LPWSTR dStep, LPWSTR dDefault, LPWSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllLong(DTWAIN_RANGE pArray, LPLONG pVariantLow, LPLONG pVariantUp, LPLONG pVariantStep, LPLONG pVariantDefault, LPLONG pVariantCurrent);
        LONG DTWAIN_RangeGetCount(DTWAIN_RANGE pArray);
        DTWAIN_BOOL DTWAIN_RangeGetExpValue(DTWAIN_RANGE pArray, LONG lPos, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloat(DTWAIN_RANGE pArray, LONG lPos, LPDTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatString(DTWAIN_RANGE pArray, LONG lPos, DTWAIN_CHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatStringA(DTWAIN_RANGE pArray, LONG lPos, LPSTR pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatStringW(DTWAIN_RANGE pArray, LONG lPos, LPWSTR pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueLong(DTWAIN_RANGE pArray, LONG lPos, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValue(DTWAIN_RANGE pArray, LPVOID pVariantIn, LPVOID pVariantOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT dIn, LPDTWAIN_FLOAT pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE dIn, DTWAIN_CHARPTRTYPE pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatStringA(DTWAIN_RANGE pArray, LPCSTR dIn, LPSTR dOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatStringW(DTWAIN_RANGE pArray, LPCWSTR dIn, LPWSTR dOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueLong(DTWAIN_RANGE pArray, LONG lIn, LPLONG pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetPos(DTWAIN_RANGE pArray, LPVOID pVariant, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatStringA(DTWAIN_RANGE pArray, LPCSTR Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatStringW(DTWAIN_RANGE pArray, LPCWSTR Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosLong(DTWAIN_RANGE pArray, LONG Value, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetValue(DTWAIN_RANGE pArray, LONG nWhich, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloat(DTWAIN_RANGE pArray, LONG nWhich, LPDTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatString(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_CHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatStringA(DTWAIN_RANGE pArray, LONG nWhich, LPSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatStringW(DTWAIN_RANGE pArray, LONG nWhich, LPWSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeGetValueLong(DTWAIN_RANGE pArray, LONG nWhich, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_RangeIsValid(DTWAIN_RANGE Range, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_RangeSetAll(DTWAIN_RANGE pArray, LPVOID pVariantLow, LPVOID pVariantUp, LPVOID pVariantStep, LPVOID pVariantDefault, LPVOID pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT dLow, DTWAIN_FLOAT dUp, DTWAIN_FLOAT dStep, DTWAIN_FLOAT dDefault, DTWAIN_FLOAT dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE dLow, DTWAIN_CCHARPTRTYPE dUp, DTWAIN_CCHARPTRTYPE dStep, DTWAIN_CCHARPTRTYPE dDefault, DTWAIN_CCHARPTRTYPE dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatStringA(DTWAIN_RANGE pArray, LPCSTR dLow, LPCSTR dUp, LPCSTR dStep, LPCSTR dDefault, LPCSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatStringW(DTWAIN_RANGE pArray, LPCWSTR dLow, LPCWSTR dUp, LPCWSTR dStep, LPCWSTR dDefault, LPCWSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllLong(DTWAIN_RANGE pArray, LONG lLow, LONG lUp, LONG lStep, LONG lDefault, LONG lCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetValue(DTWAIN_RANGE pArray, LONG nWhich, LPVOID pVal);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloat(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_FLOAT Val);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatString(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatStringA(DTWAIN_RANGE pArray, LONG nWhich, LPCSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatStringW(DTWAIN_RANGE pArray, LONG nWhich, LPCWSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeSetValueLong(DTWAIN_RANGE pArray, LONG nWhich, LONG Val);
        DTWAIN_BOOL DTWAIN_RemovePDFTextElement(DTWAIN_SOURCE Source, DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_ResetPDFTextElement(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_RewindPage(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_RotateImage(HANDLE hDib, DTWAIN_FLOAT rotationAngle);
        HANDLE DTWAIN_RotateImageString(HANDLE hDib, DTWAIN_CCHARPTRTYPE rotationAngle);
        HANDLE DTWAIN_RotateImageStringA(HANDLE hDib, LPCSTR rotationAngle);
        HANDLE DTWAIN_RotateImageStringW(HANDLE hDib, LPCWSTR rotationAngle);
        DTWAIN_OCRENGINE DTWAIN_SelectDefaultOCREngine();
        DTWAIN_SOURCE DTWAIN_SelectDefaultSource();
        DTWAIN_SOURCE DTWAIN_SelectDefaultSourceWithOpen(DTWAIN_BOOL bOpen);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine();
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2A(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2Ex(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE szIncludeFilter, DTWAIN_CCHARPTRTYPE szExcludeFilter, DTWAIN_CCHARPTRTYPE szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2ExA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LPCSTR szIncludeNames, LPCSTR szExcludeNames, LPCSTR szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2ExW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LPCWSTR szIncludeNames, LPCWSTR szExcludeNames, LPCWSTR szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2W(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByName(DTWAIN_CCHARPTRTYPE lpszName);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByNameA(LPCSTR lpszName);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByNameW(LPCWSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSource();
        DTWAIN_SOURCE DTWAIN_SelectSource2(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2A(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2Ex(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE szIncludeFilter, DTWAIN_CCHARPTRTYPE szExcludeFilter, DTWAIN_CCHARPTRTYPE szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2ExA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LPCSTR szIncludeNames, LPCSTR szExcludeNames, LPCSTR szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2ExW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LPCWSTR szIncludeNames, LPCWSTR szExcludeNames, LPCWSTR szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2W(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSourceByName(DTWAIN_CCHARPTRTYPE lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameA(LPCSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameW(LPCWSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpen(DTWAIN_CCHARPTRTYPE lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpenA(LPCSTR lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpenW(LPCWSTR lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceWithOpen(DTWAIN_BOOL bOpen);
        DTWAIN_BOOL DTWAIN_SetAcquireArea(DTWAIN_SOURCE Source, LONG lSetType, DTWAIN_ARRAY FloatEnum, DTWAIN_ARRAY ActualEnum);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2(DTWAIN_SOURCE Source, DTWAIN_FLOAT left, DTWAIN_FLOAT top, DTWAIN_FLOAT right, DTWAIN_FLOAT bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2String(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE left, DTWAIN_CCHARPTRTYPE top, DTWAIN_CCHARPTRTYPE right, DTWAIN_CCHARPTRTYPE bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2StringA(DTWAIN_SOURCE Source, LPCSTR left, LPCSTR top, LPCSTR right, LPCSTR bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2StringW(DTWAIN_SOURCE Source, LPCWSTR left, LPCWSTR top, LPCWSTR right, LPCWSTR bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireImageNegative(DTWAIN_SOURCE Source, DTWAIN_BOOL IsNegative);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScale(DTWAIN_SOURCE Source, DTWAIN_FLOAT xscale, DTWAIN_FLOAT yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE xscale, DTWAIN_CCHARPTRTYPE yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleStringA(DTWAIN_SOURCE Source, LPCSTR xscale, LPCSTR yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleStringW(DTWAIN_SOURCE Source, LPCWSTR xscale, LPCWSTR yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireStripBuffer(DTWAIN_SOURCE Source, HANDLE hMem);
        DTWAIN_BOOL DTWAIN_SetAcquireStripSize(DTWAIN_SOURCE Source, DWORD StripSize);
        DTWAIN_BOOL DTWAIN_SetAlarmVolume(DTWAIN_SOURCE Source, LONG Volume);
        DTWAIN_BOOL DTWAIN_SetAlarms(DTWAIN_SOURCE Source, DTWAIN_ARRAY Alarms);
        DTWAIN_BOOL DTWAIN_SetAllCapsToDefault(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_SetAppInfo(DTWAIN_CCHARPTRTYPE szVerStr, DTWAIN_CCHARPTRTYPE szManu, DTWAIN_CCHARPTRTYPE szProdFam, DTWAIN_CCHARPTRTYPE szProdName);
        DTWAIN_BOOL DTWAIN_SetAppInfoA(LPCSTR szVerStr, LPCSTR szManu, LPCSTR szProdFam, LPCSTR szProdName);
        DTWAIN_BOOL DTWAIN_SetAppInfoW(LPCWSTR szVerStr, LPCWSTR szManu, LPCWSTR szProdFam, LPCWSTR szProdName);
        DTWAIN_BOOL DTWAIN_SetAuthor(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szAuthor);
        DTWAIN_BOOL DTWAIN_SetAuthorA(DTWAIN_SOURCE Source, LPCSTR szAuthor);
        DTWAIN_BOOL DTWAIN_SetAuthorW(DTWAIN_SOURCE Source, LPCWSTR szAuthor);
        DTWAIN_BOOL DTWAIN_SetAvailablePrinters(DTWAIN_SOURCE Source, LONG lpAvailPrinters);
        DTWAIN_BOOL DTWAIN_SetAvailablePrintersArray(DTWAIN_SOURCE Source, DTWAIN_ARRAY AvailPrinters);
        DTWAIN_BOOL DTWAIN_SetBarcodeMaxPriorities(DTWAIN_SOURCE Source, LONG nMaxSearchRetries);
        DTWAIN_BOOL DTWAIN_SetBarcodeMaxRetries(DTWAIN_SOURCE Source, LONG nMaxRetries);
        DTWAIN_BOOL DTWAIN_SetBarcodePriorities(DTWAIN_SOURCE Source, DTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_SetBarcodeSearchMode(DTWAIN_SOURCE Source, LONG nSearchMode);
        DTWAIN_BOOL DTWAIN_SetBarcodeTimeOut(DTWAIN_SOURCE Source, LONG TimeOutValue);
        DTWAIN_BOOL DTWAIN_SetBitDepth(DTWAIN_SOURCE Source, LONG BitDepth, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetection(DTWAIN_SOURCE Source, DTWAIN_FLOAT threshold, LONG discard_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionEx(DTWAIN_SOURCE Source, DTWAIN_FLOAT threshold, LONG autodetect, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExStringA(DTWAIN_SOURCE Source, LPCSTR threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExStringW(DTWAIN_SOURCE Source, LPCWSTR threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionStringA(DTWAIN_SOURCE Source, LPCSTR threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionStringW(DTWAIN_SOURCE Source, LPCWSTR threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBrightness(DTWAIN_SOURCE Source, DTWAIN_FLOAT Brightness);
        DTWAIN_BOOL DTWAIN_SetBrightnessString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Brightness);
        DTWAIN_BOOL DTWAIN_SetBrightnessStringA(DTWAIN_SOURCE Source, LPCSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetBrightnessStringW(DTWAIN_SOURCE Source, LPCWSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetBufferedTileMode(DTWAIN_SOURCE Source, DTWAIN_BOOL bTileMode);
        DTWAIN_CALLBACK_PROC DTWAIN_SetCallback(DTWAIN_CALLBACK_PROC Fn, LONG UserData);
        DTWAIN_CALLBACK_PROC64 DTWAIN_SetCallback64(DTWAIN_CALLBACK_PROC64 Fn, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetCamera(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szCamera);
        DTWAIN_BOOL DTWAIN_SetCameraA(DTWAIN_SOURCE Source, LPCSTR szCamera);
        DTWAIN_BOOL DTWAIN_SetCameraW(DTWAIN_SOURCE Source, LPCWSTR szCamera);
        DTWAIN_BOOL DTWAIN_SetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, LONG lContainerType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, LONG lContainerType, LONG nDataType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCaption(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Caption);
        DTWAIN_BOOL DTWAIN_SetCaptionA(DTWAIN_SOURCE Source, LPCSTR Caption);
        DTWAIN_BOOL DTWAIN_SetCaptionW(DTWAIN_SOURCE Source, LPCWSTR Caption);
        DTWAIN_BOOL DTWAIN_SetCompressionType(DTWAIN_SOURCE Source, LONG lCompression, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetContrast(DTWAIN_SOURCE Source, DTWAIN_FLOAT Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastStringA(DTWAIN_SOURCE Source, LPCSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastStringW(DTWAIN_SOURCE Source, LPCWSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetCountry(LONG nCountry);
        DTWAIN_BOOL DTWAIN_SetCurrentRetryCount(DTWAIN_SOURCE Source, LONG nCount);
        DTWAIN_BOOL DTWAIN_SetCustomDSData(DTWAIN_SOURCE Source, HANDLE hData, LPCBYTE Data, DWORD dSize, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrder(LONG SearchPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderEx(DTWAIN_CCHARPTRTYPE SearchOrder, DTWAIN_CCHARPTRTYPE UserPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderExA(LPCSTR SearchOrder, LPCSTR szUserPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderExW(LPCWSTR SearchOrder, LPCWSTR szUserPath);
        DTWAIN_BOOL DTWAIN_SetDefaultSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_SetDeviceNotifications(DTWAIN_SOURCE Source, LONG DevEvents);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDate(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDateA(DTWAIN_SOURCE Source, LPCSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDateW(DTWAIN_SOURCE Source, LPCWSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLength(DTWAIN_SOURCE Source, DTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE value);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthStringA(DTWAIN_SOURCE Source, LPCSTR szLength);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthStringW(DTWAIN_SOURCE Source, LPCWSTR szLength);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectValues(DTWAIN_SOURCE Source, DTWAIN_ARRAY prray);
        DTWAIN_BOOL DTWAIN_SetDoublePageCountOnDuplex(DTWAIN_SOURCE Source, DTWAIN_BOOL bDoubleCount);
        DTWAIN_BOOL DTWAIN_SetEOJDetectValue(DTWAIN_SOURCE Source, LONG nValue);
        DTWAIN_BOOL DTWAIN_SetErrorBufferThreshold(LONG nErrors);
        DTWAIN_BOOL DTWAIN_SetErrorCallback(DTWAIN_ERROR_PROC proc, LONG UserData);
        DTWAIN_BOOL DTWAIN_SetErrorCallback64(DTWAIN_ERROR_PROC64 proc, DTWAIN_LONG64 UserData64);
        DTWAIN_BOOL DTWAIN_SetFeederAlignment(DTWAIN_SOURCE Source, LONG lpAlignment);
        DTWAIN_BOOL DTWAIN_SetFeederOrder(DTWAIN_SOURCE Source, LONG lOrder);
        DTWAIN_BOOL DTWAIN_SetFeederWaitTime(DTWAIN_SOURCE Source, LONG waitTime, LONG flags);
        DTWAIN_BOOL DTWAIN_SetFileAutoIncrement(DTWAIN_SOURCE Source, LONG Increment, DTWAIN_BOOL bResetOnAcquire, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetFileCompressionType(DTWAIN_SOURCE Source, LONG lCompression, DTWAIN_BOOL bIsCustom);
        DTWAIN_BOOL DTWAIN_SetFileSavePos(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileSavePosA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileSavePosW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileXferFormat(DTWAIN_SOURCE Source, LONG lFileType, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetHalftone(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHalftoneA(DTWAIN_SOURCE Source, LPCSTR lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHalftoneW(DTWAIN_SOURCE Source, LPCWSTR lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHighlight(DTWAIN_SOURCE Source, DTWAIN_FLOAT Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightStringA(DTWAIN_SOURCE Source, LPCSTR Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightStringW(DTWAIN_SOURCE Source, LPCWSTR Highlight);
        DTWAIN_BOOL DTWAIN_SetJobControl(DTWAIN_SOURCE Source, LONG JobControl, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetJpegValues(DTWAIN_SOURCE Source, LONG Quality, LONG Progressive);
        DTWAIN_BOOL DTWAIN_SetJpegXRValues(DTWAIN_SOURCE Source, LONG Quality, LONG Progressive);
        DTWAIN_BOOL DTWAIN_SetLanguage(LONG nLanguage);
        LONG DTWAIN_SetLastError(LONG nError);
        DTWAIN_BOOL DTWAIN_SetLightPath(DTWAIN_SOURCE Source, LONG LightPath);
        DTWAIN_BOOL DTWAIN_SetLightPathEx(DTWAIN_SOURCE Source, DTWAIN_ARRAY LightPaths);
        DTWAIN_BOOL DTWAIN_SetLightSource(DTWAIN_SOURCE Source, LONG LightSource);
        DTWAIN_BOOL DTWAIN_SetLightSources(DTWAIN_SOURCE Source, DTWAIN_ARRAY LightSources);
        DTWAIN_BOOL DTWAIN_SetLogSaveThreshold(LONG64 lineCount);
        DTWAIN_BOOL DTWAIN_SetLoggerCallback(DTWAIN_LOGGER_PROC logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetLoggerCallbackA(DTWAIN_LOGGER_PROCA logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetLoggerCallbackW(DTWAIN_LOGGER_PROCW logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetManualDuplexMode(DTWAIN_SOURCE Source, LONG Flags, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetMaxAcquisitions(DTWAIN_SOURCE Source, LONG MaxAcquires);
        DTWAIN_BOOL DTWAIN_SetMaxBuffers(DTWAIN_SOURCE Source, LONG MaxBuf);
        DTWAIN_BOOL DTWAIN_SetMaxRetryAttempts(DTWAIN_SOURCE Source, LONG nAttempts);
        DTWAIN_BOOL DTWAIN_SetMultipageScanMode(DTWAIN_SOURCE Source, LONG ScanType);
        DTWAIN_BOOL DTWAIN_SetNoiseFilter(DTWAIN_SOURCE Source, LONG NoiseFilter);
        DTWAIN_BOOL DTWAIN_SetOCRCapValues(DTWAIN_OCRENGINE Engine, LONG OCRCapValue, LONG SetType, DTWAIN_ARRAY CapValues);
        DTWAIN_BOOL DTWAIN_SetOrientation(DTWAIN_SOURCE Source, LONG Orient, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetOverscan(DTWAIN_SOURCE Source, LONG Value, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPDFAESEncryption(DTWAIN_SOURCE Source, LONG nWhichEncryption, DTWAIN_BOOL bUseAES);
        DTWAIN_BOOL DTWAIN_SetPDFASCIICompression(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetPDFAuthor(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFAuthorA(DTWAIN_SOURCE Source, LPCSTR lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFAuthorW(DTWAIN_SOURCE Source, LPCWSTR lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFCompression(DTWAIN_SOURCE Source, DTWAIN_BOOL bCompression);
        DTWAIN_BOOL DTWAIN_SetPDFCreator(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFCreatorA(DTWAIN_SOURCE Source, LPCSTR lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFCreatorW(DTWAIN_SOURCE Source, LPCWSTR lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFEncryption(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, DTWAIN_CCHARPTRTYPE lpszUser, DTWAIN_CCHARPTRTYPE lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFEncryptionA(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, LPCSTR lpszUser, LPCSTR lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFEncryptionW(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, LPCWSTR lpszUser, LPCWSTR lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFJpegQuality(DTWAIN_SOURCE Source, LONG Quality);
        DTWAIN_BOOL DTWAIN_SetPDFKeywords(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpKeyWords);
        DTWAIN_BOOL DTWAIN_SetPDFKeywordsA(DTWAIN_SOURCE Source, LPCSTR lpKeyWords);
        DTWAIN_BOOL DTWAIN_SetPDFKeywordsW(DTWAIN_SOURCE Source, LPCWSTR lpKeyWords);
        LONG DTWAIN_SetPDFOCRConversion(DTWAIN_OCRENGINE Engine, LONG PageType, LONG FileType, LONG PixelType, LONG BitDepth, LONG Options);
        DTWAIN_BOOL DTWAIN_SetPDFOCRMode(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetPDFOrientation(DTWAIN_SOURCE Source, LONG lPOrientation);
        DTWAIN_BOOL DTWAIN_SetPDFPageScale(DTWAIN_SOURCE Source, LONG nOptions, DTWAIN_FLOAT xScale, DTWAIN_FLOAT yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleString(DTWAIN_SOURCE Source, LONG nOptions, DTWAIN_CCHARPTRTYPE xScale, DTWAIN_CCHARPTRTYPE yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleStringA(DTWAIN_SOURCE Source, LONG nOptions, LPCSTR xScale, LPCSTR yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleStringW(DTWAIN_SOURCE Source, LONG nOptions, LPCWSTR xScale, LPCWSTR yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageSize(DTWAIN_SOURCE Source, LONG PageSize, DTWAIN_FLOAT CustomWidth, DTWAIN_FLOAT CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeString(DTWAIN_SOURCE Source, LONG PageSize, DTWAIN_CCHARPTRTYPE CustomWidth, DTWAIN_CCHARPTRTYPE CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeStringA(DTWAIN_SOURCE Source, LONG PageSize, LPCSTR CustomWidth, LPCSTR CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeStringW(DTWAIN_SOURCE Source, LONG PageSize, LPCWSTR CustomWidth, LPCWSTR CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPolarity(DTWAIN_SOURCE Source, LONG Polarity);
        DTWAIN_BOOL DTWAIN_SetPDFProducer(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFProducerA(DTWAIN_SOURCE Source, LPCSTR lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFProducerW(DTWAIN_SOURCE Source, LPCWSTR lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFSubject(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFSubjectA(DTWAIN_SOURCE Source, LPCSTR lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFSubjectW(DTWAIN_SOURCE Source, LPCWSTR lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloat(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_FLOAT val1, DTWAIN_FLOAT val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CCHARPTRTYPE val1, DTWAIN_CCHARPTRTYPE val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPCSTR val1, LPCSTR val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPCWSTR val1, LPCWSTR val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementLong(DTWAIN_PDFTEXTELEMENT TextElement, LONG val1, LONG val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CCHARPTRTYPE val1, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPCSTR szString, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPCWSTR szString, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTitle(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpTitle);
        DTWAIN_BOOL DTWAIN_SetPDFTitleA(DTWAIN_SOURCE Source, LPCSTR lpTitle);
        DTWAIN_BOOL DTWAIN_SetPDFTitleW(DTWAIN_SOURCE Source, LPCWSTR lpTitle);
        DTWAIN_BOOL DTWAIN_SetPaperSize(DTWAIN_SOURCE Source, LONG PaperSize, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LONG nMaxSearchRetries);
        DTWAIN_BOOL DTWAIN_SetPatchcodeMaxRetries(DTWAIN_SOURCE Source, LONG nMaxRetries);
        DTWAIN_BOOL DTWAIN_SetPatchcodePriorities(DTWAIN_SOURCE Source, DTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_SetPatchcodeSearchMode(DTWAIN_SOURCE Source, LONG nSearchMode);
        DTWAIN_BOOL DTWAIN_SetPatchcodeTimeOut(DTWAIN_SOURCE Source, LONG TimeOutValue);
        DTWAIN_BOOL DTWAIN_SetPixelFlavor(DTWAIN_SOURCE Source, LONG PixelFlavor);
        DTWAIN_BOOL DTWAIN_SetPixelType(DTWAIN_SOURCE Source, LONG PixelType, LONG BitDepth, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitle(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitleA(DTWAIN_SOURCE Source, LPCSTR szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitleW(DTWAIN_SOURCE Source, LPCWSTR szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptType(DTWAIN_SOURCE Source, LONG PSType);
        DTWAIN_BOOL DTWAIN_SetPrinter(DTWAIN_SOURCE Source, LONG Printer, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterEx(DTWAIN_SOURCE Source, LONG Printer, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterStartNumber(DTWAIN_SOURCE Source, LONG nStart);
        DTWAIN_BOOL DTWAIN_SetPrinterStringMode(DTWAIN_SOURCE Source, LONG PrinterMode, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterStrings(DTWAIN_SOURCE Source, DTWAIN_ARRAY ArrayString, LPLONG pNumStrings);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Suffix);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixStringA(DTWAIN_SOURCE Source, LPCSTR Suffix);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixStringW(DTWAIN_SOURCE Source, LPCWSTR Suffix);
        DTWAIN_BOOL DTWAIN_SetQueryCapSupport(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetResourcePath(DTWAIN_CCHARPTRTYPE ResourcePath);
        DTWAIN_BOOL DTWAIN_SetResourcePathA(LPCSTR ResourcePath);
        DTWAIN_BOOL DTWAIN_SetResourcePathW(LPCWSTR ResourcePath);
        DTWAIN_BOOL DTWAIN_SetRotation(DTWAIN_SOURCE Source, DTWAIN_FLOAT Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationStringA(DTWAIN_SOURCE Source, LPCSTR Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationStringW(DTWAIN_SOURCE Source, LPCWSTR Rotation);
        DTWAIN_BOOL DTWAIN_SetSaveFileName(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE fName);
        DTWAIN_BOOL DTWAIN_SetSaveFileNameA(DTWAIN_SOURCE Source, LPCSTR fName);
        DTWAIN_BOOL DTWAIN_SetSaveFileNameW(DTWAIN_SOURCE Source, LPCWSTR fName);
        DTWAIN_BOOL DTWAIN_SetShadow(DTWAIN_SOURCE Source, DTWAIN_FLOAT Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowStringA(DTWAIN_SOURCE Source, LPCSTR Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowStringW(DTWAIN_SOURCE Source, LPCWSTR Shadow);
        DTWAIN_BOOL DTWAIN_SetSourceUnit(DTWAIN_SOURCE Source, LONG Unit);
        DTWAIN_BOOL DTWAIN_SetTIFFCompressType(DTWAIN_SOURCE Source, LONG Setting);
        DTWAIN_BOOL DTWAIN_SetTIFFInvert(DTWAIN_SOURCE Source, LONG Setting);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectory(DTWAIN_CCHARPTRTYPE szFilePath);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryA(LPCSTR szFilePath);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryEx(DTWAIN_CCHARPTRTYPE szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryExA(LPCSTR szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryExW(LPCWSTR szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryW(LPCWSTR szFilePath);
        DTWAIN_BOOL DTWAIN_SetThreshold(DTWAIN_SOURCE Source, DTWAIN_FLOAT Threshold, DTWAIN_BOOL bSetBithDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdStringA(DTWAIN_SOURCE Source, LPCSTR Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdStringW(DTWAIN_SOURCE Source, LPCWSTR Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetTwainDSM(LONG DSMType);
        DTWAIN_BOOL DTWAIN_SetTwainLog(DWORD LogFlags, DTWAIN_CCHARPTRTYPE lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainLogA(DWORD LogFlags, LPCSTR lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainLogW(DWORD LogFlags, LPCWSTR lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainMode(LONG lAcquireMode);
        DTWAIN_BOOL DTWAIN_SetTwainTimeout(LONG milliseconds);
        DTWAIN_DIBUPDATE_PROC DTWAIN_SetUpdateDibProc(DTWAIN_DIBUPDATE_PROC DibProc);
        DTWAIN_BOOL DTWAIN_SetXResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT xResolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT yResolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_ShowUIOnly(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_ShutdownOCREngine(DTWAIN_OCRENGINE OCREngine);
        DTWAIN_BOOL DTWAIN_SkipImageInfoError(DTWAIN_SOURCE Source, DTWAIN_BOOL bSkip);
        DTWAIN_BOOL DTWAIN_StartThread(DTWAIN_HANDLE DLLHandle);
        DTWAIN_BOOL DTWAIN_StartTwainSession(HWND hWndMsg, DTWAIN_CCHARPTRTYPE lpszDLLName);
        DTWAIN_BOOL DTWAIN_StartTwainSessionA(HWND hWndMsg, LPCSTR lpszDLLName);
        DTWAIN_BOOL DTWAIN_StartTwainSessionW(HWND hWndMsg, LPCWSTR lpszDLLName);
        DTWAIN_BOOL DTWAIN_SysDestroy();
        DTWAIN_HANDLE DTWAIN_SysInitialize();
        DTWAIN_HANDLE DTWAIN_SysInitializeEx(DTWAIN_CCHARPTRTYPE szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2(DTWAIN_CCHARPTRTYPE szINIPath, DTWAIN_CCHARPTRTYPE szImageDLLPath, DTWAIN_CCHARPTRTYPE szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2A(LPCSTR szINIPath, LPCSTR szImageDLLPath, LPCSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2W(LPCWSTR szINIPath, LPCWSTR szImageDLLPath, LPCWSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeExA(LPCSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeExW(LPCWSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLib(HINSTANCE hInstance);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx(HINSTANCE hInstance, DTWAIN_CCHARPTRTYPE szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2(HINSTANCE hInstance, DTWAIN_CCHARPTRTYPE szINIPath, DTWAIN_CCHARPTRTYPE szImageDLLPath, DTWAIN_CCHARPTRTYPE szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2A(HINSTANCE hInstance, LPCSTR szINIPath, LPCSTR szImageDLLPath, LPCSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2W(HINSTANCE hInstance, LPCWSTR szINIPath, LPCWSTR szImageDLLPath, LPCWSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibExA(HINSTANCE hInstance, LPCSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibExW(HINSTANCE hInstance, LPCWSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeNoBlocking();
        DTWAIN_ARRAY DTWAIN_TestGetCap(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_UnlockMemory(HANDLE h);
        DTWAIN_BOOL DTWAIN_UnlockMemoryEx(HANDLE h);
        DTWAIN_BOOL DTWAIN_UpdateCurrentAcquiredImage(DTWAIN_SOURCE Source, HANDLE hNewDib);
        DTWAIN_BOOL DTWAIN_UseMultipleThreads(DTWAIN_BOOL bSet);
  ]]
  return ffi.load(DLLToLoad)
end
function load64bitUnicode(DLLToLoad)
  local ffi = require("ffi")
  ffi.cdef [[
        typedef void* HWND;
        typedef unsigned int UINT;
        typedef uint64_t WPARAM;
        typedef uint64_t LPARAM;
        typedef int DTWAIN_BOOL;
        typedef int BOOL;
        typedef void* DTWAIN_SOURCE;
        typedef void* DTWAIN_HANDLE;
        typedef void* DTWAIN_OCRTEXTINFOHANDLE;
        typedef void* HINSTANCE;
        typedef void* DTWAIN_ARRAY;
        typedef void* LPVOID;
        typedef const char* LPCSTR;
        typedef const wchar_t* LPCWSTR;
        typedef char * LPSTR;
        typedef wchar_t * LPWSTR;
        typedef double DTWAIN_FLOAT;
        typedef double *LPDTWAIN_FLOAT;
        typedef void** LPDTWAIN_ARRAY;
        typedef void* DTWAIN_FRAME;
        typedef void* DTWAIN_RANGE;
        typedef const wchar_t* LPCTSTR;
        typedef wchar_t* LPTSTR;
        typedef LPTSTR DTWAIN_CHARPTRTYPE;
        typedef LPCTSTR DTWAIN_CCHARPTRTYPE;
        typedef long DWORD;
        typedef uint64_t ULONG64;
        typedef int64_t LONG64;
        typedef int64_t LONGLONG;
        typedef int64_t * LPLONG64;
        typedef unsigned long LPDWORD;
        typedef void * HANDLE;
        typedef void * DTWAIN_PDFTEXTELEMENT;
        typedef void * DTWAIN_IDENTITY;
        typedef void * DTWAIN_OCRENGINE;
        typedef long * LPLONG;
        typedef long LONG;
        typedef long DTWAIN_LONG;
        typedef int64_t DTWAIN_LONG64;
        typedef void * TWAIN_IDENTITY;
        typedef void * DTWAIN_MEMORY_PTR;
        typedef int64_t LRESULT;
        typedef int64_t LONG_PTR;
        typedef unsigned char BYTE;
        typedef BYTE* LPBYTE;
        typedef const BYTE* LPCBYTE;
        typedef void (*DTWAIN_CALLBACK)(DTWAIN_HANDLE, DTWAIN_SOURCE, WPARAM, LPARAM);
        typedef LRESULT (*DTWAIN_CALLBACK_PROC)(WPARAM, LPARAM, LONG_PTR);
        typedef LRESULT(* DTWAIN_CALLBACK_PROC64)(WPARAM, LPARAM, LONGLONG);typedef HANDLE (* DTWAIN_DIBUPDATE_PROC)(DTWAIN_SOURCE, LONG, HANDLE);
        typedef LRESULT(* DTWAIN_LOGGER_PROC)(LPCTSTR, DTWAIN_LONG64);
        typedef LRESULT(* DTWAIN_LOGGER_PROCA)(LPCSTR, DTWAIN_LONG64);
        typedef LRESULT(* DTWAIN_LOGGER_PROCW)(LPCWSTR, DTWAIN_LONG64);
        typedef LRESULT(* DTWAIN_ERROR_PROC)(LONG, LONG);
        typedef LRESULT(* DTWAIN_ERROR_PROC64)(LONG, LONG64);
        DTWAIN_BOOL DTWAIN_AcquireAudioFile(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpszFile, LONG lFileFlags, LONG lMaxClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioFileA(DTWAIN_SOURCE Source, LPCSTR lpszFile, LONG lFileFlags, LONG lNumClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioFileW(DTWAIN_SOURCE Source, LPCWSTR lpszFile, LONG lFileFlags, LONG lNumClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireAudioNative(DTWAIN_SOURCE Source, LONG nMaxAudioClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireAudioNativeEx(DTWAIN_SOURCE Source, LONG nMaxAudioClips, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireBuffered(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireBufferedEx(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFile(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileA(DTWAIN_SOURCE Source, LPCSTR lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileEx(DTWAIN_SOURCE Source, DTWAIN_ARRAY aFileNames, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireFileW(DTWAIN_SOURCE Source, LPCWSTR lpszFile, LONG lFileType, LONG lFileFlags, LONG PixelType, LONG lMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireNative(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AcquireNativeEx(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, DTWAIN_ARRAY Acquisitions, LPLONG pStatus);
        DTWAIN_ARRAY DTWAIN_AcquireToClipboard(DTWAIN_SOURCE Source, LONG PixelType, LONG nMaxPages, LONG nTransferMode, DTWAIN_BOOL bDiscardDibs, DTWAIN_BOOL bShowUI, DTWAIN_BOOL bCloseSource, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_AddExtImageInfoQuery(DTWAIN_SOURCE Source, LONG ExtImageInfo);
        DTWAIN_BOOL DTWAIN_AddPDFText(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextElement(DTWAIN_SOURCE Source, DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_AddPDFTextEx(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextExA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextExW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DTWAIN_FLOAT rotationAngle, DTWAIN_FLOAT skewAngleX, DTWAIN_FLOAT skewAngleY, DTWAIN_FLOAT scalingX, DTWAIN_FLOAT scalingY, LONG transformType);
        DTWAIN_BOOL DTWAIN_AddPDFTextString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szText, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE fontName, DTWAIN_CCHARPTRTYPE fontSize, LONG colorRGB, LONG renderMode, DTWAIN_CCHARPTRTYPE scaling, DTWAIN_CCHARPTRTYPE charSpacing, DTWAIN_CCHARPTRTYPE wordSpacing, DTWAIN_CCHARPTRTYPE strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextStringA(DTWAIN_SOURCE Source, LPCSTR szText, LONG xPos, LONG yPos, LPCSTR fontName, LPCSTR fontSize, LONG colorRGB, LONG renderMode, LPCSTR scaling, LPCSTR charSpacing, LPCSTR wordSpacing, LPCSTR strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextStringW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, LPCWSTR fontSize, LONG colorRGB, LONG renderMode, LPCWSTR scaling, LPCWSTR charSpacing, LPCWSTR wordSpacing, LPCWSTR strokeWidth, DWORD Flags);
        DTWAIN_BOOL DTWAIN_AddPDFTextW(DTWAIN_SOURCE Source, LPCWSTR szText, LONG xPos, LONG yPos, LPCWSTR fontName, DTWAIN_FLOAT fontSize, LONG colorRGB, LONG renderMode, DTWAIN_FLOAT scaling, DTWAIN_FLOAT charSpacing, DTWAIN_FLOAT wordSpacing, DTWAIN_FLOAT strokeWidth, DWORD Flags);
        HANDLE DTWAIN_AllocateMemory(DWORD memSize);
        HANDLE DTWAIN_AllocateMemory64(ULONG64 memSize);
        HANDLE DTWAIN_AllocateMemoryEx(DWORD memSize);
        DTWAIN_BOOL DTWAIN_AppHandlesExceptions(DTWAIN_BOOL bSet);
        DTWAIN_ARRAY DTWAIN_ArrayANSIStringToFloat(DTWAIN_ARRAY StringArray);
        DTWAIN_BOOL DTWAIN_ArrayAdd(DTWAIN_ARRAY pArray, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayAddANSIString(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddANSIStringN(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloat(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatN(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringA(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringN(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringNA(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringNW(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddFloatStringW(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddFrame(DTWAIN_ARRAY pArray, DTWAIN_FRAME frame);
        DTWAIN_BOOL DTWAIN_ArrayAddFrameN(DTWAIN_ARRAY pArray, DTWAIN_FRAME frame, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddLong(DTWAIN_ARRAY pArray, LONG Val);
        DTWAIN_BOOL DTWAIN_ArrayAddLong64(DTWAIN_ARRAY pArray, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArrayAddLong64N(DTWAIN_ARRAY pArray, LONG64 Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddLongN(DTWAIN_ARRAY pArray, LONG Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddN(DTWAIN_ARRAY pArray, LPVOID pVariant, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayAddStringA(DTWAIN_ARRAY pArray, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddStringN(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringNA(DTWAIN_ARRAY pArray, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringNW(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayAddStringW(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddWideString(DTWAIN_ARRAY pArray, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayAddWideStringN(DTWAIN_ARRAY pArray, LPCWSTR Val, LONG num);
        DTWAIN_ARRAY DTWAIN_ArrayConvertFix32ToFloat(DTWAIN_ARRAY Fix32Array);
        DTWAIN_ARRAY DTWAIN_ArrayConvertFloatToFix32(DTWAIN_ARRAY FloatArray);
        DTWAIN_BOOL DTWAIN_ArrayCopy(DTWAIN_ARRAY Source, DTWAIN_ARRAY Dest);
        DTWAIN_ARRAY DTWAIN_ArrayCreate(LONG nEnumType, LONG nInitialSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateCopy(DTWAIN_ARRAY Source);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromCap(DTWAIN_SOURCE Source, LONG lCapType, LONG lSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromLong64s(LPLONG64 pCArray, LONG nSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromLongs(LPLONG pCArray, LONG nSize);
        DTWAIN_ARRAY DTWAIN_ArrayCreateFromReals(double* pCArray, LONG nSize);
        DTWAIN_BOOL DTWAIN_ArrayDestroy(DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_ArrayDestroyFrames(DTWAIN_ARRAY FrameArray);
        DTWAIN_BOOL DTWAIN_ArrayDumpToLog(DTWAIN_ARRAY pArray);
        LONG DTWAIN_ArrayFind(DTWAIN_ARRAY pArray, LPVOID pVariant);
        LONG DTWAIN_ArrayFindANSIString(DTWAIN_ARRAY pArray, LPCSTR pString);
        LONG DTWAIN_ArrayFindFloat(DTWAIN_ARRAY pArray, DTWAIN_FLOAT Val, DTWAIN_FLOAT Tolerance);
        LONG DTWAIN_ArrayFindFloatString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE Val, DTWAIN_CCHARPTRTYPE Tolerance);
        LONG DTWAIN_ArrayFindFloatStringA(DTWAIN_ARRAY pArray, LPCSTR Val, LPCSTR Tolerance);
        LONG DTWAIN_ArrayFindFloatStringW(DTWAIN_ARRAY pArray, LPCWSTR Val, LPCWSTR Tolerance);
        LONG DTWAIN_ArrayFindLong(DTWAIN_ARRAY pArray, LONG Val);
        LONG DTWAIN_ArrayFindLong64(DTWAIN_ARRAY pArray, LONG64 Val);
        LONG DTWAIN_ArrayFindString(DTWAIN_ARRAY pArray, DTWAIN_CCHARPTRTYPE pString);
        LONG DTWAIN_ArrayFindStringA(DTWAIN_ARRAY pArray, LPCSTR pString);
        LONG DTWAIN_ArrayFindStringW(DTWAIN_ARRAY pArray, LPCWSTR pString);
        LONG DTWAIN_ArrayFindWideString(DTWAIN_ARRAY pArray, LPCWSTR pString);
        DTWAIN_BOOL DTWAIN_ArrayFix32GetAt(DTWAIN_ARRAY aFix32, DTWAIN_LONG lPos, LPLONG Whole, LPLONG Frac);
        DTWAIN_BOOL DTWAIN_ArrayFix32SetAt(DTWAIN_ARRAY aFix32, DTWAIN_LONG lPos, DTWAIN_LONG Whole, DTWAIN_LONG Frac);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToANSIString(DTWAIN_ARRAY FloatArray);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToString(DTWAIN_ARRAY FloatArray);
        DTWAIN_ARRAY DTWAIN_ArrayFloatToWideString(DTWAIN_ARRAY FloatArray);
        DTWAIN_BOOL DTWAIN_ArrayGetAt(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayGetAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR pStr);
        LPCSTR DTWAIN_ArrayGetAtANSIStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, LPDTWAIN_FLOAT pVal);
        DTWAIN_FLOAT DTWAIN_ArrayGetAtFloatEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrame(DTWAIN_ARRAY FrameArray, LONG nWhere, LPDTWAIN_FLOAT pleft, LPDTWAIN_FLOAT ptop, LPDTWAIN_FLOAT pright, LPDTWAIN_FLOAT pbottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameEx(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameString(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_CHARPTRTYPE left, DTWAIN_CHARPTRTYPE top, DTWAIN_CHARPTRTYPE right, DTWAIN_CHARPTRTYPE bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameStringA(DTWAIN_ARRAY FrameArray, LONG nWhere, LPSTR left, LPSTR top, LPSTR right, LPSTR bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtFrameStringW(DTWAIN_ARRAY FrameArray, LONG nWhere, LPWSTR left, LPWSTR top, LPWSTR right, LPWSTR bottom);
        DTWAIN_BOOL DTWAIN_ArrayGetAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_ArrayGetAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LPLONG64 pVal);
        LONG64 DTWAIN_ArrayGetAtLong64Ex(DTWAIN_ARRAY pArray, LONG nWhere);
        LONG DTWAIN_ArrayGetAtLongEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtSource(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_SOURCE* ppSource);
        DTWAIN_SOURCE DTWAIN_ArrayGetAtSourceEx(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CHARPTRTYPE pStr);
        DTWAIN_BOOL DTWAIN_ArrayGetAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPSTR pStr);
        LPCTSTR DTWAIN_ArrayGetAtStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayGetAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR pStr);
        DTWAIN_BOOL DTWAIN_ArrayGetAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPWSTR pStr);
        LPCWSTR DTWAIN_ArrayGetAtWideStringPtr(DTWAIN_ARRAY pArray, LONG nWhere);
        LPVOID DTWAIN_ArrayGetBuffer(DTWAIN_ARRAY pArray, LONG nPos);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType);
        DTWAIN_ARRAY DTWAIN_ArrayGetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LONG nDataType);
        LONG DTWAIN_ArrayGetCount(DTWAIN_ARRAY pArray);
        LONG DTWAIN_ArrayGetMaxStringLength(DTWAIN_ARRAY a);
        DTWAIN_BOOL DTWAIN_ArrayGetSourceAt(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_SOURCE* ppSource);
        LONG DTWAIN_ArrayGetStringLength(DTWAIN_ARRAY a, LONG nWhichString);
        LONG DTWAIN_ArrayGetType(DTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_ArrayInit();
        DTWAIN_BOOL DTWAIN_ArrayInsertAt(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtANSIStringN(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringNA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringNW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFrame(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FRAME frame);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtFrameN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FRAME frame, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLong64N(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtLongN(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtN(DTWAIN_ARRAY pArray, LONG nWhere, LPVOID pVariant, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringN(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringNA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringNW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pVal);
        DTWAIN_BOOL DTWAIN_ArrayInsertAtWideStringN(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAll(DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAt(DTWAIN_ARRAY pArray, LONG nWhere);
        DTWAIN_BOOL DTWAIN_ArrayRemoveAtN(DTWAIN_ARRAY pArray, LONG nWhere, LONG num);
        DTWAIN_BOOL DTWAIN_ArrayResize(DTWAIN_ARRAY pArray, LONG NewSize);
        DTWAIN_BOOL DTWAIN_ArraySetAt(DTWAIN_ARRAY pArray, LONG lPos, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_ArraySetAtANSIString(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloat(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFloatStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrame(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FLOAT left, DTWAIN_FLOAT top, DTWAIN_FLOAT right, DTWAIN_FLOAT bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameEx(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameString(DTWAIN_ARRAY FrameArray, LONG nWhere, DTWAIN_CCHARPTRTYPE left, DTWAIN_CCHARPTRTYPE top, DTWAIN_CCHARPTRTYPE right, DTWAIN_CCHARPTRTYPE bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameStringA(DTWAIN_ARRAY FrameArray, LONG nWhere, LPCSTR left, LPCSTR top, LPCSTR right, LPCSTR bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtFrameStringW(DTWAIN_ARRAY FrameArray, LONG nWhere, LPCWSTR left, LPCWSTR top, LPCWSTR right, LPCWSTR bottom);
        DTWAIN_BOOL DTWAIN_ArraySetAtLong(DTWAIN_ARRAY pArray, LONG nWhere, LONG pVal);
        DTWAIN_BOOL DTWAIN_ArraySetAtLong64(DTWAIN_ARRAY pArray, LONG nWhere, LONG64 Val);
        DTWAIN_BOOL DTWAIN_ArraySetAtString(DTWAIN_ARRAY pArray, LONG nWhere, DTWAIN_CCHARPTRTYPE pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtStringA(DTWAIN_ARRAY pArray, LONG nWhere, LPCSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtStringW(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pStr);
        DTWAIN_BOOL DTWAIN_ArraySetAtWideString(DTWAIN_ARRAY pArray, LONG nWhere, LPCWSTR pStr);
        DTWAIN_ARRAY DTWAIN_ArrayStringToFloat(DTWAIN_ARRAY StringArray);
        DTWAIN_ARRAY DTWAIN_ArrayWideStringToFloat(DTWAIN_ARRAY StringArray);
        LONG DTWAIN_CallCallback(WPARAM wParam, LPARAM lParam, LONG UserData);
        LONG DTWAIN_CallCallback64(WPARAM wParam, LPARAM lParam, LONGLONG UserData);
        LONG DTWAIN_CallDSMProc(DTWAIN_IDENTITY AppID, DTWAIN_IDENTITY SourceId, LONG lDG, LONG lDAT, LONG lMSG, LPVOID pData);
        DTWAIN_BOOL DTWAIN_CheckHandles(DTWAIN_BOOL bCheck);
        DTWAIN_BOOL DTWAIN_ClearBuffers(DTWAIN_SOURCE Source, LONG ClearBuffer);
        DTWAIN_BOOL DTWAIN_ClearErrorBuffer();
        DTWAIN_BOOL DTWAIN_ClearPDFTextElements(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_ClearPage(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_CloseSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_CloseSourceUI(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_ConvertDIBToBitmap(HANDLE hDib, HANDLE hPalette);
        HANDLE DTWAIN_ConvertDIBToFullBitmap(HANDLE hDib, DTWAIN_BOOL isBMP);
        HANDLE DTWAIN_ConvertToAPIString(DTWAIN_CCHARPTRTYPE lpOrigString);
        HANDLE DTWAIN_ConvertToAPIStringA(LPCSTR lpOrigString);
        LONG DTWAIN_ConvertToAPIStringEx(DTWAIN_CCHARPTRTYPE lpOrigString, DTWAIN_CHARPTRTYPE lpOutString, LONG nSize);
        LONG DTWAIN_ConvertToAPIStringExA(LPCSTR lpOrigString, LPSTR lpOutString, LONG nSize);
        LONG DTWAIN_ConvertToAPIStringExW(LPCWSTR lpOrigString, LPWSTR lpOutString, LONG nSize);
        HANDLE DTWAIN_ConvertToAPIStringW(LPCWSTR lpOrigString);
        DTWAIN_ARRAY DTWAIN_CreateAcquisitionArray();
        DTWAIN_PDFTEXTELEMENT DTWAIN_CreatePDFTextElement();
        DTWAIN_PDFTEXTELEMENT DTWAIN_CreatePDFTextElementCopy(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_DeleteDIB(HANDLE hDib);
        DTWAIN_BOOL DTWAIN_DestroyAcquisitionArray(DTWAIN_ARRAY aAcq, DTWAIN_BOOL bDestroyData);
        DTWAIN_BOOL DTWAIN_DestroyPDFTextElement(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_DisableAppWindow(HWND hWnd, DTWAIN_BOOL bDisable);
        DTWAIN_BOOL DTWAIN_EnableAutoBorderDetect(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutoBright(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoDeskew(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutoFeed(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoRotate(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableAutoScan(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableAutomaticSenseMedium(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableBarcodeDetection(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableDuplex(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableFeeder(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableGetMessageLoop(DTWAIN_SOURCE Source, BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableGetMessageLoopDetection(DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableIndicator(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableJobFileHandling(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnableLamp(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableMsgNotify(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnablePatchcodeDetection(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnablePeekMessageLoop(DTWAIN_SOURCE Source, BOOL bSet);
        DTWAIN_BOOL DTWAIN_EnablePrinter(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableThumbnail(DTWAIN_SOURCE Source, DTWAIN_BOOL bEnable);
        DTWAIN_BOOL DTWAIN_EnableTripletsNotify(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_EndThread(DTWAIN_HANDLE DLLHandle);
        DTWAIN_BOOL DTWAIN_EndTwainSession();
        DTWAIN_BOOL DTWAIN_EnumAlarmVolumes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL expandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumAlarmVolumesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL expandIfRange);
        DTWAIN_BOOL DTWAIN_EnumAlarms(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAlarmsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAudioXferMechs(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAudioXferMechsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAutoFeedValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAutoFeedValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumAutomaticCaptures(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumAutomaticCapturesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumAutomaticSenseMedium(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumAutomaticSenseMediumEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeCodes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY PCodes);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeCodesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeMaxPriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeMaxPrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeMaxRetries(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeMaxRetriesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodePrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeSearchModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeSearchModesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBarcodeTimeOutValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBarcodeTimeOutValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumBitDepths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumBitDepthsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumBitDepthsEx2(DTWAIN_SOURCE Source, LONG PixelType);
        DTWAIN_BOOL DTWAIN_EnumBottomCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumBottomCamerasEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumBrightnessValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumBrightnessValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumCamerasEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumCamerasEx2(DTWAIN_SOURCE Source, LONG nWhichCamera);
        DTWAIN_ARRAY DTWAIN_EnumCapLabels(LONG lCapability);
        DTWAIN_BOOL DTWAIN_EnumCompressionTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumCompressionTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumCompressionTypesEx2(DTWAIN_SOURCE Source, LONG lFileType, DTWAIN_BOOL bUseBufferedMode);
        LONG DTWAIN_EnumContrastValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumContrastValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumCustomCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumCustomCapsEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumDoubleFeedDetectLengths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumDoubleFeedDetectLengthsEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumDoubleFeedDetectValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumDoubleFeedDetectValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumExtImageInfoTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumExtImageInfoTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumExtendedCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumExtendedCapsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumExtendedCapsEx2(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumFileTypeBitsPerPixel(LONG FileType, LPDTWAIN_ARRAY Array);
        DTWAIN_BOOL DTWAIN_EnumFileXferFormats(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumFileXferFormatsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumHalftones(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumHalftonesEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumHighlightValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumHighlightValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumJobControls(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumJobControlsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumLightPaths(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightPath);
        DTWAIN_ARRAY DTWAIN_EnumLightPathsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumLightSources(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightSources);
        DTWAIN_ARRAY DTWAIN_EnumLightSourcesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumMaxBuffers(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pMaxBufs, DTWAIN_BOOL bExpandRange);
        DTWAIN_ARRAY DTWAIN_EnumMaxBuffersEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandRange);
        DTWAIN_BOOL DTWAIN_EnumNoiseFilters(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumNoiseFiltersEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumOCRInterfaces(LPDTWAIN_ARRAY OCRInterfaces);
        DTWAIN_ARRAY DTWAIN_EnumOCRInterfacesEx();
        DTWAIN_BOOL DTWAIN_EnumOCRSupportedCaps(DTWAIN_OCRENGINE Engine, LPDTWAIN_ARRAY SupportedCaps);
        DTWAIN_BOOL DTWAIN_EnumOrientations(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumOrientationsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumOverscanValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumOverscanValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPaperSizes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPaperSizesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeCodes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY PCodes);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeCodesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeMaxPrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeMaxRetries(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeMaxRetriesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodePrioritiesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeSearchModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeSearchModesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPatchcodeTimeOutValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPatchcodeTimeOutValuesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPixelTypes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPixelTypesEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumPrinterStringModes(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumPrinterStringModesEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumShadowValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumShadowValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceUnits(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY lpArray);
        DTWAIN_ARRAY DTWAIN_EnumSourceUnitsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumSourceValues(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceValuesA(DTWAIN_SOURCE Source, LPCSTR capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSourceValuesW(DTWAIN_SOURCE Source, LPCWSTR capName, LPDTWAIN_ARRAY values, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumSources(LPDTWAIN_ARRAY lpArray);
        DTWAIN_ARRAY DTWAIN_EnumSourcesEx();
        DTWAIN_BOOL DTWAIN_EnumSupportedCaps(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumSupportedCapsEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumSupportedCapsEx2(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumSupportedExtImageInfo(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_EnumSupportedExtImageInfoEx(DTWAIN_SOURCE Source);
        DTWAIN_ARRAY DTWAIN_EnumSupportedFileTypes();
        DTWAIN_ARRAY DTWAIN_EnumSupportedMultiPageFileTypes();
        DTWAIN_ARRAY DTWAIN_EnumSupportedSinglePageFileTypes();
        LONG DTWAIN_EnumThresholdValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumThresholdValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_EnumTopCameras(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY Cameras);
        DTWAIN_ARRAY DTWAIN_EnumTopCamerasEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_EnumTwainPrinters(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY lpAvailPrinters);
        DTWAIN_ARRAY DTWAIN_EnumTwainPrintersEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_EnumXResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumXResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        LONG DTWAIN_EnumYResolutionValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_ARRAY DTWAIN_EnumYResolutionValuesEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bExpandIfRange);
        DTWAIN_BOOL DTWAIN_ExecuteOCR(DTWAIN_OCRENGINE Engine, DTWAIN_CCHARPTRTYPE szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_ExecuteOCRA(DTWAIN_OCRENGINE Engine, LPCSTR szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_ExecuteOCRW(DTWAIN_OCRENGINE Engine, LPCWSTR szFileName, LONG nStartPage, LONG nEndPage);
        DTWAIN_BOOL DTWAIN_FeedPage(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_FlipBitmap(HANDLE hDib);
        DTWAIN_BOOL DTWAIN_FlushAcquiredPages(DTWAIN_SOURCE Source);
        DTWAIN_FRAME DTWAIN_FrameCreate(DTWAIN_FLOAT Left, DTWAIN_FLOAT Top, DTWAIN_FLOAT Right, DTWAIN_FLOAT Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateString(DTWAIN_CCHARPTRTYPE Left, DTWAIN_CCHARPTRTYPE Top, DTWAIN_CCHARPTRTYPE Right, DTWAIN_CCHARPTRTYPE Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateStringA(LPCSTR Left, LPCSTR Top, LPCSTR Right, LPCSTR Bottom);
        DTWAIN_FRAME DTWAIN_FrameCreateStringW(LPCWSTR Left, LPCWSTR Top, LPCWSTR Right, LPCWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameDestroy(DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_FrameGetAll(DTWAIN_FRAME Frame, LPDTWAIN_FLOAT Left, LPDTWAIN_FLOAT Top, LPDTWAIN_FLOAT Right, LPDTWAIN_FLOAT Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllString(DTWAIN_FRAME Frame, DTWAIN_CHARPTRTYPE Left, DTWAIN_CHARPTRTYPE Top, DTWAIN_CHARPTRTYPE Right, DTWAIN_CHARPTRTYPE Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllStringA(DTWAIN_FRAME Frame, LPSTR Left, LPSTR Top, LPSTR Right, LPSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetAllStringW(DTWAIN_FRAME Frame, LPWSTR Left, LPWSTR Top, LPWSTR Right, LPWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameGetValue(DTWAIN_FRAME Frame, LONG nWhich, LPDTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueString(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_CHARPTRTYPE Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueStringA(DTWAIN_FRAME Frame, LONG nWhich, LPSTR Value);
        DTWAIN_BOOL DTWAIN_FrameGetValueStringW(DTWAIN_FRAME Frame, LONG nWhich, LPWSTR Value);
        DTWAIN_BOOL DTWAIN_FrameIsValid(DTWAIN_FRAME Frame);
        DTWAIN_BOOL DTWAIN_FrameSetAll(DTWAIN_FRAME Frame, DTWAIN_FLOAT Left, DTWAIN_FLOAT Top, DTWAIN_FLOAT Right, DTWAIN_FLOAT Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllString(DTWAIN_FRAME Frame, DTWAIN_CCHARPTRTYPE Left, DTWAIN_CCHARPTRTYPE Top, DTWAIN_CCHARPTRTYPE Right, DTWAIN_CCHARPTRTYPE Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllStringA(DTWAIN_FRAME Frame, LPCSTR Left, LPCSTR Top, LPCSTR Right, LPCSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetAllStringW(DTWAIN_FRAME Frame, LPCWSTR Left, LPCWSTR Top, LPCWSTR Right, LPCWSTR Bottom);
        DTWAIN_BOOL DTWAIN_FrameSetValue(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueString(DTWAIN_FRAME Frame, LONG nWhich, DTWAIN_CCHARPTRTYPE Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueStringA(DTWAIN_FRAME Frame, LONG nWhich, LPCSTR Value);
        DTWAIN_BOOL DTWAIN_FrameSetValueStringW(DTWAIN_FRAME Frame, LONG nWhich, LPCWSTR Value);
        DTWAIN_BOOL DTWAIN_FreeExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_FreeMemory(HANDLE h);
        DTWAIN_BOOL DTWAIN_FreeMemoryEx(HANDLE h);
        LONG DTWAIN_GetAPIHandleStatus(DTWAIN_HANDLE pHandle);
        DTWAIN_BOOL DTWAIN_GetAcquireArea(DTWAIN_SOURCE Source, LONG lGetType, LPDTWAIN_ARRAY FloatEnum);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT left, LPDTWAIN_FLOAT top, LPDTWAIN_FLOAT right, LPDTWAIN_FLOAT bottom, LPLONG lpUnit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2String(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE left, DTWAIN_CHARPTRTYPE top, DTWAIN_CHARPTRTYPE right, DTWAIN_CHARPTRTYPE bottom, LPLONG Unit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2StringA(DTWAIN_SOURCE Source, LPSTR left, LPSTR top, LPSTR right, LPSTR bottom, LPLONG Unit);
        DTWAIN_BOOL DTWAIN_GetAcquireArea2StringW(DTWAIN_SOURCE Source, LPWSTR left, LPWSTR top, LPWSTR right, LPWSTR bottom, LPLONG Unit);
        DTWAIN_ARRAY DTWAIN_GetAcquireAreaEx(DTWAIN_SOURCE Source, LONG lGetType);
        DTWAIN_BOOL DTWAIN_GetAcquireMetrics(DTWAIN_SOURCE source, LPLONG ImageCount, LPLONG SheetCount);
        HANDLE DTWAIN_GetAcquireStripBuffer(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetAcquireStripData(DTWAIN_SOURCE Source, LPLONG lpCompression, LPDWORD lpBytesPerRow, LPDWORD lpColumns, LPDWORD lpRows, LPDWORD XOffset, LPDWORD YOffset, LPDWORD lpBytesWritten);
        DTWAIN_BOOL DTWAIN_GetAcquireStripSizes(DTWAIN_SOURCE Source, LPDWORD lpMin, LPDWORD lpMax, LPDWORD lpPreferred);
        HANDLE DTWAIN_GetAcquiredImage(DTWAIN_ARRAY aAcq, LONG nWhichAcq, LONG nWhichDib);
        DTWAIN_ARRAY DTWAIN_GetAcquiredImageArray(DTWAIN_ARRAY aAcq, LONG nWhichAcq);
        DTWAIN_ARRAY DTWAIN_GetAcquisitionArray(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetActiveDSMPath(DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMPathA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMPathW(LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfo(DTWAIN_CHARPTRTYPE szDLLInfo, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfoA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetActiveDSMVersionInfoW(LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetAlarmVolume(DTWAIN_SOURCE Source, LPLONG lpVolume);
        DTWAIN_ARRAY DTWAIN_GetAllSourceDibs(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetAppInfo(DTWAIN_CHARPTRTYPE szVerStr, DTWAIN_CHARPTRTYPE szManu, DTWAIN_CHARPTRTYPE szProdFam, DTWAIN_CHARPTRTYPE szProdName);
        DTWAIN_BOOL DTWAIN_GetAppInfoA(LPSTR szVerStr, LPSTR szManu, LPSTR szProdFam, LPSTR szProdName);
        DTWAIN_BOOL DTWAIN_GetAppInfoW(LPWSTR szVerStr, LPWSTR szManu, LPWSTR szProdFam, LPWSTR szProdName);
        DTWAIN_BOOL DTWAIN_GetAuthor(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szAuthor);
        DTWAIN_BOOL DTWAIN_GetAuthorA(DTWAIN_SOURCE Source, LPSTR szAuthor);
        DTWAIN_BOOL DTWAIN_GetAuthorW(DTWAIN_SOURCE Source, LPWSTR szAuthor);
        DTWAIN_BOOL DTWAIN_GetBarcodeMaxPriorities(DTWAIN_SOURCE Source, LPLONG pMaxPriorities, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodeMaxRetries(DTWAIN_SOURCE Source, LPLONG pMaxRetries, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_GetBarcodeSearchMode(DTWAIN_SOURCE Source, LPLONG pSearchMode, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBarcodeTimeOut(DTWAIN_SOURCE Source, LPLONG pTimeOut, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetBatteryMinutes(DTWAIN_SOURCE Source, LPLONG lpMinutes);
        DTWAIN_BOOL DTWAIN_GetBatteryPercent(DTWAIN_SOURCE Source, LPLONG lpPercent);
        DTWAIN_BOOL DTWAIN_GetBitDepth(DTWAIN_SOURCE Source, LPLONG BitDepth, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetBitDepthEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetBlankPageAutoDetection(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetBrightness(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Brightness);
        DTWAIN_FLOAT DTWAIN_GetBrightnessEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetBrightnessString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Brightness);
        DTWAIN_BOOL DTWAIN_GetBrightnessStringA(DTWAIN_SOURCE Source, LPSTR Contrast);
        DTWAIN_BOOL DTWAIN_GetBrightnessStringW(DTWAIN_SOURCE Source, LPWSTR Contrast);
        HANDLE DTWAIN_GetBufferedTransferInfo(DTWAIN_SOURCE Source, LPDWORD Compression, LPDWORD BytesPerRow, LPDWORD Columns, LPDWORD Rows, LPDWORD XOffset, LPDWORD YOffset, LPDWORD Flags, LPDWORD BytesWritten, LPDWORD MemoryLength);
        DTWAIN_CALLBACK_PROC DTWAIN_GetCallback();
        DTWAIN_CALLBACK_PROC64 DTWAIN_GetCallback64();
        LONG DTWAIN_GetCapArrayType(DTWAIN_SOURCE Source, LONG nCap);
        LONG DTWAIN_GetCapContainer(DTWAIN_SOURCE Source, LONG nCap, LONG lCapType);
        LONG DTWAIN_GetCapContainerEx(LONG nCap, DTWAIN_BOOL bSetContainer, LPDTWAIN_ARRAY ConTypes);
        DTWAIN_ARRAY DTWAIN_GetCapContainerEx2(LONG nCap, DTWAIN_BOOL bSetContainer);
        LONG DTWAIN_GetCapDataType(DTWAIN_SOURCE Source, LONG nCap);
        LONG DTWAIN_GetCapFromName(DTWAIN_CCHARPTRTYPE szName);
        LONG DTWAIN_GetCapFromNameA(LPCSTR szName);
        LONG DTWAIN_GetCapFromNameW(LPCWSTR szName);
        LONG DTWAIN_GetCapHelp(LONG lCapability, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetCapHelpA(LONG lCapability, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapHelpW(LONG lCapability, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabel(LONG lCapability, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabelA(LONG lCapability, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetCapLabelW(LONG lCapability, LPWSTR lpszOut, LONG nnSize);
        DTWAIN_BOOL DTWAIN_GetCapOperations(DTWAIN_SOURCE Source, LONG lCapability, LPLONG lpOps);
        LONG DTWAIN_GetCapOperationsEx(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_GetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lGetType, LONG lContainerType, LONG nDataType, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetCaption(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Caption);
        DTWAIN_BOOL DTWAIN_GetCaptionA(DTWAIN_SOURCE Source, LPSTR Caption);
        DTWAIN_BOOL DTWAIN_GetCaptionW(DTWAIN_SOURCE Source, LPWSTR Caption);
        DTWAIN_BOOL DTWAIN_GetCompressionSize(DTWAIN_SOURCE Source, LPLONG lBytes);
        DTWAIN_BOOL DTWAIN_GetCompressionType(DTWAIN_SOURCE Source, LPLONG lpCompression, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetCompressionTypeEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetConditionCodeString(LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConditionCodeStringA(LONG lError, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConditionCodeStringW(LONG lError, LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetConstantFromTwainName(DTWAIN_CCHARPTRTYPE lpszBuffer);
        LONG DTWAIN_GetConstantFromTwainNameA(LPCSTR lpszBuffer);
        LONG DTWAIN_GetConstantFromTwainNameW(LPCWSTR lpszBuffer);
        DTWAIN_BOOL DTWAIN_GetContrast(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Contrast);
        DTWAIN_FLOAT DTWAIN_GetContrastEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetContrastString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Contrast);
        DTWAIN_BOOL DTWAIN_GetContrastStringA(DTWAIN_SOURCE Source, LPSTR Contrast);
        DTWAIN_BOOL DTWAIN_GetContrastStringW(DTWAIN_SOURCE Source, LPWSTR Contrast);
        LONG DTWAIN_GetCountry();
        HANDLE DTWAIN_GetCurrentAcquiredImage(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetCurrentFileName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentFileNameA(DTWAIN_SOURCE Source, LPSTR szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentFileNameW(DTWAIN_SOURCE Source, LPWSTR szName, LONG MaxLen);
        LONG DTWAIN_GetCurrentPageNum(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetCurrentRetryCount(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_GetCustomDSData(DTWAIN_SOURCE Source, LPBYTE Data, DWORD dSize, LPDWORD pActualSize, LONG nFlags);
        LONG DTWAIN_GetDSMFullName(LONG DSMType, DTWAIN_CHARPTRTYPE szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMFullNameA(LONG DSMType, LPSTR szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMFullNameW(LONG DSMType, LPWSTR szDLLName, LONG nMaxLen, LPLONG pWhichSearch);
        LONG DTWAIN_GetDSMSearchOrder();
        LONG DTWAIN_GetDSMSearchOrderEx(DTWAIN_CHARPTRTYPE SearchOrder, DTWAIN_CHARPTRTYPE UserDirectory);
        LONG DTWAIN_GetDSMSearchOrderExA(LPSTR SearchOrder, LPSTR UserDirectory);
        LONG DTWAIN_GetDSMSearchOrderExW(LPWSTR SearchOrder, LPWSTR UserDirectory);
        DTWAIN_HANDLE DTWAIN_GetDTWAINHandle();
        DTWAIN_BOOL DTWAIN_GetDeviceEvent(DTWAIN_SOURCE Source, LPLONG lpEvent);
        DTWAIN_BOOL DTWAIN_GetDeviceEventEx(DTWAIN_SOURCE Source, LPLONG lpEvent, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetDeviceEventInfo(DTWAIN_SOURCE Source, LONG nWhichInfo, LPVOID pValue);
        DTWAIN_BOOL DTWAIN_GetDeviceNotifications(DTWAIN_SOURCE Source, LPLONG DevEvents);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDate(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDateA(DTWAIN_SOURCE Source, LPSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDeviceTimeDateW(DTWAIN_SOURCE Source, LPWSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetDoubleFeedDetectLength(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Value, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetDoubleFeedDetectValues(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_GetDuplexType(DTWAIN_SOURCE Source, LPLONG lpDupType);
        LONG DTWAIN_GetDuplexTypeEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetErrorBuffer(LPDTWAIN_ARRAY ArrayBuffer);
        LONG DTWAIN_GetErrorBufferThreshold();
        DTWAIN_ERROR_PROC DTWAIN_GetErrorCallback();
        DTWAIN_ERROR_PROC64 DTWAIN_GetErrorCallback64();
        LONG DTWAIN_GetErrorString(LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetErrorStringA(LONG lError, LPSTR lpszBuffer, LONG nLength);
        LONG DTWAIN_GetErrorStringW(LONG lError, LPWSTR lpszBuffer, LONG nLength);
        LONG DTWAIN_GetExtCapFromName(DTWAIN_CCHARPTRTYPE szName);
        LONG DTWAIN_GetExtCapFromNameA(LPCSTR szName);
        LONG DTWAIN_GetExtCapFromNameW(LPCWSTR szName);
        DTWAIN_BOOL DTWAIN_GetExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoData(DTWAIN_SOURCE Source, LONG nWhich, LPDTWAIN_ARRAY Data);
        DTWAIN_ARRAY DTWAIN_GetExtImageInfoDataEx(DTWAIN_SOURCE Source, LONG nWhich);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoItem(DTWAIN_SOURCE Source, LONG nWhich, LPLONG InfoID, LPLONG NumItems, LPLONG Type);
        DTWAIN_BOOL DTWAIN_GetExtImageInfoItemEx(DTWAIN_SOURCE Source, LONG nWhich, LPLONG InfoID, LPLONG NumItems, LPLONG Type, LPLONG ReturnCode);
        LONG DTWAIN_GetExtNameFromCap(LONG nValue, DTWAIN_CHARPTRTYPE szValue, LONG nMaxLen);
        LONG DTWAIN_GetExtNameFromCapA(LONG nValue, LPSTR szValue, LONG nLength);
        LONG DTWAIN_GetExtNameFromCapW(LONG nValue, LPWSTR szValue, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetFeederAlignment(DTWAIN_SOURCE Source, LPLONG lpAlignment);
        LONG DTWAIN_GetFeederFuncs(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetFeederOrder(DTWAIN_SOURCE Source, LPLONG lpOrder);
        LONG DTWAIN_GetFeederWaitTime(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileCompressionType(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileSavePageCount(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetFileTypeExtensions(LONG nType, DTWAIN_CHARPTRTYPE lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeExtensionsA(LONG nType, LPSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeExtensionsW(LONG nType, LPWSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeName(LONG nType, DTWAIN_CHARPTRTYPE lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeNameA(LONG nType, LPSTR lpszName, LONG nLength);
        LONG DTWAIN_GetFileTypeNameW(LONG nType, LPWSTR lpszName, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetHalftone(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHalftoneA(DTWAIN_SOURCE Source, LPSTR lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHalftoneW(DTWAIN_SOURCE Source, LPWSTR lpHalftone, LONG GetType);
        DTWAIN_BOOL DTWAIN_GetHighlight(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightStringA(DTWAIN_SOURCE Source, LPSTR Highlight);
        DTWAIN_BOOL DTWAIN_GetHighlightStringW(DTWAIN_SOURCE Source, LPWSTR Highlight);
        DTWAIN_BOOL DTWAIN_GetImageInfo(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT lpXResolution, LPDTWAIN_FLOAT lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE lpXResolution, DTWAIN_CHARPTRTYPE lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoStringA(DTWAIN_SOURCE Source, LPSTR lpXResolution, LPSTR lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetImageInfoStringW(DTWAIN_SOURCE Source, LPWSTR lpXResolution, LPWSTR lpYResolution, LPLONG lpWidth, LPLONG lpLength, LPLONG lpNumSamples, LPDTWAIN_ARRAY lpBitsPerSample, LPLONG lpBitsPerPixel, LPLONG lpPlanar, LPLONG lpPixelType, LPLONG lpCompression);
        DTWAIN_BOOL DTWAIN_GetJobControl(DTWAIN_SOURCE Source, LPLONG pJobControl, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetJobControlEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bGetCurrent);
        DTWAIN_BOOL DTWAIN_GetJpegValues(DTWAIN_SOURCE Source, LPLONG pQuality, LPLONG Progressive);
        DTWAIN_BOOL DTWAIN_GetJpegXRValues(DTWAIN_SOURCE Source, LPLONG pQuality, LPLONG Progressive);
        LONG DTWAIN_GetLanguage();
        LONG DTWAIN_GetLastError();
        LONG DTWAIN_GetLibraryPath(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetLibraryPathA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetLibraryPathW(LPWSTR lpszVer, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetLightPath(DTWAIN_SOURCE Source, LPLONG lpLightPath);
        DTWAIN_BOOL DTWAIN_GetLightPathEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetLightSource(DTWAIN_SOURCE Source, LPLONG LightSource);
        DTWAIN_BOOL DTWAIN_GetLightSources(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY LightSources);
        DTWAIN_ARRAY DTWAIN_GetLightSourcesEx(DTWAIN_SOURCE Source);
        DTWAIN_LOGGER_PROC DTWAIN_GetLoggerCallback();
        DTWAIN_LOGGER_PROCA DTWAIN_GetLoggerCallbackA();
        DTWAIN_LOGGER_PROCW DTWAIN_GetLoggerCallbackW();
        DTWAIN_BOOL DTWAIN_GetManualDuplexCount(DTWAIN_SOURCE Source, LPLONG pSide1, LPLONG pSide2);
        LONG DTWAIN_GetMaxAcquisitions(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetMaxBuffers(DTWAIN_SOURCE Source, LPLONG pMaxBuf);
        LONG DTWAIN_GetMaxPagesToAcquire(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetMaxRetryAttempts(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetNameFromCap(LONG nCapValue, DTWAIN_CHARPTRTYPE szValue, LONG nMaxLen);
        LONG DTWAIN_GetNameFromCapA(LONG nCapValue, LPSTR szValue, LONG nLength);
        LONG DTWAIN_GetNameFromCapW(LONG nCapValue, LPWSTR szValue, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetNoiseFilter(DTWAIN_SOURCE Source, LPLONG lpNoiseFilter);
        LONG DTWAIN_GetNumAcquiredImages(DTWAIN_ARRAY aAcq, LONG nWhich);
        LONG DTWAIN_GetNumAcquisitions(DTWAIN_ARRAY aAcq);
        DTWAIN_BOOL DTWAIN_GetOCRCapValues(DTWAIN_OCRENGINE Engine, LONG OCRCapValue, LONG GetType, LPDTWAIN_ARRAY CapValues);
        LONG DTWAIN_GetOCRErrorString(DTWAIN_OCRENGINE Engine, LONG lError, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRErrorStringA(DTWAIN_OCRENGINE Engine, LONG lError, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRErrorStringW(DTWAIN_OCRENGINE Engine, LONG lError, LPWSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetOCRLastError(DTWAIN_OCRENGINE Engine);
        DTWAIN_BOOL DTWAIN_GetOCRMajorMinorVersion(DTWAIN_OCRENGINE Engine, LPLONG lpMajor, LPLONG lpMinor);
        LONG DTWAIN_GetOCRManufacturer(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szManufacturer, LONG nMaxLen);
        LONG DTWAIN_GetOCRManufacturerA(DTWAIN_OCRENGINE Engine, LPSTR szManufacturer, LONG nLength);
        LONG DTWAIN_GetOCRManufacturerW(DTWAIN_OCRENGINE Engine, LPWSTR szManufacturer, LONG nLength);
        LONG DTWAIN_GetOCRProductFamily(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szProductFamily, LONG nMaxLen);
        LONG DTWAIN_GetOCRProductFamilyA(DTWAIN_OCRENGINE Engine, LPSTR szProductFamily, LONG nLength);
        LONG DTWAIN_GetOCRProductFamilyW(DTWAIN_OCRENGINE Engine, LPWSTR szProductFamily, LONG nLength);
        LONG DTWAIN_GetOCRProductName(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE szProductName, LONG nMaxLen);
        LONG DTWAIN_GetOCRProductNameA(DTWAIN_OCRENGINE Engine, LPSTR szProductName, LONG nLength);
        LONG DTWAIN_GetOCRProductNameW(DTWAIN_OCRENGINE Engine, LPWSTR szProductName, LONG nLength);
        HANDLE DTWAIN_GetOCRText(DTWAIN_OCRENGINE Engine, LONG nPageNo, DTWAIN_CHARPTRTYPE Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        HANDLE DTWAIN_GetOCRTextA(DTWAIN_OCRENGINE Engine, LONG nPageNo, LPSTR Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoFloat(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nCharPos, LONG nWhichItem, LPDTWAIN_FLOAT pInfo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoFloatEx(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nWhichItem, LPDTWAIN_FLOAT pInfo, LONG bufSize);
        DTWAIN_OCRTEXTINFOHANDLE DTWAIN_GetOCRTextInfoHandle(DTWAIN_OCRENGINE Engine, LONG nPageNo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoLong(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nCharPos, LONG nWhichItem, LPLONG pInfo);
        DTWAIN_BOOL DTWAIN_GetOCRTextInfoLongEx(DTWAIN_OCRTEXTINFOHANDLE OCRTextInfo, LONG nWhichItem, LPLONG pInfo, LONG bufSize);
        HANDLE DTWAIN_GetOCRTextW(DTWAIN_OCRENGINE Engine, LONG nPageNo, LPWSTR Data, LONG dSize, LPLONG pActualSize, LONG nFlags);
        LONG DTWAIN_GetOCRVersionInfo(DTWAIN_OCRENGINE Engine, DTWAIN_CHARPTRTYPE buffer, LONG maxBufSize);
        LONG DTWAIN_GetOCRVersionInfoA(DTWAIN_OCRENGINE Engine, LPSTR buffer, LONG nLength);
        LONG DTWAIN_GetOCRVersionInfoW(DTWAIN_OCRENGINE Engine, LPWSTR buffer, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetOrientation(DTWAIN_SOURCE Source, LPLONG lpOrient, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetOrientationEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetOverscan(DTWAIN_SOURCE Source, LPLONG lpOverscan, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPDFTextElementFloat(DTWAIN_PDFTEXTELEMENT TextElement, LPDTWAIN_FLOAT val1, LPDTWAIN_FLOAT val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_GetPDFTextElementLong(DTWAIN_PDFTEXTELEMENT TextElement, LPLONG val1, LPLONG val2, LONG Flags);
        LONG DTWAIN_GetPDFTextElementString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CHARPTRTYPE szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFTextElementStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPSTR szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFTextElementStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPWSTR szData, LONG maxLen, LONG Flags);
        LONG DTWAIN_GetPDFType1FontName(LONG FontVal, DTWAIN_CHARPTRTYPE szFont, LONG nChars);
        LONG DTWAIN_GetPDFType1FontNameA(LONG FontVal, LPSTR szFont, LONG nChars);
        LONG DTWAIN_GetPDFType1FontNameW(LONG FontVal, LPWSTR szFont, LONG nChars);
        DTWAIN_BOOL DTWAIN_GetPaperSize(DTWAIN_SOURCE Source, LPLONG lpPaperSize, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPaperSizeName(LONG paperNumber, DTWAIN_CHARPTRTYPE outName, LONG nSize);
        LONG DTWAIN_GetPaperSizeNameA(LONG paperNumber, LPSTR outName, LONG nSize);
        LONG DTWAIN_GetPaperSizeNameW(LONG paperNumber, LPWSTR outName, LONG nSize);
        DTWAIN_BOOL DTWAIN_GetPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LPLONG pMaxPriorities, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodeMaxRetries(DTWAIN_SOURCE Source, LPLONG pMaxRetries, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodePriorities(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_GetPatchcodeSearchMode(DTWAIN_SOURCE Source, LPLONG pSearchMode, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPatchcodeTimeOut(DTWAIN_SOURCE Source, LPLONG pTimeOut, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPixelFlavor(DTWAIN_SOURCE Source, LPLONG lpPixelFlavor);
        DTWAIN_BOOL DTWAIN_GetPixelType(DTWAIN_SOURCE Source, LPLONG PixelType, LPLONG BitDepth, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinter(DTWAIN_SOURCE Source, LPLONG lpPrinter, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPrinterEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinterStartNumber(DTWAIN_SOURCE Source, LPLONG nStart);
        LONG DTWAIN_GetPrinterStartNumberEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetPrinterStringMode(DTWAIN_SOURCE Source, LPLONG PrinterMode, DTWAIN_BOOL bCurrent);
        LONG DTWAIN_GetPrinterStringModeEx(DTWAIN_SOURCE Source, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_GetPrinterStrings(DTWAIN_SOURCE Source, LPDTWAIN_ARRAY ArrayString);
        DTWAIN_ARRAY DTWAIN_GetPrinterStringsEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Suffix, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixStringA(DTWAIN_SOURCE Source, LPSTR Suffix, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetPrinterSuffixStringW(DTWAIN_SOURCE Source, LPWSTR Suffix, LONG nLength);
        LONG DTWAIN_GetRegisteredMsg();
        DTWAIN_BOOL DTWAIN_GetResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_FLOAT DTWAIN_GetResolutionEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        LONG DTWAIN_GetResourceString(LONG ResourceID, DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetResourceStringA(LONG ResourceID, LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetResourceStringW(LONG ResourceID, LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetRotation(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Rotation);
        DTWAIN_FLOAT DTWAIN_GetRotationEx(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_GetRotationString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Rotation);
        DTWAIN_BOOL DTWAIN_GetRotationStringA(DTWAIN_SOURCE Source, LPSTR Rotation);
        DTWAIN_BOOL DTWAIN_GetRotationStringW(DTWAIN_SOURCE Source, LPWSTR Rotation);
        LONG DTWAIN_GetSaveFileName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE fName, LONG nMaxLen);
        LONG DTWAIN_GetSaveFileNameA(DTWAIN_SOURCE Source, LPSTR fName, LONG nMaxLen);
        LONG DTWAIN_GetSaveFileNameW(DTWAIN_SOURCE Source, LPWSTR fName, LONG nMaxLen);
        LONG DTWAIN_GetSessionDetails(DTWAIN_CHARPTRTYPE szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSessionDetailsA(LPSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSessionDetailsW(LPWSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        DTWAIN_BOOL DTWAIN_GetShadow(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowStringA(DTWAIN_SOURCE Source, LPSTR Shadow);
        DTWAIN_BOOL DTWAIN_GetShadowStringW(DTWAIN_SOURCE Source, LPWSTR Shadow);
        LONG DTWAIN_GetShortVersionString(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetShortVersionStringA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetShortVersionStringW(LPWSTR lpszVer, LONG nLength);
        DTWAIN_ARRAY DTWAIN_GetSourceAcquisitions(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceDetails(DTWAIN_CCHARPTRTYPE szSources, DTWAIN_CHARPTRTYPE szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSourceDetailsA(LPCSTR szSources, LPSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        LONG DTWAIN_GetSourceDetailsW(LPCWSTR szSources, LPWSTR szBuf, LONG nSize, LONG indentFactor, BOOL bRefresh);
        DTWAIN_IDENTITY DTWAIN_GetSourceID(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceManufacturer(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceManufacturerA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceManufacturerW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductFamily(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceProductFamilyA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductFamilyW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductName(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceProductNameA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceProductNameW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetSourceUnit(DTWAIN_SOURCE Source, LPLONG lpUnit);
        LONG DTWAIN_GetSourceUnitEx(DTWAIN_SOURCE Source);
        LONG DTWAIN_GetSourceVersionInfo(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szProduct, LONG nMaxLen);
        LONG DTWAIN_GetSourceVersionInfoA(DTWAIN_SOURCE Source, LPSTR szProduct, LONG nLength);
        LONG DTWAIN_GetSourceVersionInfoW(DTWAIN_SOURCE Source, LPWSTR szProduct, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetSourceVersionNumber(DTWAIN_SOURCE Source, LPLONG pMajor, LPLONG pMinor);
        LONG DTWAIN_GetStaticLibVersion();
        LONG DTWAIN_GetTempFileDirectory(DTWAIN_CHARPTRTYPE szFilePath, LONG nMaxLen);
        LONG DTWAIN_GetTempFileDirectoryA(LPSTR szFilePath, LONG nLength);
        LONG DTWAIN_GetTempFileDirectoryW(LPWSTR szFilePath, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetThreshold(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdStringA(DTWAIN_SOURCE Source, LPSTR Threshold);
        DTWAIN_BOOL DTWAIN_GetThresholdStringW(DTWAIN_SOURCE Source, LPWSTR Threshold);
        DTWAIN_BOOL DTWAIN_GetTimeDate(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_GetTimeDateA(DTWAIN_SOURCE Source, LPSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_GetTimeDateW(DTWAIN_SOURCE Source, LPWSTR szTimeDate);
        DTWAIN_IDENTITY DTWAIN_GetTwainAppID();
        LONG DTWAIN_GetTwainAvailability();
        LONG DTWAIN_GetTwainAvailabilityEx(DTWAIN_CHARPTRTYPE directories, LONG nMaxLen);
        LONG DTWAIN_GetTwainAvailabilityExA(LPSTR szDirectories, LONG nLength);
        LONG DTWAIN_GetTwainAvailabilityExW(LPWSTR szDirectories, LONG nLength);
        HWND DTWAIN_GetTwainHwnd();
        LONG DTWAIN_GetTwainMode();
        LONG DTWAIN_GetTwainNameFromConstant(LONG lConstantType, LONG lTwainConstant, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantA(LONG lConstantType, LONG lTwainConstant, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantEx(LONG lConstantType, LONG lTwainConstant, DTWAIN_CHARPTRTYPE lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantExA(LONG lConstantType, LONG lTwainConstant, LPSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantExW(LONG lConstantType, LONG lTwainConstant, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainNameFromConstantW(LONG lConstantType, LONG lTwainConstant, LPWSTR lpszOut, LONG nSize);
        LONG DTWAIN_GetTwainTimeout();
        DTWAIN_BOOL DTWAIN_GetVersion(LPLONG lpMajor, LPLONG lpMinor, LPLONG lpVersionType);
        LONG DTWAIN_GetVersionCopyright(DTWAIN_CHARPTRTYPE lpszApp, LONG nLength);
        LONG DTWAIN_GetVersionCopyrightA(LPSTR lpszApp, LONG nLength);
        LONG DTWAIN_GetVersionCopyrightW(LPWSTR lpszApp, LONG nLength);
        DTWAIN_BOOL DTWAIN_GetVersionEx(LPLONG lMajor, LPLONG lMinor, LPLONG lVersionType, LPLONG lPatchLevel);
        LONG DTWAIN_GetVersionInfo(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionInfoA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionInfoW(LPWSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionString(DTWAIN_CHARPTRTYPE lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionStringA(LPSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetVersionStringW(LPWSTR lpszVer, LONG nLength);
        LONG DTWAIN_GetWindowsVersionInfo(DTWAIN_CHARPTRTYPE lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetWindowsVersionInfoA(LPSTR lpszBuffer, LONG nMaxLen);
        LONG DTWAIN_GetWindowsVersionInfoW(LPWSTR lpszBuffer, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_GetXResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetXResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolution(DTWAIN_SOURCE Source, LPDTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionString(DTWAIN_SOURCE Source, DTWAIN_CHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionStringA(DTWAIN_SOURCE Source, LPSTR Resolution);
        DTWAIN_BOOL DTWAIN_GetYResolutionStringW(DTWAIN_SOURCE Source, LPWSTR Resolution);
        DTWAIN_BOOL DTWAIN_InitExtImageInfo(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_InitImageFileAppend(DTWAIN_CCHARPTRTYPE szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitImageFileAppendA(LPCSTR szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitImageFileAppendW(LPCWSTR szFile, LONG fType);
        DTWAIN_BOOL DTWAIN_InitOCRInterface();
        DTWAIN_BOOL DTWAIN_IsAcquiring();
        DTWAIN_BOOL DTWAIN_IsAudioXferSupported(DTWAIN_SOURCE Source, LONG supportVal);
        DTWAIN_BOOL DTWAIN_IsAutoBorderDetectEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBorderDetectSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBrightEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoBrightSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoDeskewEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoDeskewSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoFeedEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoFeedSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoRotateEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoRotateSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutoScanEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutomaticSenseMediumEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsAutomaticSenseMediumSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeCapsSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeDetectionEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBarcodeSupported(DTWAIN_SOURCE Source, LONG BarCode);
        DTWAIN_BOOL DTWAIN_IsBlankPageDetectionOn(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBufferedTileModeOn(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsBufferedTileModeSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsCapSupported(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_IsCompressionSupported(DTWAIN_SOURCE Source, LONG Compression);
        DTWAIN_BOOL DTWAIN_IsCustomDSDataSupported(DTWAIN_SOURCE Source);
        LONG DTWAIN_IsDIBBlank(HANDLE hDib, DTWAIN_FLOAT threshold);
        LONG DTWAIN_IsDIBBlankString(HANDLE hDib, DTWAIN_CCHARPTRTYPE threshold);
        LONG DTWAIN_IsDIBBlankStringA(HANDLE hDib, LPCSTR threshold);
        LONG DTWAIN_IsDIBBlankStringW(HANDLE hDib, LPCWSTR threshold);
        DTWAIN_BOOL DTWAIN_IsDeviceEventSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDeviceOnLine(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDoubleFeedDetectLengthSupported(DTWAIN_SOURCE Source, DTWAIN_FLOAT value);
        DTWAIN_BOOL DTWAIN_IsDoubleFeedDetectSupported(DTWAIN_SOURCE Source, LONG SupportVal);
        DTWAIN_BOOL DTWAIN_IsDuplexEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsDuplexSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsExtImageInfoSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederLoaded(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederSensitive(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFeederSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFileSystemSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsFileXferSupported(DTWAIN_SOURCE Source, LONG lFileType);
        DTWAIN_BOOL DTWAIN_IsGetMessageLoopDetectionOn();
        DTWAIN_BOOL DTWAIN_IsGetMessageLoopEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldALastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldALevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldAPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldAValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldBValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldCValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDLastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDLevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldDValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldELastPageSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldELevelSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldEPrintFormatSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIAFieldEValueSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsImageAddressingSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIndicatorEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsIndicatorSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsInitialized();
        DTWAIN_BOOL DTWAIN_IsJobControlSupported(DTWAIN_SOURCE Source, LONG JobControl);
        DTWAIN_BOOL DTWAIN_IsLampEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLampSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLightPathSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsLightSourceSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsMaxBuffersSupported(DTWAIN_SOURCE Source, LONG MaxBuf);
        DTWAIN_BOOL DTWAIN_IsMemFileXferSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsMsgNotifyEnabled();
        DTWAIN_BOOL DTWAIN_IsNotifyTripletsEnabled();
        DTWAIN_BOOL DTWAIN_IsOCREngineActivated(DTWAIN_OCRENGINE OCREngine);
        DTWAIN_BOOL DTWAIN_IsOpenSourcesOnSelect();
        DTWAIN_BOOL DTWAIN_IsOrientationSupported(DTWAIN_SOURCE Source, LONG Orientation);
        DTWAIN_BOOL DTWAIN_IsOverscanSupported(DTWAIN_SOURCE Source, LONG SupportValue);
        DTWAIN_BOOL DTWAIN_IsPaperDetectable(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPaperSizeSupported(DTWAIN_SOURCE Source, LONG PaperSize);
        DTWAIN_BOOL DTWAIN_IsPatchcodeCapsSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPatchcodeDetectionEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPatchcodeSupported(DTWAIN_SOURCE Source, LONG PatchCode);
        DTWAIN_BOOL DTWAIN_IsPeekMessageLoopEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsPixelTypeSupported(DTWAIN_SOURCE Source, LONG PixelType);
        DTWAIN_BOOL DTWAIN_IsPrinterEnabled(DTWAIN_SOURCE Source, LONG Printer);
        DTWAIN_BOOL DTWAIN_IsPrinterSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsRotationSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSessionEnabled();
        DTWAIN_BOOL DTWAIN_IsSkipImageInfoError(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceAcquiring(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceAcquiringEx(DTWAIN_SOURCE Source, BOOL bUIOnly);
        DTWAIN_BOOL DTWAIN_IsSourceInUIOnlyMode(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceOpen(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceSelected(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsSourceValid(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsThumbnailEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsThumbnailSupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsTwainAvailable();
        LONG DTWAIN_IsTwainAvailableEx(DTWAIN_CHARPTRTYPE directories, LONG nMaxLen);
        LONG DTWAIN_IsTwainAvailableExA(LPSTR directories, LONG nMaxLen);
        LONG DTWAIN_IsTwainAvailableExW(LPWSTR directories, LONG nMaxLen);
        DTWAIN_BOOL DTWAIN_IsUIControllable(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsUIEnabled(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_IsUIOnlySupported(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResources(DTWAIN_CCHARPTRTYPE sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesA(LPCSTR sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesEx(DTWAIN_CCHARPTRTYPE sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesExA(LPCSTR sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesExW(LPCWSTR sLangDLL, DTWAIN_BOOL bClear);
        DTWAIN_BOOL DTWAIN_LoadCustomStringResourcesW(LPCWSTR sLangDLL);
        DTWAIN_BOOL DTWAIN_LoadLanguageResource(LONG nLanguage);
        DTWAIN_MEMORY_PTR DTWAIN_LockMemory(HANDLE h);
        DTWAIN_MEMORY_PTR DTWAIN_LockMemoryEx(HANDLE h);
        DTWAIN_BOOL DTWAIN_LogMessage(DTWAIN_CCHARPTRTYPE message);
        DTWAIN_BOOL DTWAIN_LogMessageA(LPCSTR message);
        DTWAIN_BOOL DTWAIN_LogMessageW(LPCWSTR message);
        LONG DTWAIN_MakeRGB(LONG red, LONG green, LONG blue);
        DTWAIN_BOOL DTWAIN_OpenSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_OpenSourcesOnSelect(DTWAIN_BOOL bSet);
        DTWAIN_RANGE DTWAIN_RangeCreate(LONG nEnumType);
        DTWAIN_RANGE DTWAIN_RangeCreateFromCap(DTWAIN_SOURCE Source, LONG lCapType);
        DTWAIN_BOOL DTWAIN_RangeDestroy(DTWAIN_RANGE pSource);
        DTWAIN_BOOL DTWAIN_RangeExpand(DTWAIN_RANGE pSource, LPDTWAIN_ARRAY pArray);
        DTWAIN_ARRAY DTWAIN_RangeExpandEx(DTWAIN_RANGE Range);
        DTWAIN_BOOL DTWAIN_RangeGetAll(DTWAIN_RANGE pArray, LPVOID pVariantLow, LPVOID pVariantUp, LPVOID pVariantStep, LPVOID pVariantDefault, LPVOID pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloat(DTWAIN_RANGE pArray, LPDTWAIN_FLOAT pVariantLow, LPDTWAIN_FLOAT pVariantUp, LPDTWAIN_FLOAT pVariantStep, LPDTWAIN_FLOAT pVariantDefault, LPDTWAIN_FLOAT pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatString(DTWAIN_RANGE pArray, DTWAIN_CHARPTRTYPE dLow, DTWAIN_CHARPTRTYPE dUp, DTWAIN_CHARPTRTYPE dStep, DTWAIN_CHARPTRTYPE dDefault, DTWAIN_CHARPTRTYPE dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatStringA(DTWAIN_RANGE pArray, LPSTR dLow, LPSTR dUp, LPSTR dStep, LPSTR dDefault, LPSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllFloatStringW(DTWAIN_RANGE pArray, LPWSTR dLow, LPWSTR dUp, LPWSTR dStep, LPWSTR dDefault, LPWSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeGetAllLong(DTWAIN_RANGE pArray, LPLONG pVariantLow, LPLONG pVariantUp, LPLONG pVariantStep, LPLONG pVariantDefault, LPLONG pVariantCurrent);
        LONG DTWAIN_RangeGetCount(DTWAIN_RANGE pArray);
        DTWAIN_BOOL DTWAIN_RangeGetExpValue(DTWAIN_RANGE pArray, LONG lPos, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloat(DTWAIN_RANGE pArray, LONG lPos, LPDTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatString(DTWAIN_RANGE pArray, LONG lPos, DTWAIN_CHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatStringA(DTWAIN_RANGE pArray, LONG lPos, LPSTR pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueFloatStringW(DTWAIN_RANGE pArray, LONG lPos, LPWSTR pVal);
        DTWAIN_BOOL DTWAIN_RangeGetExpValueLong(DTWAIN_RANGE pArray, LONG lPos, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValue(DTWAIN_RANGE pArray, LPVOID pVariantIn, LPVOID pVariantOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT dIn, LPDTWAIN_FLOAT pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE dIn, DTWAIN_CHARPTRTYPE pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatStringA(DTWAIN_RANGE pArray, LPCSTR dIn, LPSTR dOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueFloatStringW(DTWAIN_RANGE pArray, LPCWSTR dIn, LPWSTR dOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetNearestValueLong(DTWAIN_RANGE pArray, LONG lIn, LPLONG pOut, LONG RoundType);
        DTWAIN_BOOL DTWAIN_RangeGetPos(DTWAIN_RANGE pArray, LPVOID pVariant, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatStringA(DTWAIN_RANGE pArray, LPCSTR Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosFloatStringW(DTWAIN_RANGE pArray, LPCWSTR Val, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetPosLong(DTWAIN_RANGE pArray, LONG Value, LPLONG pPos);
        DTWAIN_BOOL DTWAIN_RangeGetValue(DTWAIN_RANGE pArray, LONG nWhich, LPVOID pVariant);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloat(DTWAIN_RANGE pArray, LONG nWhich, LPDTWAIN_FLOAT pVal);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatString(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_CHARPTRTYPE pVal);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatStringA(DTWAIN_RANGE pArray, LONG nWhich, LPSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeGetValueFloatStringW(DTWAIN_RANGE pArray, LONG nWhich, LPWSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeGetValueLong(DTWAIN_RANGE pArray, LONG nWhich, LPLONG pVal);
        DTWAIN_BOOL DTWAIN_RangeIsValid(DTWAIN_RANGE Range, LPLONG pStatus);
        DTWAIN_BOOL DTWAIN_RangeSetAll(DTWAIN_RANGE pArray, LPVOID pVariantLow, LPVOID pVariantUp, LPVOID pVariantStep, LPVOID pVariantDefault, LPVOID pVariantCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloat(DTWAIN_RANGE pArray, DTWAIN_FLOAT dLow, DTWAIN_FLOAT dUp, DTWAIN_FLOAT dStep, DTWAIN_FLOAT dDefault, DTWAIN_FLOAT dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatString(DTWAIN_RANGE pArray, DTWAIN_CCHARPTRTYPE dLow, DTWAIN_CCHARPTRTYPE dUp, DTWAIN_CCHARPTRTYPE dStep, DTWAIN_CCHARPTRTYPE dDefault, DTWAIN_CCHARPTRTYPE dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatStringA(DTWAIN_RANGE pArray, LPCSTR dLow, LPCSTR dUp, LPCSTR dStep, LPCSTR dDefault, LPCSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllFloatStringW(DTWAIN_RANGE pArray, LPCWSTR dLow, LPCWSTR dUp, LPCWSTR dStep, LPCWSTR dDefault, LPCWSTR dCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetAllLong(DTWAIN_RANGE pArray, LONG lLow, LONG lUp, LONG lStep, LONG lDefault, LONG lCurrent);
        DTWAIN_BOOL DTWAIN_RangeSetValue(DTWAIN_RANGE pArray, LONG nWhich, LPVOID pVal);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloat(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_FLOAT Val);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatString(DTWAIN_RANGE pArray, LONG nWhich, DTWAIN_CCHARPTRTYPE Val);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatStringA(DTWAIN_RANGE pArray, LONG nWhich, LPCSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeSetValueFloatStringW(DTWAIN_RANGE pArray, LONG nWhich, LPCWSTR dValue);
        DTWAIN_BOOL DTWAIN_RangeSetValueLong(DTWAIN_RANGE pArray, LONG nWhich, LONG Val);
        DTWAIN_BOOL DTWAIN_RemovePDFTextElement(DTWAIN_SOURCE Source, DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_ResetPDFTextElement(DTWAIN_PDFTEXTELEMENT TextElement);
        DTWAIN_BOOL DTWAIN_RewindPage(DTWAIN_SOURCE Source);
        HANDLE DTWAIN_RotateImage(HANDLE hDib, DTWAIN_FLOAT rotationAngle);
        HANDLE DTWAIN_RotateImageString(HANDLE hDib, DTWAIN_CCHARPTRTYPE rotationAngle);
        HANDLE DTWAIN_RotateImageStringA(HANDLE hDib, LPCSTR rotationAngle);
        HANDLE DTWAIN_RotateImageStringW(HANDLE hDib, LPCWSTR rotationAngle);
        DTWAIN_OCRENGINE DTWAIN_SelectDefaultOCREngine();
        DTWAIN_SOURCE DTWAIN_SelectDefaultSource();
        DTWAIN_SOURCE DTWAIN_SelectDefaultSourceWithOpen(DTWAIN_BOOL bOpen);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine();
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2A(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2Ex(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE szIncludeFilter, DTWAIN_CCHARPTRTYPE szExcludeFilter, DTWAIN_CCHARPTRTYPE szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2ExA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LPCSTR szIncludeNames, LPCSTR szExcludeNames, LPCSTR szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2ExW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LPCWSTR szIncludeNames, LPCWSTR szExcludeNames, LPCWSTR szNameMapping, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngine2W(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByName(DTWAIN_CCHARPTRTYPE lpszName);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByNameA(LPCSTR lpszName);
        DTWAIN_OCRENGINE DTWAIN_SelectOCREngineByNameW(LPCWSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSource();
        DTWAIN_SOURCE DTWAIN_SelectSource2(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2A(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2Ex(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, DTWAIN_CCHARPTRTYPE szIncludeFilter, DTWAIN_CCHARPTRTYPE szExcludeFilter, DTWAIN_CCHARPTRTYPE szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2ExA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LPCSTR szIncludeNames, LPCSTR szExcludeNames, LPCSTR szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2ExW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LPCWSTR szIncludeNames, LPCWSTR szExcludeNames, LPCWSTR szNameMapping, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSource2W(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nOptions);
        DTWAIN_SOURCE DTWAIN_SelectSourceByName(DTWAIN_CCHARPTRTYPE lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameA(LPCSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameW(LPCWSTR lpszName);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpen(DTWAIN_CCHARPTRTYPE lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpenA(LPCSTR lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceByNameWithOpenW(LPCWSTR lpszName, DTWAIN_BOOL bOpen);
        DTWAIN_SOURCE DTWAIN_SelectSourceWithOpen(DTWAIN_BOOL bOpen);
        DTWAIN_BOOL DTWAIN_SetAcquireArea(DTWAIN_SOURCE Source, LONG lSetType, DTWAIN_ARRAY FloatEnum, DTWAIN_ARRAY ActualEnum);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2(DTWAIN_SOURCE Source, DTWAIN_FLOAT left, DTWAIN_FLOAT top, DTWAIN_FLOAT right, DTWAIN_FLOAT bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2String(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE left, DTWAIN_CCHARPTRTYPE top, DTWAIN_CCHARPTRTYPE right, DTWAIN_CCHARPTRTYPE bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2StringA(DTWAIN_SOURCE Source, LPCSTR left, LPCSTR top, LPCSTR right, LPCSTR bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireArea2StringW(DTWAIN_SOURCE Source, LPCWSTR left, LPCWSTR top, LPCWSTR right, LPCWSTR bottom, LONG lUnit, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetAcquireImageNegative(DTWAIN_SOURCE Source, DTWAIN_BOOL IsNegative);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScale(DTWAIN_SOURCE Source, DTWAIN_FLOAT xscale, DTWAIN_FLOAT yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE xscale, DTWAIN_CCHARPTRTYPE yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleStringA(DTWAIN_SOURCE Source, LPCSTR xscale, LPCSTR yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireImageScaleStringW(DTWAIN_SOURCE Source, LPCWSTR xscale, LPCWSTR yscale);
        DTWAIN_BOOL DTWAIN_SetAcquireStripBuffer(DTWAIN_SOURCE Source, HANDLE hMem);
        DTWAIN_BOOL DTWAIN_SetAcquireStripSize(DTWAIN_SOURCE Source, DWORD StripSize);
        DTWAIN_BOOL DTWAIN_SetAlarmVolume(DTWAIN_SOURCE Source, LONG Volume);
        DTWAIN_BOOL DTWAIN_SetAlarms(DTWAIN_SOURCE Source, DTWAIN_ARRAY Alarms);
        DTWAIN_BOOL DTWAIN_SetAllCapsToDefault(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_SetAppInfo(DTWAIN_CCHARPTRTYPE szVerStr, DTWAIN_CCHARPTRTYPE szManu, DTWAIN_CCHARPTRTYPE szProdFam, DTWAIN_CCHARPTRTYPE szProdName);
        DTWAIN_BOOL DTWAIN_SetAppInfoA(LPCSTR szVerStr, LPCSTR szManu, LPCSTR szProdFam, LPCSTR szProdName);
        DTWAIN_BOOL DTWAIN_SetAppInfoW(LPCWSTR szVerStr, LPCWSTR szManu, LPCWSTR szProdFam, LPCWSTR szProdName);
        DTWAIN_BOOL DTWAIN_SetAuthor(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szAuthor);
        DTWAIN_BOOL DTWAIN_SetAuthorA(DTWAIN_SOURCE Source, LPCSTR szAuthor);
        DTWAIN_BOOL DTWAIN_SetAuthorW(DTWAIN_SOURCE Source, LPCWSTR szAuthor);
        DTWAIN_BOOL DTWAIN_SetAvailablePrinters(DTWAIN_SOURCE Source, LONG lpAvailPrinters);
        DTWAIN_BOOL DTWAIN_SetAvailablePrintersArray(DTWAIN_SOURCE Source, DTWAIN_ARRAY AvailPrinters);
        DTWAIN_BOOL DTWAIN_SetBarcodeMaxPriorities(DTWAIN_SOURCE Source, LONG nMaxSearchRetries);
        DTWAIN_BOOL DTWAIN_SetBarcodeMaxRetries(DTWAIN_SOURCE Source, LONG nMaxRetries);
        DTWAIN_BOOL DTWAIN_SetBarcodePriorities(DTWAIN_SOURCE Source, DTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_SetBarcodeSearchMode(DTWAIN_SOURCE Source, LONG nSearchMode);
        DTWAIN_BOOL DTWAIN_SetBarcodeTimeOut(DTWAIN_SOURCE Source, LONG TimeOutValue);
        DTWAIN_BOOL DTWAIN_SetBitDepth(DTWAIN_SOURCE Source, LONG BitDepth, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetection(DTWAIN_SOURCE Source, DTWAIN_FLOAT threshold, LONG discard_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionEx(DTWAIN_SOURCE Source, DTWAIN_FLOAT threshold, LONG autodetect, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExStringA(DTWAIN_SOURCE Source, LPCSTR threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionExStringW(DTWAIN_SOURCE Source, LPCWSTR threshold, LONG autodetect_option, LONG detectOpts, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionStringA(DTWAIN_SOURCE Source, LPCSTR threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBlankPageDetectionStringW(DTWAIN_SOURCE Source, LPCWSTR threshold, LONG autodetect_option, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetBrightness(DTWAIN_SOURCE Source, DTWAIN_FLOAT Brightness);
        DTWAIN_BOOL DTWAIN_SetBrightnessString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Brightness);
        DTWAIN_BOOL DTWAIN_SetBrightnessStringA(DTWAIN_SOURCE Source, LPCSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetBrightnessStringW(DTWAIN_SOURCE Source, LPCWSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetBufferedTileMode(DTWAIN_SOURCE Source, DTWAIN_BOOL bTileMode);
        DTWAIN_CALLBACK_PROC DTWAIN_SetCallback(DTWAIN_CALLBACK_PROC Fn, LONG UserData);
        DTWAIN_CALLBACK_PROC64 DTWAIN_SetCallback64(DTWAIN_CALLBACK_PROC64 Fn, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetCamera(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szCamera);
        DTWAIN_BOOL DTWAIN_SetCameraA(DTWAIN_SOURCE Source, LPCSTR szCamera);
        DTWAIN_BOOL DTWAIN_SetCameraW(DTWAIN_SOURCE Source, LPCWSTR szCamera);
        DTWAIN_BOOL DTWAIN_SetCapValues(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCapValuesEx(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, LONG lContainerType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCapValuesEx2(DTWAIN_SOURCE Source, LONG lCap, LONG lSetType, LONG lContainerType, LONG nDataType, DTWAIN_ARRAY pArray);
        DTWAIN_BOOL DTWAIN_SetCaption(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Caption);
        DTWAIN_BOOL DTWAIN_SetCaptionA(DTWAIN_SOURCE Source, LPCSTR Caption);
        DTWAIN_BOOL DTWAIN_SetCaptionW(DTWAIN_SOURCE Source, LPCWSTR Caption);
        DTWAIN_BOOL DTWAIN_SetCompressionType(DTWAIN_SOURCE Source, LONG lCompression, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetContrast(DTWAIN_SOURCE Source, DTWAIN_FLOAT Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastStringA(DTWAIN_SOURCE Source, LPCSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetContrastStringW(DTWAIN_SOURCE Source, LPCWSTR Contrast);
        DTWAIN_BOOL DTWAIN_SetCountry(LONG nCountry);
        DTWAIN_BOOL DTWAIN_SetCurrentRetryCount(DTWAIN_SOURCE Source, LONG nCount);
        DTWAIN_BOOL DTWAIN_SetCustomDSData(DTWAIN_SOURCE Source, HANDLE hData, LPCBYTE Data, DWORD dSize, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrder(LONG SearchPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderEx(DTWAIN_CCHARPTRTYPE SearchOrder, DTWAIN_CCHARPTRTYPE UserPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderExA(LPCSTR SearchOrder, LPCSTR szUserPath);
        DTWAIN_BOOL DTWAIN_SetDSMSearchOrderExW(LPCWSTR SearchOrder, LPCWSTR szUserPath);
        DTWAIN_BOOL DTWAIN_SetDefaultSource(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_SetDeviceNotifications(DTWAIN_SOURCE Source, LONG DevEvents);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDate(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDateA(DTWAIN_SOURCE Source, LPCSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDeviceTimeDateW(DTWAIN_SOURCE Source, LPCWSTR szTimeDate);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLength(DTWAIN_SOURCE Source, DTWAIN_FLOAT Value);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE value);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthStringA(DTWAIN_SOURCE Source, LPCSTR szLength);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectLengthStringW(DTWAIN_SOURCE Source, LPCWSTR szLength);
        DTWAIN_BOOL DTWAIN_SetDoubleFeedDetectValues(DTWAIN_SOURCE Source, DTWAIN_ARRAY prray);
        DTWAIN_BOOL DTWAIN_SetDoublePageCountOnDuplex(DTWAIN_SOURCE Source, DTWAIN_BOOL bDoubleCount);
        DTWAIN_BOOL DTWAIN_SetEOJDetectValue(DTWAIN_SOURCE Source, LONG nValue);
        DTWAIN_BOOL DTWAIN_SetErrorBufferThreshold(LONG nErrors);
        DTWAIN_BOOL DTWAIN_SetErrorCallback(DTWAIN_ERROR_PROC proc, LONG UserData);
        DTWAIN_BOOL DTWAIN_SetErrorCallback64(DTWAIN_ERROR_PROC64 proc, DTWAIN_LONG64 UserData64);
        DTWAIN_BOOL DTWAIN_SetFeederAlignment(DTWAIN_SOURCE Source, LONG lpAlignment);
        DTWAIN_BOOL DTWAIN_SetFeederOrder(DTWAIN_SOURCE Source, LONG lOrder);
        DTWAIN_BOOL DTWAIN_SetFeederWaitTime(DTWAIN_SOURCE Source, LONG waitTime, LONG flags);
        DTWAIN_BOOL DTWAIN_SetFileAutoIncrement(DTWAIN_SOURCE Source, LONG Increment, DTWAIN_BOOL bResetOnAcquire, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetFileCompressionType(DTWAIN_SOURCE Source, LONG lCompression, DTWAIN_BOOL bIsCustom);
        DTWAIN_BOOL DTWAIN_SetFileSavePos(HWND hWndParent, DTWAIN_CCHARPTRTYPE szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileSavePosA(HWND hWndParent, LPCSTR szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileSavePosW(HWND hWndParent, LPCWSTR szTitle, LONG xPos, LONG yPos, LONG nFlags);
        DTWAIN_BOOL DTWAIN_SetFileXferFormat(DTWAIN_SOURCE Source, LONG lFileType, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetHalftone(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHalftoneA(DTWAIN_SOURCE Source, LPCSTR lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHalftoneW(DTWAIN_SOURCE Source, LPCWSTR lpHalftone);
        DTWAIN_BOOL DTWAIN_SetHighlight(DTWAIN_SOURCE Source, DTWAIN_FLOAT Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightStringA(DTWAIN_SOURCE Source, LPCSTR Highlight);
        DTWAIN_BOOL DTWAIN_SetHighlightStringW(DTWAIN_SOURCE Source, LPCWSTR Highlight);
        DTWAIN_BOOL DTWAIN_SetJobControl(DTWAIN_SOURCE Source, LONG JobControl, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetJpegValues(DTWAIN_SOURCE Source, LONG Quality, LONG Progressive);
        DTWAIN_BOOL DTWAIN_SetJpegXRValues(DTWAIN_SOURCE Source, LONG Quality, LONG Progressive);
        DTWAIN_BOOL DTWAIN_SetLanguage(LONG nLanguage);
        LONG DTWAIN_SetLastError(LONG nError);
        DTWAIN_BOOL DTWAIN_SetLightPath(DTWAIN_SOURCE Source, LONG LightPath);
        DTWAIN_BOOL DTWAIN_SetLightPathEx(DTWAIN_SOURCE Source, DTWAIN_ARRAY LightPaths);
        DTWAIN_BOOL DTWAIN_SetLightSource(DTWAIN_SOURCE Source, LONG LightSource);
        DTWAIN_BOOL DTWAIN_SetLightSources(DTWAIN_SOURCE Source, DTWAIN_ARRAY LightSources);
        DTWAIN_BOOL DTWAIN_SetLogSaveThreshold(LONG64 lineCount);
        DTWAIN_BOOL DTWAIN_SetLoggerCallback(DTWAIN_LOGGER_PROC logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetLoggerCallbackA(DTWAIN_LOGGER_PROCA logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetLoggerCallbackW(DTWAIN_LOGGER_PROCW logProc, DTWAIN_LONG64 UserData);
        DTWAIN_BOOL DTWAIN_SetManualDuplexMode(DTWAIN_SOURCE Source, LONG Flags, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetMaxAcquisitions(DTWAIN_SOURCE Source, LONG MaxAcquires);
        DTWAIN_BOOL DTWAIN_SetMaxBuffers(DTWAIN_SOURCE Source, LONG MaxBuf);
        DTWAIN_BOOL DTWAIN_SetMaxRetryAttempts(DTWAIN_SOURCE Source, LONG nAttempts);
        DTWAIN_BOOL DTWAIN_SetMultipageScanMode(DTWAIN_SOURCE Source, LONG ScanType);
        DTWAIN_BOOL DTWAIN_SetNoiseFilter(DTWAIN_SOURCE Source, LONG NoiseFilter);
        DTWAIN_BOOL DTWAIN_SetOCRCapValues(DTWAIN_OCRENGINE Engine, LONG OCRCapValue, LONG SetType, DTWAIN_ARRAY CapValues);
        DTWAIN_BOOL DTWAIN_SetOrientation(DTWAIN_SOURCE Source, LONG Orient, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetOverscan(DTWAIN_SOURCE Source, LONG Value, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPDFAESEncryption(DTWAIN_SOURCE Source, LONG nWhichEncryption, DTWAIN_BOOL bUseAES);
        DTWAIN_BOOL DTWAIN_SetPDFASCIICompression(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetPDFAuthor(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFAuthorA(DTWAIN_SOURCE Source, LPCSTR lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFAuthorW(DTWAIN_SOURCE Source, LPCWSTR lpAuthor);
        DTWAIN_BOOL DTWAIN_SetPDFCompression(DTWAIN_SOURCE Source, DTWAIN_BOOL bCompression);
        DTWAIN_BOOL DTWAIN_SetPDFCreator(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFCreatorA(DTWAIN_SOURCE Source, LPCSTR lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFCreatorW(DTWAIN_SOURCE Source, LPCWSTR lpCreator);
        DTWAIN_BOOL DTWAIN_SetPDFEncryption(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, DTWAIN_CCHARPTRTYPE lpszUser, DTWAIN_CCHARPTRTYPE lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFEncryptionA(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, LPCSTR lpszUser, LPCSTR lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFEncryptionW(DTWAIN_SOURCE Source, DTWAIN_BOOL bUseEncryption, LPCWSTR lpszUser, LPCWSTR lpszOwner, DWORD Permissions, DTWAIN_BOOL UseStrongEncryption);
        DTWAIN_BOOL DTWAIN_SetPDFJpegQuality(DTWAIN_SOURCE Source, LONG Quality);
        DTWAIN_BOOL DTWAIN_SetPDFKeywords(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpKeyWords);
        DTWAIN_BOOL DTWAIN_SetPDFKeywordsA(DTWAIN_SOURCE Source, LPCSTR lpKeyWords);
        DTWAIN_BOOL DTWAIN_SetPDFKeywordsW(DTWAIN_SOURCE Source, LPCWSTR lpKeyWords);
        LONG DTWAIN_SetPDFOCRConversion(DTWAIN_OCRENGINE Engine, LONG PageType, LONG FileType, LONG PixelType, LONG BitDepth, LONG Options);
        DTWAIN_BOOL DTWAIN_SetPDFOCRMode(DTWAIN_SOURCE Source, DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetPDFOrientation(DTWAIN_SOURCE Source, LONG lPOrientation);
        DTWAIN_BOOL DTWAIN_SetPDFPageScale(DTWAIN_SOURCE Source, LONG nOptions, DTWAIN_FLOAT xScale, DTWAIN_FLOAT yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleString(DTWAIN_SOURCE Source, LONG nOptions, DTWAIN_CCHARPTRTYPE xScale, DTWAIN_CCHARPTRTYPE yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleStringA(DTWAIN_SOURCE Source, LONG nOptions, LPCSTR xScale, LPCSTR yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageScaleStringW(DTWAIN_SOURCE Source, LONG nOptions, LPCWSTR xScale, LPCWSTR yScale);
        DTWAIN_BOOL DTWAIN_SetPDFPageSize(DTWAIN_SOURCE Source, LONG PageSize, DTWAIN_FLOAT CustomWidth, DTWAIN_FLOAT CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeString(DTWAIN_SOURCE Source, LONG PageSize, DTWAIN_CCHARPTRTYPE CustomWidth, DTWAIN_CCHARPTRTYPE CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeStringA(DTWAIN_SOURCE Source, LONG PageSize, LPCSTR CustomWidth, LPCSTR CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPageSizeStringW(DTWAIN_SOURCE Source, LONG PageSize, LPCWSTR CustomWidth, LPCWSTR CustomHeight);
        DTWAIN_BOOL DTWAIN_SetPDFPolarity(DTWAIN_SOURCE Source, LONG Polarity);
        DTWAIN_BOOL DTWAIN_SetPDFProducer(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFProducerA(DTWAIN_SOURCE Source, LPCSTR lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFProducerW(DTWAIN_SOURCE Source, LPCWSTR lpProducer);
        DTWAIN_BOOL DTWAIN_SetPDFSubject(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFSubjectA(DTWAIN_SOURCE Source, LPCSTR lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFSubjectW(DTWAIN_SOURCE Source, LPCWSTR lpSubject);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloat(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_FLOAT val1, DTWAIN_FLOAT val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CCHARPTRTYPE val1, DTWAIN_CCHARPTRTYPE val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPCSTR val1, LPCSTR val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementFloatStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPCWSTR val1, LPCWSTR val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementLong(DTWAIN_PDFTEXTELEMENT TextElement, LONG val1, LONG val2, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementString(DTWAIN_PDFTEXTELEMENT TextElement, DTWAIN_CCHARPTRTYPE val1, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementStringA(DTWAIN_PDFTEXTELEMENT TextElement, LPCSTR szString, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTextElementStringW(DTWAIN_PDFTEXTELEMENT TextElement, LPCWSTR szString, LONG Flags);
        DTWAIN_BOOL DTWAIN_SetPDFTitle(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE lpTitle);
        DTWAIN_BOOL DTWAIN_SetPDFTitleA(DTWAIN_SOURCE Source, LPCSTR lpTitle);
        DTWAIN_BOOL DTWAIN_SetPDFTitleW(DTWAIN_SOURCE Source, LPCWSTR lpTitle);
        DTWAIN_BOOL DTWAIN_SetPaperSize(DTWAIN_SOURCE Source, LONG PaperSize, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPatchcodeMaxPriorities(DTWAIN_SOURCE Source, LONG nMaxSearchRetries);
        DTWAIN_BOOL DTWAIN_SetPatchcodeMaxRetries(DTWAIN_SOURCE Source, LONG nMaxRetries);
        DTWAIN_BOOL DTWAIN_SetPatchcodePriorities(DTWAIN_SOURCE Source, DTWAIN_ARRAY SearchPriorities);
        DTWAIN_BOOL DTWAIN_SetPatchcodeSearchMode(DTWAIN_SOURCE Source, LONG nSearchMode);
        DTWAIN_BOOL DTWAIN_SetPatchcodeTimeOut(DTWAIN_SOURCE Source, LONG TimeOutValue);
        DTWAIN_BOOL DTWAIN_SetPixelFlavor(DTWAIN_SOURCE Source, LONG PixelFlavor);
        DTWAIN_BOOL DTWAIN_SetPixelType(DTWAIN_SOURCE Source, LONG PixelType, LONG BitDepth, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitle(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitleA(DTWAIN_SOURCE Source, LPCSTR szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptTitleW(DTWAIN_SOURCE Source, LPCWSTR szTitle);
        DTWAIN_BOOL DTWAIN_SetPostScriptType(DTWAIN_SOURCE Source, LONG PSType);
        DTWAIN_BOOL DTWAIN_SetPrinter(DTWAIN_SOURCE Source, LONG Printer, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterEx(DTWAIN_SOURCE Source, LONG Printer, DTWAIN_BOOL bCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterStartNumber(DTWAIN_SOURCE Source, LONG nStart);
        DTWAIN_BOOL DTWAIN_SetPrinterStringMode(DTWAIN_SOURCE Source, LONG PrinterMode, DTWAIN_BOOL bSetCurrent);
        DTWAIN_BOOL DTWAIN_SetPrinterStrings(DTWAIN_SOURCE Source, DTWAIN_ARRAY ArrayString, LPLONG pNumStrings);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Suffix);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixStringA(DTWAIN_SOURCE Source, LPCSTR Suffix);
        DTWAIN_BOOL DTWAIN_SetPrinterSuffixStringW(DTWAIN_SOURCE Source, LPCWSTR Suffix);
        DTWAIN_BOOL DTWAIN_SetQueryCapSupport(DTWAIN_BOOL bSet);
        DTWAIN_BOOL DTWAIN_SetResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetResourcePath(DTWAIN_CCHARPTRTYPE ResourcePath);
        DTWAIN_BOOL DTWAIN_SetResourcePathA(LPCSTR ResourcePath);
        DTWAIN_BOOL DTWAIN_SetResourcePathW(LPCWSTR ResourcePath);
        DTWAIN_BOOL DTWAIN_SetRotation(DTWAIN_SOURCE Source, DTWAIN_FLOAT Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationStringA(DTWAIN_SOURCE Source, LPCSTR Rotation);
        DTWAIN_BOOL DTWAIN_SetRotationStringW(DTWAIN_SOURCE Source, LPCWSTR Rotation);
        DTWAIN_BOOL DTWAIN_SetSaveFileName(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE fName);
        DTWAIN_BOOL DTWAIN_SetSaveFileNameA(DTWAIN_SOURCE Source, LPCSTR fName);
        DTWAIN_BOOL DTWAIN_SetSaveFileNameW(DTWAIN_SOURCE Source, LPCWSTR fName);
        DTWAIN_BOOL DTWAIN_SetShadow(DTWAIN_SOURCE Source, DTWAIN_FLOAT Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowStringA(DTWAIN_SOURCE Source, LPCSTR Shadow);
        DTWAIN_BOOL DTWAIN_SetShadowStringW(DTWAIN_SOURCE Source, LPCWSTR Shadow);
        DTWAIN_BOOL DTWAIN_SetSourceUnit(DTWAIN_SOURCE Source, LONG Unit);
        DTWAIN_BOOL DTWAIN_SetTIFFCompressType(DTWAIN_SOURCE Source, LONG Setting);
        DTWAIN_BOOL DTWAIN_SetTIFFInvert(DTWAIN_SOURCE Source, LONG Setting);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectory(DTWAIN_CCHARPTRTYPE szFilePath);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryA(LPCSTR szFilePath);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryEx(DTWAIN_CCHARPTRTYPE szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryExA(LPCSTR szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryExW(LPCWSTR szFilePath, LONG CreationFlags);
        DTWAIN_BOOL DTWAIN_SetTempFileDirectoryW(LPCWSTR szFilePath);
        DTWAIN_BOOL DTWAIN_SetThreshold(DTWAIN_SOURCE Source, DTWAIN_FLOAT Threshold, DTWAIN_BOOL bSetBithDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdStringA(DTWAIN_SOURCE Source, LPCSTR Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetThresholdStringW(DTWAIN_SOURCE Source, LPCWSTR Threshold, DTWAIN_BOOL bSetBitDepthReduction);
        DTWAIN_BOOL DTWAIN_SetTwainDSM(LONG DSMType);
        DTWAIN_BOOL DTWAIN_SetTwainLog(DWORD LogFlags, DTWAIN_CCHARPTRTYPE lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainLogA(DWORD LogFlags, LPCSTR lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainLogW(DWORD LogFlags, LPCWSTR lpszLogFile);
        DTWAIN_BOOL DTWAIN_SetTwainMode(LONG lAcquireMode);
        DTWAIN_BOOL DTWAIN_SetTwainTimeout(LONG milliseconds);
        DTWAIN_DIBUPDATE_PROC DTWAIN_SetUpdateDibProc(DTWAIN_DIBUPDATE_PROC DibProc);
        DTWAIN_BOOL DTWAIN_SetXResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT xResolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetXResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolution(DTWAIN_SOURCE Source, DTWAIN_FLOAT yResolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionString(DTWAIN_SOURCE Source, DTWAIN_CCHARPTRTYPE Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionStringA(DTWAIN_SOURCE Source, LPCSTR Resolution);
        DTWAIN_BOOL DTWAIN_SetYResolutionStringW(DTWAIN_SOURCE Source, LPCWSTR Resolution);
        DTWAIN_BOOL DTWAIN_ShowUIOnly(DTWAIN_SOURCE Source);
        DTWAIN_BOOL DTWAIN_ShutdownOCREngine(DTWAIN_OCRENGINE OCREngine);
        DTWAIN_BOOL DTWAIN_SkipImageInfoError(DTWAIN_SOURCE Source, DTWAIN_BOOL bSkip);
        DTWAIN_BOOL DTWAIN_StartThread(DTWAIN_HANDLE DLLHandle);
        DTWAIN_BOOL DTWAIN_StartTwainSession(HWND hWndMsg, DTWAIN_CCHARPTRTYPE lpszDLLName);
        DTWAIN_BOOL DTWAIN_StartTwainSessionA(HWND hWndMsg, LPCSTR lpszDLLName);
        DTWAIN_BOOL DTWAIN_StartTwainSessionW(HWND hWndMsg, LPCWSTR lpszDLLName);
        DTWAIN_BOOL DTWAIN_SysDestroy();
        DTWAIN_HANDLE DTWAIN_SysInitialize();
        DTWAIN_HANDLE DTWAIN_SysInitializeEx(DTWAIN_CCHARPTRTYPE szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2(DTWAIN_CCHARPTRTYPE szINIPath, DTWAIN_CCHARPTRTYPE szImageDLLPath, DTWAIN_CCHARPTRTYPE szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2A(LPCSTR szINIPath, LPCSTR szImageDLLPath, LPCSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeEx2W(LPCWSTR szINIPath, LPCWSTR szImageDLLPath, LPCWSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeExA(LPCSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeExW(LPCWSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLib(HINSTANCE hInstance);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx(HINSTANCE hInstance, DTWAIN_CCHARPTRTYPE szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2(HINSTANCE hInstance, DTWAIN_CCHARPTRTYPE szINIPath, DTWAIN_CCHARPTRTYPE szImageDLLPath, DTWAIN_CCHARPTRTYPE szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2A(HINSTANCE hInstance, LPCSTR szINIPath, LPCSTR szImageDLLPath, LPCSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibEx2W(HINSTANCE hInstance, LPCWSTR szINIPath, LPCWSTR szImageDLLPath, LPCWSTR szLangResourcePath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibExA(HINSTANCE hInstance, LPCSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeLibExW(HINSTANCE hInstance, LPCWSTR szINIPath);
        DTWAIN_HANDLE DTWAIN_SysInitializeNoBlocking();
        DTWAIN_ARRAY DTWAIN_TestGetCap(DTWAIN_SOURCE Source, LONG lCapability);
        DTWAIN_BOOL DTWAIN_UnlockMemory(HANDLE h);
        DTWAIN_BOOL DTWAIN_UnlockMemoryEx(HANDLE h);
        DTWAIN_BOOL DTWAIN_UpdateCurrentAcquiredImage(DTWAIN_SOURCE Source, HANDLE hNewDib);
        DTWAIN_BOOL DTWAIN_UseMultipleThreads(DTWAIN_BOOL bSet);
  ]]
  return ffi.load(DLLToLoad)
end
  
function split_filename(path)
   local directory, filename, extension = path:match("(.-)([^\\/]-%.?([^%.\\/]*))$")
   return directory, filename, extension
end

function containsValue(tbl, valueToFind)
  for _, v in ipairs(tbl) do
    if v == valueToFind then
      return true -- Value found
    end
  end
  return false -- Value not found
end

function load_dtwaindll(DLLToLoad)
  local ffi = require("ffi")

  local dtwain32names = {"dtwain32.dll", "dtwain32u.dll", "dtwain32d.dll", "dtwain32ud.dll"}
  local dtwain64names = {"dtwain64.dll", "dtwain64u.dll", "dtwain64d.dll", "dtwain64ud.dll"}
  local dtwain32ansi = {"dtwain32.dll", "dtwain32d.dll"}
  local dtwain64ansi = {"dtwain64.dll", "dtwain64d.dll"}

  -- get the environment running (32-bit or 64-bit)
  local ptr_size = ffi.sizeof("void*")

  -- get the name of the DTWAIN DLL that will be loaded
  local directory2, filename2, extension2 = split_filename(DLLToLoad)
  filename_lower = string.lower(filename2)

  -- determine if the DLL is valid
  local good_file = false
  local arrayToUse = dtwain32names -- assume the DLL is 32-bit
  local ansiToUse = dtwain32ansi   -- assume the DLL is ANSI

  if ptr_size == 8 then
     arrayToUse = dtwain64names  -- DLL is 64-bit
     ansiToUse = dtwain64ansi  -- assume the DLL is ANSI
  end

  -- determine if DLL name matches the lua environment (and if the name is actually valid)
  local good_file = containsValue(arrayToUse, filename_lower)

  -- exit if DLL does not match environment or is an invalid name
  if not good_file then
     print(DLLToLoad .. " is not a valid DTWAIN DLL name, or DLL does not match lua environment (32-bit / 64-bit)")
     return nil
  end

  -- determine if DLL is actually ANSI or Unicode
  local isAnsi = containsValue(ansiToUse, filename_lower)

  -- load the function defs depending on the bitness and whether the DLL is ANSI or Unicode
  local mylib = {}
  if ptr_size == 4 then
    if isAnsi then
       mylib = load32bitAnsi(DLLToLoad)
    else
       mylib = load32bitUnicode(DLLToLoad)
    end
  else
    if isAnsi then
       mylib = load64bitAnsi(DLLToLoad)
    else
       mylib = load64bitUnicode(DLLToLoad)
    end
  end
  if mylib == nil then
    print(DLLToLoad .. " failed to load")
  end
  return mylib
end

