Changeset 2337 for trunk/src


Ignore:
Timestamp:
Jan 6, 2000, 12:28:26 AM (26 years ago)
Author:
sandervl
Message:

JW: twain bugfix + update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/twain_32/initterm.cpp

    r2332 r2337  
    1 /* $Id: initterm.cpp,v 1.3 2000-01-05 19:52:37 sandervl Exp $ */
     1/* $Id: initterm.cpp,v 1.4 2000-01-05 23:28:26 sandervl Exp $ */
    22
    33/*
     
    4747extern HMODULE   WINAPI LoadLibraryA(LPCSTR);
    4848extern BOOL      WINAPI FreeLibrary(HMODULE);
     49extern int WINAPI PROFILE_GetOdinIniInt(LPCSTR section,LPCSTR key_name,int def);
    4950TW_UINT16 (APIENTRY *TWAINOS2_DSM_Entry)( pTW_IDENTITY, pTW_IDENTITY,
    5051           TW_UINT32, TW_UINT16, TW_UINT16, TW_MEMREF) = 0;
    51 static HINSTANCE hTWAINOS2 = 0;
     52static HINSTANCE hTWAIN = 0;
    5253
    5354}
     
    8889         CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed  98-03-18 05:28:48*/
    8990
     91         if (PROFILE_GetOdinIniInt("TWAIN","TwainIF",1) == 1)
     92         {
     93            dprintf(("TWAIN_32: Using CFM-Twain as Twain Source.\n\n"));
     94            hTWAIN = LoadLibraryA("TWAINOS2.DLL");
     95            if(hTWAIN)
     96            {   
     97                *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_Entry");
     98            }
     99            else
     100            {
     101              return 0UL;
     102            }
     103         }
     104
     105         if (PROFILE_GetOdinIniInt("TWAIN","TwainIF",0) == 2)
     106         {
     107            dprintf(("TWAIN_32: Using STI-Twain as Twain Source (currently not supported).\n\n"));
     108//            hTWAIN = LoadLibraryA("TWAIN.DLL");
     109//            if(hTWAIN)
     110//            {   
     111//                *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_Entry");
     112//            }
     113            return 0UL;
     114         }
     115
     116         if (PROFILE_GetOdinIniInt("TWAIN","TwainIF",0) == 3)
     117         {
     118            dprintf(("TWAIN_32: Using SANE as Twain Source  (currently not supported).\n\n"));
     119//            hTWAIN = LoadLibraryA("TWAINSNE.DLL");
     120//            if(hTWAIN)
     121//            {   
     122//                *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_Entry");
     123//            }
     124            return 0UL;
     125         }
     126         if (PROFILE_GetOdinIniInt("TWAIN","TwainIF",0) != 1 &&
     127             PROFILE_GetOdinIniInt("TWAIN","TwainIF",0) != 2 &&
     128             PROFILE_GetOdinIniInt("TWAIN","TwainIF",0) != 3)
     129         {
     130            dprintf(("TWAIN_32: No or wrong TwainIF specified, using CFM-Twain as Twain Source.\n\n"));
     131            hTWAIN = LoadLibraryA("TWAINOS2.DLL");
     132            if(hTWAIN)
     133            {   
     134                *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_Entry");
     135            }
     136            else
     137            {
     138              return 0UL;
     139            }
     140         }
     141
    90142         /*******************************************************************/
    91143         /* A DosExitList routine must be used to clean up if runtime calls */
     
    100152                return 0UL;
    101153
    102          hTWAINOS2 = LoadLibraryA("TWAINOS2.DLL");
    103          if(hTWAINOS2)
    104          {   
    105                 *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAINOS2, (LPCSTR)"DSM_Entry");
    106          }
    107          else   return 0;       //SvL: fail to load otherwise
    108 
    109154         break;
    110155      case 1 :
    111          if(hTWAINOS2)
    112                 FreeLibrary(hTWAINOS2);
    113          hTWAINOS2 = 0;
     156         if(hTWAIN)
     157                FreeLibrary(hTWAIN);
     158         hTWAIN = 0;
    114159         UnregisterLxDll(hModule);
    115160         break;
Note: See TracChangeset for help on using the changeset viewer.