Ignore:
Timestamp:
Oct 24, 2003, 4:46:29 PM (22 years ago)
Author:
sandervl
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/custombuild.h

    r10237 r10294  
    11#ifndef __CUSTOMBUILD_H__
    22#define __CUSTOMBUILD_H__
     3
     4#include <win\peexe.h>
     5#include <initdll.h>
    36
    47//HKEY_LOCAL_MACHINE
     
    710#define DISABLE_ASPI_KEY          "DisableASPI"
    811
     12#define DUMMY_PREFIX              "DUMMY_"
     13
     14#define MAX_FONT_MAPPINGS         8
     15#define MAX_REGISTER_DLLS         64
     16
     17typedef BOOL (WIN32API *PFN_PRECUSTOMIZE)();
     18typedef BOOL (WIN32API *PFN_POSTCUSTOMIZE)();
     19typedef BOOL (WIN32API *PFN_ENDCUSTOMIZE)();
     20
     21typedef struct {
     22  char               *szWindowsFont;
     23  char               *szPMFont;
     24} CUSTOMBUILD_FONTMAP;
     25
     26typedef 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
     32typedef struct {
     33  char               *szName;
     34  PFN_INITDLL         pfnInitterm;
     35} CUSTOMBUILD_PRIVATE_INITTERM;
     36
     37typedef 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
    985extern BOOL fCustomBuild;
     86
     87void WIN32API SetRegistryRootKey(HKEY hRootkey, HKEY hKey);
     88void WIN32API SetCustomBuildName(char *lpszName, PIMAGE_FILE_HEADER  pfh = NULL);
    1089
    1190void WIN32API InitDirectoriesCustom(char *szSystemDir, char *szWindowsDir);
     
    100179
    101180//Override std class names used in Odin
    102 void WIN32API SetCustomCDClassName(LPSTR pszCDClassName);
    103181void WIN32API SetCustomStdClassName(LPSTR pszStdClassName);
    104 void WIN32API SetCustomStdFrameClassName(LPSTR pszStdFrameClassName);
    105182
    106183//Turn off ASPI
     
    265342void   WIN32API ODIN_ThreadEnterOdinContextNested(void *pExceptionRegRec, BOOL fRestoreOdinExcpt, USHORT selFSOld);
    266343
     344void   WIN32API ODIN_SetExceptionHandler(void *pExceptionRegRec);
     345void   WIN32API ODIN_UnsetExceptionHandler(void *pExceptionRegRec);
     346
    267347/* Turn on CD Polling (window with 2 second timer to check CD disk presence) */
    268348void WIN32API CustEnableCDPolling();
    269349
     350
     351//Fake PE headers
     352extern "C" {
     353extern IMAGE_FILE_HEADER nt_ntdll_header;
     354extern IMAGE_FILE_HEADER nt_gdi32_header;
     355extern IMAGE_FILE_HEADER nt_kernel32_header;
     356extern IMAGE_FILE_HEADER nt_user32_header;
     357extern IMAGE_FILE_HEADER nt_advapi32_header;
     358extern IMAGE_FILE_HEADER nt_version_header;
     359extern IMAGE_FILE_HEADER nt_wsock32_header;
     360extern IMAGE_FILE_HEADER nt_ws2_32_header;
     361extern IMAGE_FILE_HEADER nt_winmm_header;
     362extern IMAGE_FILE_HEADER nt_ole32_header;
     363extern IMAGE_FILE_HEADER nt_comctl32_header;
     364extern IMAGE_FILE_HEADER nt_shell32_header;
     365extern IMAGE_FILE_HEADER nt_comdlg32_header;
     366extern IMAGE_FILE_HEADER nt_winspool_header;
     367extern IMAGE_FILE_HEADER nt_ddraw_header;
     368extern IMAGE_FILE_HEADER nt_oleaut32_header;
     369extern IMAGE_FILE_HEADER nt_msvfw32_header;
     370extern IMAGE_FILE_HEADER nt_imm32_header;
     371extern IMAGE_FILE_HEADER nt_mpr_header;
     372extern IMAGE_FILE_HEADER nt_iphlpapi_header;
     373extern IMAGE_FILE_HEADER nt_olepro32_header;
     374extern IMAGE_FILE_HEADER nt_msvcrt_header;
     375extern IMAGE_FILE_HEADER nt_lz32_header;
     376extern IMAGE_FILE_HEADER nt_oledlg_header;
     377extern IMAGE_FILE_HEADER nt_riched32_header;
     378extern IMAGE_FILE_HEADER nt_psapi_header;
     379extern IMAGE_FILE_HEADER nt_rpcrt4_header;
     380extern IMAGE_FILE_HEADER nt_shlwapi_header;
     381extern IMAGE_FILE_HEADER nt_shfolder_header;
     382extern IMAGE_FILE_HEADER nt_wininet_header;
     383};
     384
    270385#endif  /*__CUSTOMBUILD_H__*/
    271386
Note: See TracChangeset for help on using the changeset viewer.