- Timestamp:
- Jun 22, 2001, 10:27:13 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/twain_32/initterm.cpp
r5135 r6071 41 41 extern DWORD _Resource_PEResTab; 42 42 43 #if 0 43 44 extern FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR); 44 45 extern HMODULE WINAPI LoadLibraryA(LPCSTR); 45 46 extern BOOL WINAPI FreeLibrary(HMODULE); 47 #endif 46 48 extern int WINAPI PROFILE_GetOdinIniInt(LPCSTR section,LPCSTR key_name,int def); 47 49 TW_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 51 57 } 52 58 static HMODULE dllHandle = 0; … … 59 65 { 60 66 case DLL_PROCESS_ATTACH: 61 67 return TRUE; 62 68 63 69 case DLL_THREAD_ATTACH: 64 70 case DLL_THREAD_DETACH: 65 71 return TRUE; 66 72 67 73 case DLL_PROCESS_DETACH: 68 69 74 ctordtorTerm(); 75 return TRUE; 70 76 } 71 77 return FALSE; … … 98 104 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 99 105 100 101 switch(twaintype) 102 103 104 106 twaintype = PROFILE_GetOdinIniInt("TWAIN","TwainIF",1); 107 switch(twaintype) 108 { 109 case 1: 110 default: 105 111 { 106 112 dprintf(("TWAIN_32: Using CFM-Twain as Twain Source.\n\n")); 113 #if 0 107 114 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: 119 141 { 120 142 dprintf(("TWAIN_32: Using STI-Twain as Twain Source.\n\n")); 143 #if 0 121 144 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: 133 171 { 134 172 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 // }140 173 return 0UL; 141 174 } 142 143 144 145 if(dllHandle == 0) 146 175 } 176 177 dllHandle = RegisterLxDll(hModule, LibMain, (PVOID)&_Resource_PEResTab); 178 if(dllHandle == 0) 179 return 0UL; 147 180 148 181 break; 149 182 case 1 : 150 if(hTWAIN) 151 FreeLibrary(hTWAIN); 183 if(hTWAIN) 184 #if 0 185 FreeLibrary(hTWAIN); 186 #else 187 DosFreeModule(hTWAIN); 188 #endif 152 189 hTWAIN = 0; 153 190 if(dllHandle) { 154 191 UnregisterLxDll(dllHandle); 155 192 } 156 193 break;
Note:
See TracChangeset
for help on using the changeset viewer.