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