Changeset 10379 for trunk/include/custombuild.h
- Timestamp:
- Jan 11, 2004, 1:04:44 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/custombuild.h
r10327 r10379 18 18 #define MAX_REGISTER_DLLS 64 19 19 20 #define INNOWIN_REGISTRY_BASE "Software\\InnoTek\\INNOWIN\\" 21 #define INNOWIN_DLLNAME "INNOWIN.DLL" 22 #define INNOWIN_REG_CURRENTUSER "REGROOT_HKEY_CurrentUser" 23 #define INNOWIN_REG_LOCAL_MACHINE "REGROOT_HKEY_LocalMachine" 24 #define INNOWIN_REG_USERS "REGROOT_HKEY_Users" 25 26 #define MAKE_BUILDNR(major, minor) ((major << 16) | minor) 27 #define MAJOR_BUILDNR(buildnr) (buildnr >> 16) 28 #define MINOR_BUILDNR(buildnr) (buildnr & 0xffff) 29 30 20 31 typedef BOOL (WIN32API *PFN_PRECUSTOMIZE)(); 21 32 typedef BOOL (WIN32API *PFN_POSTCUSTOMIZE)(); 22 33 typedef BOOL (WIN32API *PFN_ENDCUSTOMIZE)(); 34 typedef BOOL (WIN32API *PFN_ISPESTUBLOADER)(char *pszProgram); 23 35 24 36 typedef struct { … … 30 42 char *szName; //caps, including extension (e.g. "KERNEL32.DLL") 31 43 PIMAGE_FILE_HEADER pfh; //PE file header 32 char *szExportPrefix;44 PFN_INITDLL pfnInitterm; 33 45 } CUSTOMBUILD_DLL; 34 46 … … 55 67 DWORD dwWindowsVersion; 56 68 BOOL fOdinIni; 69 BOOL fSMP; 57 70 58 71 //standard user32 settings … … 62 75 BOOL fMonoCursor; 63 76 64 //standard gdi32 settings 77 //standard gdi32 settings 65 78 //font mappings (null terminated) 66 79 CUSTOMBUILD_FONTMAP fontMapping[MAX_FONT_MAPPINGS]; 67 80 BOOL fFreeType; 81 68 82 //winmm 69 83 BOOL fDirectAudio; … … 79 93 //(null terminated) 80 94 CUSTOMBUILD_DLL registeredDll[MAX_REGISTER_DLLS]; 81 95 82 96 //list of dummy dlls (to prevent accidental load) 83 97 //(null terminated) … … 86 100 } CUSTOMBUILD; 87 101 102 typedef struct { 103 PFN_PRECUSTOMIZE pfnPreCustomize; //called after kernel32, user32 and gdi32 are initialized 104 PFN_POSTCUSTOMIZE pfnPostCustomize; //called at the end of dll load 105 PFN_ENDCUSTOMIZE pfnEndCustomize; //called when dll is unloaded 106 PFN_ISPESTUBLOADER pfnIsPeStubLoader; 107 108 char *szCustomBuildDllName; 109 110 char *szRegistryBase; 111 char *szEnvExceptLogDisable; 112 char *szEnvExceptLogPath; 113 114 //standard kernel32 settings 115 DWORD dwWindowsVersion; 116 BOOL fOdinIni; 117 BOOL fSMP; 118 119 //standard user32 settings 120 BOOL fDragDrop; 121 BOOL fOdinSysMenuItems; 122 DWORD dwWindowAppearance; 123 BOOL fMonoCursor; 124 125 //standard gdi32 settings 126 //font mappings (null terminated) 127 CUSTOMBUILD_FONTMAP fontMapping[MAX_FONT_MAPPINGS]; 128 BOOL fFreeType; 129 130 //winmm 131 BOOL fDirectAudio; 132 BOOL fWaveAudio; 133 134 //list of remainder of registered dlls (order is important due to dependencies!!) 135 //(null terminated) 136 //(NTDLL, KERNEL32, USER32 and GDI32 are always registered) 137 CUSTOMBUILD_DLL registeredDll[MAX_REGISTER_DLLS]; 138 139 } CUSTOMBUILD_COMMON; 140 141 BOOL WIN32API LoadCustomEnvironment(CUSTOMBUILD_COMMON *CustomBuild); 142 BOOL WIN32API UnloadCustomEnvironment(BOOL fExitList); 143 144 BOOL WIN32API InitExecutableEnvironment(); 145 BOOL WIN32API CheckCustomDllVersion(ULONG ulVersionMajor, ULONG ulVersionMinor); 146 147 typedef BOOL (* WIN32API PFN_CHECKDLLVERSION)(); 148 BOOL WIN32API CheckDllVersion(); 149 88 150 extern BOOL fCustomBuild; 89 151 90 152 void WIN32API SetRegistryRootKey(HKEY hRootkey, HKEY hKey); 91 void WIN32API SetCustomBuildName(char *lpszName, PIMAGE_FILE_HEADER pfh = NULL); 153 #ifdef __cplusplus 154 void WIN32API SetCustomBuildName(char *lpszName, PIMAGE_FILE_HEADER pfh = NULL); 155 #else 156 void WIN32API SetCustomBuildName(char *lpszName, PIMAGE_FILE_HEADER pfh); 157 #endif 92 158 93 159 void WIN32API InitDirectoriesCustom(char *szSystemDir, char *szWindowsDir); … … 181 247 void WIN32API SetCustomMMapSemName(LPSTR pszSemName); 182 248 183 //Override std class names used in Odin 184 void WIN32API SetCustomStdClassName(LPSTR pszStdClassName); 249 //Override std class names used in Odin 250 void WIN32API SetCustomStdClassName(LPSTR pszStdClassName); 251 char *WIN32API QueryCustomStdClassName(); 185 252 186 253 //Turn off ASPI … … 351 418 void WIN32API CustEnableCDPolling(); 352 419 353 354 //Fake PE headers 420 void WIN32API SetFreeTypeIntegration(BOOL fEnabled); 421 422 423 //PE headers of system dlls 424 #ifdef __cplusplus 355 425 extern "C" { 426 #endif 356 427 extern IMAGE_FILE_HEADER nt_ntdll_header; 357 428 extern IMAGE_FILE_HEADER nt_gdi32_header; … … 384 455 extern IMAGE_FILE_HEADER nt_shfolder_header; 385 456 extern IMAGE_FILE_HEADER nt_wininet_header; 386 }; 457 extern IMAGE_FILE_HEADER nt_olepro32_header; 458 extern IMAGE_FILE_HEADER nt_avifil32_header; 459 extern IMAGE_FILE_HEADER nt_dinput_header; 460 extern IMAGE_FILE_HEADER nt_dsound_header; 461 extern IMAGE_FILE_HEADER nt_uxtheme_header; 462 #ifdef __cplusplus 463 } 464 #endif 387 465 388 466 #endif /*__CUSTOMBUILD_H__*/
Note:
See TracChangeset
for help on using the changeset viewer.