source: trunk/include/custombuild.h@ 8112

Last change on this file since 8112 was 8112, checked in by sandervl, 23 years ago

added LoadImageW hook

File size: 4.3 KB
Line 
1#ifndef __CUSTOMBUILD_H__
2#define __CUSTOMBUILD_H__
3
4//HKEY_LOCAL_MACHINE
5#define CUSTOM_BUILD_OPTIONS_KEY "System\\CustomBuild"
6#define DISABLE_AUDIO_KEY "DisableAudio"
7#define DISABLE_ASPI_KEY "DisableASPI"
8
9extern BOOL fCustomBuild;
10
11void InitDirectoriesCustom(char *szSystemDir, char *szWindowsDir);
12
13void DisableOdinIni();
14void DisableOdinSysMenuItems();
15
16
17typedef HANDLE (* WIN32API PFNDRVOPEN)(LPVOID lpDriverData, DWORD dwAccess, DWORD dwShare, DWORD dwFlags, PVOID *ppHandleData);
18typedef void (* WIN32API PFNDRVCLOSE)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, PVOID lpHandleData);
19typedef BOOL (* WIN32API PFNDRVIOCTL)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, DWORD dwIoControlCode,
20 LPVOID lpInBuffer, DWORD nInBufferSize,
21 LPVOID lpOutBuffer, DWORD nOutBufferSize,
22 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped,
23 LPVOID lpHandleData);
24
25typedef BOOL (* WIN32API PFNDRVREAD)(LPVOID lpDriverData,
26 HANDLE hDevice,
27 DWORD dwFlags,
28 LPCVOID lpBuffer,
29 DWORD nNumberOfBytesToRead,
30 LPDWORD lpNumberOfBytesRead,
31 LPOVERLAPPED lpOverlapped,
32 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
33 LPVOID lpHandleData);
34
35typedef BOOL (* WIN32API PFNDRVWRITE)(LPVOID lpDriverData,
36 HANDLE hDevice,
37 DWORD dwFlags,
38 LPCVOID lpBuffer,
39 DWORD nNumberOfBytesToWrite,
40 LPDWORD lpNumberOfBytesWrite,
41 LPOVERLAPPED lpOverlapped,
42 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
43 LPVOID lpHandleData);
44
45typedef BOOL (* WIN32API PFNDRVCANCELIO)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, PVOID lpHandleData);
46typedef DWORD (* WIN32API PFNDRVGETOVERLAPPEDRESULT)(LPVOID lpDriverData,
47 HANDLE hDevice,
48 DWORD dwFlags,
49 LPOVERLAPPED lpOverlapped,
50 LPDWORD lpcbTransfer,
51 BOOL fWait,
52 LPVOID lpHandleData);
53
54BOOL WIN32API RegisterCustomDriver(PFNDRVOPEN pfnDriverOpen, PFNDRVCLOSE pfnDriverClose,
55 PFNDRVIOCTL pfnDriverIOCtl, PFNDRVREAD pfnDriverRead,
56 PFNDRVWRITE pfnDriverWrite, PFNDRVCANCELIO pfnDriverCancelIo,
57 PFNDRVGETOVERLAPPEDRESULT pfnDriverGetOverlappedResult,
58 LPCSTR lpDriverName, LPVOID lpDriverData);
59
60BOOL WIN32API UnRegisterCustomDriver(LPCSTR lpDriverName);
61
62
63//SetDialogHook can be used by a custom Odin build to register a hook procedure
64//that gets called before or after dialog creation
65
66#define HCUSTOM_PREDIALOGCREATION 0
67#define HCUSTOM_POSTDIALOGCREATION 1
68
69BOOL WIN32API SetCustomDialogHook(HOOKPROC pfnDialogProc);
70BOOL WIN32API ClearCustomDialogHook();
71
72//Override LoadImage function
73typedef void (* WIN32API PFNLOADIMAGEW)(HINSTANCE *phinst, LPWSTR *lplpszName, UINT *lpuType);
74
75BOOL WIN32API SetCustomLoadImage(PFNLOADIMAGEW pfnLoadImageW);
76
77//Set the default language in kernel32
78void WIN32API SetDefaultLanguage(DWORD deflang);
79
80//Override pm keyboard hook dll name
81void WIN32API SetCustomPMHookDll(LPSTR pszKbdDllName);
82
83//Turn off wave audio in winmm
84void WIN32API DisableWaveAudio();
85
86//Turn off ASPI
87void WIN32API DisableASPI();
88
89//force color to mono cursor conversion
90void WIN32API CustForceMonoCursor();
91
92#endif /*__CUSTOMBUILD_H__*/
93
Note: See TracBrowser for help on using the repository browser.