Changeset 21916 for trunk/src/custombuild/initterm.cpp
- Timestamp:
- Dec 18, 2011, 10:28:22 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:ignore
-
old new 1 bin 2 Makefile.inc 1 env.cmd 2 LocalConfig.kmk
-
-
Property svn:mergeinfo
set to
/branches/gcc-kmk merged eligible
- Property svn:ignore
-
trunk/src/custombuild/initterm.cpp
r21581 r21916 7 7 * 8 8 * Project Odin Software License can be found in LICENSE.TXT 9 *10 9 */ 11 10 12 /*-------------------------------------------------------------*/ 13 /* INITERM.C -- Source for a custom dynamic link library */ 14 /* initialization and termination (_DLL_InitTerm) */ 15 /* function. */ 16 /* */ 17 /* When called to perform initialization, this sample function */ 18 /* gets storage for an array of integers, and initializes its */ 19 /* elements with random integers. At termination time, it */ 20 /* frees the array. Substitute your own special processing. */ 21 /*-------------------------------------------------------------*/ 22 23 24 /* Include files */ 11 // 12 // @todo Custom Build is broken ATM: 13 // 14 // 1. inittermXXX()/cleanupXXX() are now DLL_InitXXX/DLL_TermXXX 15 // (see the respective initterm.cpp files for more info). 16 // 2. There is no inittermXXX.cpp files any longer (all initialization functions 17 // are in XXX/initterm.cpp) so a define (e.g. CUSTOMBUILD) is necessary to 18 // disable compilation multiple versions of DLL_Init()/DLL_Term(). 19 // N. ... 20 // 21 25 22 #define INCL_DOSMODULEMGR 26 23 #define INCL_DOSMISC … … 53 50 extern "C" { 54 51 52 ULONG APIENTRY inittermKernel32(ULONG hModule); 53 void APIENTRY cleanupKernel32(ULONG hModule); 54 55 ULONG APIENTRY inittermUser32(ULONG hModule, ULONG ulFlag); 56 void APIENTRY cleanupUser32(ULONG ulReason); 57 ULONG APIENTRY inittermOdinCtrl(ULONG hModule, ULONG ulFlag); 58 59 ULONG APIENTRY inittermWinmm(ULONG hModule, ULONG ulFlag); 60 ULONG APIENTRY inittermShell32(ULONG hModule, ULONG ulFlag); 61 ULONG APIENTRY inittermOle32(ULONG hModule, ULONG ulFlag); 62 ULONG APIENTRY inittermComdlg32(ULONG hModule, ULONG ulFlag); 63 ULONG APIENTRY inittermComctl32(ULONG hModule, ULONG ulFlag); 64 ULONG APIENTRY inittermGdi32(ULONG hModule, ULONG ulFlag); 65 ULONG APIENTRY inittermNTDLL(ULONG hModule, ULONG ulFlag); 66 ULONG APIENTRY inittermWsock32(ULONG hModule, ULONG ulFlag); 67 ULONG APIENTRY inittermWininet(ULONG hModule, ULONG ulFlag); 68 ULONG APIENTRY inittermRpcrt4(ULONG hModule, ULONG ulFlag); 69 ULONG APIENTRY inittermAvifil32(ULONG hModule, ULONG ulFlag); 70 ULONG APIENTRY inittermQuartz(ULONG hModule, ULONG ulFlag); 71 ULONG APIENTRY inittermRiched32(ULONG hModule, ULONG ulFlag); 72 ULONG APIENTRY inittermWnaspi32(ULONG hModule, ULONG ulFlag); 73 ULONG APIENTRY inittermUxTheme(ULONG hModule, ULONG ulFlag); 74 ULONG APIENTRY inittermDInput(ULONG hModule, ULONG ulFlag); 75 ULONG APIENTRY inittermDSound(ULONG hModule, ULONG ulFlag); 76 ULONG APIENTRY inittermWinSpool(ULONG hModule, ULONG ulFlag); 77 ULONG APIENTRY inittermDDraw(ULONG hModule, ULONG ulFlag); 78 ULONG APIENTRY inittermNTDLL(ULONG hModule, ULONG ulFlag); 79 ULONG APIENTRY inittermMSVCRT(ULONG hModule, ULONG ulFlag); 80 ULONG APIENTRY inittermImm32(ULONG hModule, ULONG ulFlag); 81 ULONG APIENTRY inittermCrypt32(ULONG hModule, ULONG ulFlag); 82 ULONG APIENTRY inittermOleacc(ULONG hModule, ULONG ulFlag); 83 ULONG APIENTRY inittermmscms(ULONG hModule, ULONG ulFlag); 84 ULONG APIENTRY inittermRsaenh(ULONG hModule, ULONG ulFlag); 85 ULONG APIENTRY inittermSecur32(ULONG hModule, ULONG ulFlag); 86 55 87 /*-------------------------------------------------------------------*/ 56 88 /* A clean up routine registered with DosExitList must be used if */ … … 70 102 /* calling this function. */ 71 103 /****************************************************************************/ 72 ULONG DLLENTRYPOINT_CCONV DLLENTRYPOINT_NAME(ULONG hModule, ULONG ulFlag)104 ULONG SYSTEM _DLL_InitTerm(ULONG hModule, ULONG ulFlag) 73 105 { 74 106 size_t i; … … 140 172 SetCustomBuildName("KERNEL32.DLL", ORDINALBASE_KERNEL32); 141 173 rc = inittermKernel32(hModule, ulFlag); 142 if(rc == 0) 174 if(rc == 0) 143 175 return 0UL; 144 176 145 177 SetCustomBuildName("USER32.DLL", ORDINALBASE_USER32); 146 178 rc = inittermUser32(hModule, ulFlag); 147 if(rc == 0) 179 if(rc == 0) 148 180 return 0UL; 149 181 … … 156 188 return 0UL; 157 189 158 SetCustomBuildName("VERSION.DLL", 0); 190 SetCustomBuildName("VERSION.DLL", 0); 159 191 if(RegisterLxDll(hModule, NULL, (PVOID)NULL) == 0) 160 192 return 0UL; … … 162 194 SetCustomBuildName("WSOCK32.DLL", ORDINALBASE_WSOCK32); 163 195 rc = inittermWsock32(hModule, ulFlag); 164 if(rc == 0) 196 if(rc == 0) 165 197 return 0UL; 166 198 167 199 SetCustomBuildName("WINMM.DLL", 0); 168 200 rc = inittermWinmm(hModule, ulFlag); 169 if(rc == 0) 201 if(rc == 0) 170 202 return 0UL; 171 203 172 204 SetCustomBuildName("RPCRT4.DLL", 0); 173 205 rc = inittermRpcrt4(hModule, ulFlag); 174 if(rc == 0) 206 if(rc == 0) 175 207 return 0UL; 176 208 177 209 SetCustomBuildName("OLE32.DLL", ORDINALBASE_OLE32); 178 210 rc = inittermOle32(hModule, ulFlag); 179 if(rc == 0) 211 if(rc == 0) 180 212 return 0UL; 181 213 182 214 SetCustomBuildName("COMCTL32.DLL", ORDINALBASE_COMCTL32); 183 215 rc = inittermComctl32(hModule, ulFlag); 184 if(rc == 0) 216 if(rc == 0) 185 217 return 0UL; 186 218 … … 191 223 SetCustomBuildName("SHELL32.DLL", ORDINALBASE_SHELL32); 192 224 rc = inittermShell32(hModule, ulFlag); 193 if(rc == 0) 225 if(rc == 0) 194 226 return 0UL; 195 227 196 228 SetCustomBuildName("COMDLG32.DLL", 0); 197 229 rc = inittermComdlg32(hModule, ulFlag); 198 if(rc == 0) 230 if(rc == 0) 199 231 return 0UL; 200 232 201 233 SetCustomBuildName("RICHED32.DLL", 0); 202 234 rc = inittermRiched32(hModule, ulFlag); 203 if(rc == 0) 204 return 0UL; 205 235 if(rc == 0) 236 return 0UL; 237 206 238 SetCustomBuildName(NULL, 0); 207 239 break; … … 246 278 ULONG APIENTRY O32__DLL_InitTerm(ULONG handle, ULONG flag); 247 279 //****************************************************************************** 248 ULONGAPIENTRY InitializeKernel32()280 BOOL APIENTRY InitializeKernel32() 249 281 { 250 282 HMODULE hModule; 251 283 252 284 DosQueryModuleHandleStrict("WGSS50", &hModule); 253 return O32__DLL_InitTerm(hModule, 0) ;285 return O32__DLL_InitTerm(hModule, 0) != 0; 254 286 } 255 287 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.