Changeset 10294 for trunk/include/custombuild.h
- Timestamp:
- Oct 24, 2003, 4:46:29 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/custombuild.h
r10237 r10294 1 1 #ifndef __CUSTOMBUILD_H__ 2 2 #define __CUSTOMBUILD_H__ 3 4 #include <win\peexe.h> 5 #include <initdll.h> 3 6 4 7 //HKEY_LOCAL_MACHINE … … 7 10 #define DISABLE_ASPI_KEY "DisableASPI" 8 11 12 #define DUMMY_PREFIX "DUMMY_" 13 14 #define MAX_FONT_MAPPINGS 8 15 #define MAX_REGISTER_DLLS 64 16 17 typedef BOOL (WIN32API *PFN_PRECUSTOMIZE)(); 18 typedef BOOL (WIN32API *PFN_POSTCUSTOMIZE)(); 19 typedef BOOL (WIN32API *PFN_ENDCUSTOMIZE)(); 20 21 typedef struct { 22 char *szWindowsFont; 23 char *szPMFont; 24 } CUSTOMBUILD_FONTMAP; 25 26 typedef struct { 27 char *szName; //caps, including extension (e.g. "KERNEL32.DLL") 28 PIMAGE_FILE_HEADER pfh; //PE file header 29 char *szExportPrefix; 30 } CUSTOMBUILD_DLL; 31 32 typedef struct { 33 char *szName; 34 PFN_INITDLL pfnInitterm; 35 } CUSTOMBUILD_PRIVATE_INITTERM; 36 37 typedef struct { 38 PFN_PRECUSTOMIZE pfnPreCustomize; //called after kernel32, user32 and gdi32 are initialized 39 PFN_POSTCUSTOMIZE pfnPostCustomize; //called at the end of dll load 40 PFN_ENDCUSTOMIZE pfnEndCustomize; //called when dll is unloaded 41 42 char *szCustomBuildDllName; 43 44 char *szRegistryBase; 45 char *szMemMapName; 46 char *szEnvExceptLogDisable; 47 char *szEnvExceptLogPath; 48 char *szPMWindowClassName; 49 char *szWindowHandleSemName; 50 51 //standard kernel32 settings 52 DWORD dwWindowsVersion; 53 BOOL fOdinIni; 54 55 //standard user32 settings 56 BOOL fDragDrop; 57 BOOL fOdinSysMenuItems; 58 DWORD dwWindowAppearance; 59 BOOL fMonoCursor; 60 61 //standard gdi32 settings 62 //font mappings (null terminated) 63 CUSTOMBUILD_FONTMAP fontMapping[MAX_FONT_MAPPINGS]; 64 65 //winmm 66 BOOL fDirectAudio; 67 BOOL fWaveAudio; 68 69 //first three important dlls (initialized in this order 70 CUSTOMBUILD_DLL dllNtdll; 71 CUSTOMBUILD_DLL dllKernel32; 72 CUSTOMBUILD_DLL dllUser32; 73 CUSTOMBUILD_DLL dllGdi32; 74 75 //list of remainder of registered dlls (order is important due to dependencies!!) 76 //(null terminated) 77 CUSTOMBUILD_DLL registeredDll[MAX_REGISTER_DLLS]; 78 79 //list of dummy dlls (to prevent accidental load) 80 //(null terminated) 81 CUSTOMBUILD_DLL dummyDll[MAX_REGISTER_DLLS]; 82 83 } CUSTOMBUILD; 84 9 85 extern BOOL fCustomBuild; 86 87 void WIN32API SetRegistryRootKey(HKEY hRootkey, HKEY hKey); 88 void WIN32API SetCustomBuildName(char *lpszName, PIMAGE_FILE_HEADER pfh = NULL); 10 89 11 90 void WIN32API InitDirectoriesCustom(char *szSystemDir, char *szWindowsDir); … … 100 179 101 180 //Override std class names used in Odin 102 void WIN32API SetCustomCDClassName(LPSTR pszCDClassName);103 181 void WIN32API SetCustomStdClassName(LPSTR pszStdClassName); 104 void WIN32API SetCustomStdFrameClassName(LPSTR pszStdFrameClassName);105 182 106 183 //Turn off ASPI … … 265 342 void WIN32API ODIN_ThreadEnterOdinContextNested(void *pExceptionRegRec, BOOL fRestoreOdinExcpt, USHORT selFSOld); 266 343 344 void WIN32API ODIN_SetExceptionHandler(void *pExceptionRegRec); 345 void WIN32API ODIN_UnsetExceptionHandler(void *pExceptionRegRec); 346 267 347 /* Turn on CD Polling (window with 2 second timer to check CD disk presence) */ 268 348 void WIN32API CustEnableCDPolling(); 269 349 350 351 //Fake PE headers 352 extern "C" { 353 extern IMAGE_FILE_HEADER nt_ntdll_header; 354 extern IMAGE_FILE_HEADER nt_gdi32_header; 355 extern IMAGE_FILE_HEADER nt_kernel32_header; 356 extern IMAGE_FILE_HEADER nt_user32_header; 357 extern IMAGE_FILE_HEADER nt_advapi32_header; 358 extern IMAGE_FILE_HEADER nt_version_header; 359 extern IMAGE_FILE_HEADER nt_wsock32_header; 360 extern IMAGE_FILE_HEADER nt_ws2_32_header; 361 extern IMAGE_FILE_HEADER nt_winmm_header; 362 extern IMAGE_FILE_HEADER nt_ole32_header; 363 extern IMAGE_FILE_HEADER nt_comctl32_header; 364 extern IMAGE_FILE_HEADER nt_shell32_header; 365 extern IMAGE_FILE_HEADER nt_comdlg32_header; 366 extern IMAGE_FILE_HEADER nt_winspool_header; 367 extern IMAGE_FILE_HEADER nt_ddraw_header; 368 extern IMAGE_FILE_HEADER nt_oleaut32_header; 369 extern IMAGE_FILE_HEADER nt_msvfw32_header; 370 extern IMAGE_FILE_HEADER nt_imm32_header; 371 extern IMAGE_FILE_HEADER nt_mpr_header; 372 extern IMAGE_FILE_HEADER nt_iphlpapi_header; 373 extern IMAGE_FILE_HEADER nt_olepro32_header; 374 extern IMAGE_FILE_HEADER nt_msvcrt_header; 375 extern IMAGE_FILE_HEADER nt_lz32_header; 376 extern IMAGE_FILE_HEADER nt_oledlg_header; 377 extern IMAGE_FILE_HEADER nt_riched32_header; 378 extern IMAGE_FILE_HEADER nt_psapi_header; 379 extern IMAGE_FILE_HEADER nt_rpcrt4_header; 380 extern IMAGE_FILE_HEADER nt_shlwapi_header; 381 extern IMAGE_FILE_HEADER nt_shfolder_header; 382 extern IMAGE_FILE_HEADER nt_wininet_header; 383 }; 384 270 385 #endif /*__CUSTOMBUILD_H__*/ 271 386
Note:
See TracChangeset
for help on using the changeset viewer.