Ignore:
Timestamp:
Jan 11, 2004, 1:04:44 PM (22 years ago)
Author:
sandervl
Message:

Update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/custombuild.h

    r10327 r10379  
    1818#define MAX_REGISTER_DLLS         64
    1919
     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
    2031typedef BOOL (WIN32API *PFN_PRECUSTOMIZE)();
    2132typedef BOOL (WIN32API *PFN_POSTCUSTOMIZE)();
    2233typedef BOOL (WIN32API *PFN_ENDCUSTOMIZE)();
     34typedef BOOL (WIN32API *PFN_ISPESTUBLOADER)(char *pszProgram);
    2335
    2436typedef struct {
     
    3042  char               *szName;    //caps, including extension (e.g. "KERNEL32.DLL")
    3143  PIMAGE_FILE_HEADER  pfh;       //PE file header
    32   char               *szExportPrefix;
     44  PFN_INITDLL         pfnInitterm;
    3345} CUSTOMBUILD_DLL;
    3446
     
    5567  DWORD               dwWindowsVersion;
    5668  BOOL                fOdinIni;
     69  BOOL                fSMP;
    5770
    5871  //standard user32 settings
     
    6275  BOOL                fMonoCursor;
    6376
    64   //standard gdi32 settings 
     77  //standard gdi32 settings
    6578  //font mappings (null terminated)
    6679  CUSTOMBUILD_FONTMAP fontMapping[MAX_FONT_MAPPINGS];
    67  
     80  BOOL                fFreeType;
     81
    6882  //winmm
    6983  BOOL                fDirectAudio;
     
    7993  //(null terminated)
    8094  CUSTOMBUILD_DLL     registeredDll[MAX_REGISTER_DLLS];
    81  
     95
    8296  //list of dummy dlls (to prevent accidental load)
    8397  //(null terminated)
     
    86100} CUSTOMBUILD;
    87101
     102typedef 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
     141BOOL WIN32API LoadCustomEnvironment(CUSTOMBUILD_COMMON *CustomBuild);
     142BOOL WIN32API UnloadCustomEnvironment(BOOL fExitList);
     143
     144BOOL WIN32API InitExecutableEnvironment();
     145BOOL WIN32API CheckCustomDllVersion(ULONG ulVersionMajor, ULONG ulVersionMinor);
     146
     147typedef BOOL (* WIN32API PFN_CHECKDLLVERSION)();
     148BOOL WIN32API CheckDllVersion();
     149
    88150extern BOOL fCustomBuild;
    89151
    90152void WIN32API SetRegistryRootKey(HKEY hRootkey, HKEY hKey);
    91 void WIN32API SetCustomBuildName(char *lpszName, PIMAGE_FILE_HEADER  pfh = NULL);
     153#ifdef __cplusplus
     154void WIN32API SetCustomBuildName(char *lpszName, PIMAGE_FILE_HEADER pfh = NULL);
     155#else
     156void WIN32API SetCustomBuildName(char *lpszName, PIMAGE_FILE_HEADER pfh);
     157#endif
    92158
    93159void WIN32API InitDirectoriesCustom(char *szSystemDir, char *szWindowsDir);
     
    181247void WIN32API SetCustomMMapSemName(LPSTR pszSemName);
    182248
    183 //Override std class names used in Odin
    184 void WIN32API SetCustomStdClassName(LPSTR pszStdClassName);
     249//Override std class names used in Odin
     250void  WIN32API SetCustomStdClassName(LPSTR pszStdClassName);
     251char *WIN32API QueryCustomStdClassName();
    185252
    186253//Turn off ASPI
     
    351418void WIN32API CustEnableCDPolling();
    352419
    353 
    354 //Fake PE headers
     420void WIN32API SetFreeTypeIntegration(BOOL fEnabled);
     421
     422
     423//PE headers of system dlls
     424#ifdef __cplusplus
    355425extern "C" {
     426#endif
    356427extern IMAGE_FILE_HEADER nt_ntdll_header;
    357428extern IMAGE_FILE_HEADER nt_gdi32_header;
     
    384455extern IMAGE_FILE_HEADER nt_shfolder_header;
    385456extern IMAGE_FILE_HEADER nt_wininet_header;
    386 };
     457extern IMAGE_FILE_HEADER nt_olepro32_header;
     458extern IMAGE_FILE_HEADER nt_avifil32_header;
     459extern IMAGE_FILE_HEADER nt_dinput_header;
     460extern IMAGE_FILE_HEADER nt_dsound_header;
     461extern IMAGE_FILE_HEADER nt_uxtheme_header;
     462#ifdef __cplusplus
     463}
     464#endif
    387465
    388466#endif  /*__CUSTOMBUILD_H__*/
Note: See TracChangeset for help on using the changeset viewer.