Changeset 6071 for trunk/src


Ignore:
Timestamp:
Jun 22, 2001, 10:27:13 PM (24 years ago)
Author:
hugh
Message:

Updated InitTerm of Twain_32

File:
1 edited

Legend:

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

    r5135 r6071  
    4141extern DWORD _Resource_PEResTab;
    4242
     43#if 0
    4344extern FARPROC   WINAPI GetProcAddress(HMODULE,LPCSTR);
    4445extern HMODULE   WINAPI LoadLibraryA(LPCSTR);
    4546extern BOOL      WINAPI FreeLibrary(HMODULE);
     47#endif
    4648extern int WINAPI PROFILE_GetOdinIniInt(LPCSTR section,LPCSTR key_name,int def);
    4749TW_UINT16 (APIENTRY *TWAINOS2_DSM_Entry)( pTW_IDENTITY, pTW_IDENTITY,
    48                                           TW_UINT32, TW_UINT16, TW_UINT16, TW_MEMREF) = 0;
    49 static HINSTANCE hTWAIN = 0;
    50 
     50                                        TW_UINT32, TW_UINT16, TW_UINT16, TW_MEMREF) = 0;
     51#if 0
     52  static HINSTANCE hTWAIN = 0;
     53#else
     54  static HMODULE hTWAIN = 0;
     55  char szLoadError[256];
     56#endif
    5157}
    5258static HMODULE dllHandle = 0;
     
    5965   {
    6066   case DLL_PROCESS_ATTACH:
    61         return TRUE;
     67  return TRUE;
    6268
    6369   case DLL_THREAD_ATTACH:
    6470   case DLL_THREAD_DETACH:
    65         return TRUE;
     71  return TRUE;
    6672
    6773   case DLL_PROCESS_DETACH:
    68         ctordtorTerm();
    69         return TRUE;
     74  ctordtorTerm();
     75  return TRUE;
    7076   }
    7177   return FALSE;
     
    98104         CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed  98-03-18 05:28:48*/
    99105
    100         twaintype = PROFILE_GetOdinIniInt("TWAIN","TwainIF",1);
    101         switch(twaintype)
    102         {
    103         case 1:
    104         default:
     106  twaintype = PROFILE_GetOdinIniInt("TWAIN","TwainIF",1);
     107  switch(twaintype)
     108  {
     109  case 1:
     110  default:
    105111         {
    106112            dprintf(("TWAIN_32: Using CFM-Twain as Twain Source.\n\n"));
     113#if 0
    107114            hTWAIN = LoadLibraryA("TWAINOS2.DLL");
    108             if(hTWAIN)
    109             {   
    110                 *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_Entry");
    111             }
    112             else
    113             {
    114               return 0UL;
    115             }
    116             break;
    117          }
    118          case 2:
     115            if(hTWAIN)
     116            {
     117              *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_Entry");
     118            }
     119            else
     120            {
     121              return 0UL;
     122            }
     123#else
     124            rc = DosLoadModule( szLoadError, sizeof(szLoadError), "TWAINOS2.DLL", &hTWAIN);
     125            if(rc==0)
     126            {
     127              rc = DosQueryProcAddr(hTWAIN, 0, "DSM_Entry",(PFN*)&TWAINOS2_DSM_Entry);
     128            }
     129            else
     130            {
     131              dprintf(("TWAIN_32: Error Loading DLL: %s",szLoadError));
     132            }
     133            if(rc!=0)
     134            {
     135              return 0UL;
     136            }
     137#endif
     138      break;
     139         }
     140   case 2:
    119141         {
    120142            dprintf(("TWAIN_32: Using STI-Twain as Twain Source.\n\n"));
     143#if 0
    121144            hTWAIN = LoadLibraryA("TWAIN.DLL");
    122             if(hTWAIN)
    123             {   
    124                 *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_ENTRY");
    125             }
    126             else
    127             {
    128               return 0UL;
    129             }
    130             break;
    131          }
    132          case 3:
     145            if(hTWAIN)
     146            {
     147              *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_ENTRY");
     148            }
     149            else
     150            {
     151              return 0UL;
     152            }
     153#else
     154            rc = DosLoadModule( szLoadError, sizeof(szLoadError), "TWAIN.DLL", &hTWAIN);
     155            if(rc==0)
     156            {
     157              rc = DosQueryProcAddr(hTWAIN, 0, "DSM_Entry",(PFN*)&TWAINOS2_DSM_Entry);
     158            }
     159            else
     160            {
     161              dprintf(("TWAIN_32: Error Loading DLL: %s",szLoadError));
     162            }
     163            if(rc!=0)
     164            {
     165              return 0UL;
     166            }
     167#endif
     168      break;
     169         }
     170   case 3:
    133171         {
    134172            dprintf(("TWAIN_32: Using SANE as Twain Source  (currently not supported).\n\n"));
    135 //            hTWAIN = LoadLibraryA("TWAINSNE.DLL");
    136 //            if(hTWAIN)
    137 //            {   
    138 //                *(VOID **)&TWAINOS2_DSM_Entry=(void*)GetProcAddress(hTWAIN, (LPCSTR)"DSM_Entry");
    139 //            }
    140173            return 0UL;
    141174         }
    142         }
    143 
    144         dllHandle = RegisterLxDll(hModule, LibMain, (PVOID)&_Resource_PEResTab);
    145          if(dllHandle == 0) 
    146                 return 0UL;
     175  }
     176
     177  dllHandle = RegisterLxDll(hModule, LibMain, (PVOID)&_Resource_PEResTab);
     178         if(dllHandle == 0)
     179    return 0UL;
    147180
    148181         break;
    149182      case 1 :
    150          if(hTWAIN)
    151                 FreeLibrary(hTWAIN);
     183         if(hTWAIN)
     184#if 0
     185    FreeLibrary(hTWAIN);
     186#else
     187    DosFreeModule(hTWAIN);
     188#endif
    152189         hTWAIN = 0;
    153190         if(dllHandle) {
    154                 UnregisterLxDll(dllHandle);
     191    UnregisterLxDll(dllHandle);
    155192         }
    156193         break;
Note: See TracChangeset for help on using the changeset viewer.