Changeset 21900 for branches/gcc-kmk/src/wininet/initterm.cpp
- Timestamp:
 - Dec 15, 2011, 6:07:42 PM (14 years ago)
 - File:
 - 
      
- 1 moved
 
- 
          
  branches/gcc-kmk/src/wininet/initterm.cpp (moved) (moved from branches/gcc-kmk/src/wininet/initwininet.cpp ) (2 diffs)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
branches/gcc-kmk/src/wininet/initterm.cpp
r21842 r21900 1 /* $Id: init wininet.cpp,v 1.22003-10-24 13:10:03 sandervl Exp $1 /* $Id: initterm.cpp,v 1.8 2003-10-24 13:10:03 sandervl Exp $ 2 2 * 3 * DLL entry point3 * WININET DLL entry point 4 4 * 5 5 * Copyright 1998 Sander van Leeuwen 6 6 * Copyright 1998 Peter Fitzsimmons 7 7 * 8 *9 8 * Project Odin Software License can be found in LICENSE.TXT 10 *11 9 */ 12 10 13 /*-------------------------------------------------------------*/14 /* INITERM.C -- Source for a custom dynamic link library */15 /* initialization and termination (_DLL_InitTerm) */16 /* function. */17 /* */18 /* When called to perform initialization, this sample function */19 /* gets storage for an array of integers, and initializes its */20 /* elements with random integers. At termination time, it */21 /* frees the array. Substitute your own special processing. */22 /*-------------------------------------------------------------*/23 24 25 /* Include files */26 11 #define INCL_DOSMODULEMGR 27 12 #define INCL_DOSPROCESS … … 37 22 #include <initdll.h> 38 23 24 // Win32 resource table (produced by wrc) 25 extern DWORD wininet_PEResTab; 39 26 40 extern "C" {41 //Win32 resource table (produced by wrc)42 extern DWORD wininet_PEResTab;43 }44 27 static HMODULE dllHandle = 0; 45 28 46 29 BOOL WINAPI WININET_LibMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved); 47 30 48 //******************************************************************************49 //******************************************************************************50 31 BOOL WINAPI WininetLibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) 51 32 { 52 BOOL ret;33 BOOL ret; 53 34 54 switch (fdwReason)55 {56 case DLL_PROCESS_ATTACH:57 case DLL_THREAD_ATTACH:58 case DLL_THREAD_DETACH:59 return WININET_LibMain(hinstDLL, fdwReason, fImpLoad);35 switch (fdwReason) 36 { 37 case DLL_PROCESS_ATTACH: 38 case DLL_THREAD_ATTACH: 39 case DLL_THREAD_DETACH: 40 return WININET_LibMain(hinstDLL, fdwReason, fImpLoad); 60 41 61 case DLL_PROCESS_DETACH:62 ret = WININET_LibMain(hinstDLL, fdwReason, fImpLoad);63 return ret;64 }65 return FALSE;42 case DLL_PROCESS_DETACH: 43 ret = WININET_LibMain(hinstDLL, fdwReason, fImpLoad); 44 return ret; 45 } 46 return FALSE; 66 47 } 67 48 49 ULONG SYSTEM DLL_InitWinInet(ULONG hModule) 50 { 51 CheckVersionFromHMOD(PE2LX_VERSION, hModule);/* PLF Wed 98-03-18 05:28:48*/ 68 52 69 /****************************************************************************/ 70 /* _DLL_InitTerm is the function that gets called by the operating system */ 71 /* loader when it loads and frees this DLL for each process that accesses */ 72 /* this DLL. However, it only gets called the first time the DLL is loaded */ 73 /* and the last time it is freed for a particular process. The system */ 74 /* linkage convention MUST be used because the operating system loader is */ 75 /* calling this function. */ 76 /****************************************************************************/ 77 ULONG APIENTRY inittermWininet(ULONG hModule, ULONG ulFlag) 53 dllHandle = RegisterLxDll(hModule, WininetLibMain, (PVOID)&wininet_PEResTab); 54 if (dllHandle == 0) 55 return -1; 56 57 return 0; 58 } 59 60 void SYSTEM DLL_TermWinInet(ULONG hModule) 78 61 { 79 size_t i; 80 APIRET rc; 62 if (dllHandle) 63 UnregisterLxDll(dllHandle); 64 } 81 65 82 /*-------------------------------------------------------------------------*/ 83 /* If ulFlag is zero then the DLL is being loaded so initialization should */ 84 /* be performed. If ulFlag is 1 then the DLL is being freed so */ 85 /* termination should be performed. */ 86 /*-------------------------------------------------------------------------*/ 66 ULONG SYSTEM DLL_Init(ULONG hModule) 67 { 68 if (DLL_InitDefault(hModule) == -1) 69 return -1; 70 return DLL_InitWinInet(hModule); 71 } 87 72 88 switch (ulFlag) { 89 case 0 : 90 CheckVersionFromHMOD(PE2LX_VERSION, hModule);/* PLF Wed 98-03-18 05:28:48*/ 91 92 /*******************************************************************/ 93 /* A DosExitList routine must be used to clean up if runtime calls */ 94 /* are required and the runtime is dynamically linked. */ 95 /*******************************************************************/ 96 97 dllHandle = RegisterLxDll(hModule, WininetLibMain, (PVOID)&wininet_PEResTab); 98 if(dllHandle == 0) 99 return 0UL; 100 101 break; 102 case 1 : 103 if(dllHandle) { 104 UnregisterLxDll(dllHandle); 105 } 106 break; 107 108 default : 109 return 0UL; 110 } 111 112 /***********************************************************/ 113 /* A non-zero value must be returned to indicate success. */ 114 /***********************************************************/ 115 return 1UL; 73 void SYSTEM DLL_Term(ULONG hModule) 74 { 75 DLL_TermWinInet(hModule); 76 DLL_TermDefault(hModule); 116 77 } 117 //******************************************************************************118 //****************************************************************************** 
  Note:
 See   TracChangeset
 for help on using the changeset viewer.
  