source: trunk/include/custombuild.h@ 8082

Last change on this file since 8082 was 8012, checked in by sandervl, 24 years ago

Added custom findresource hook support

File size: 4.4 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
8extern BOOL fCustomBuild;
9
10void InitDirectoriesCustom(char *szSystemDir, char *szWindowsDir);
11
12void DisableOdinIni();
13void DisableOdinSysMenuItems();
14
15
16typedef HANDLE (* WIN32API PFNDRVOPEN)(LPVOID lpDriverData, DWORD dwAccess, DWORD dwShare, DWORD dwFlags, PVOID *ppHandleData);
17typedef void (* WIN32API PFNDRVCLOSE)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, PVOID lpHandleData);
18typedef BOOL (* WIN32API PFNDRVIOCTL)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, DWORD dwIoControlCode,
19 LPVOID lpInBuffer, DWORD nInBufferSize,
20 LPVOID lpOutBuffer, DWORD nOutBufferSize,
21 LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped,
22 LPVOID lpHandleData);
23
24typedef BOOL (* WIN32API PFNDRVREAD)(LPVOID lpDriverData,
25 HANDLE hDevice,
26 DWORD dwFlags,
27 LPCVOID lpBuffer,
28 DWORD nNumberOfBytesToRead,
29 LPDWORD lpNumberOfBytesRead,
30 LPOVERLAPPED lpOverlapped,
31 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
32 LPVOID lpHandleData);
33
34typedef BOOL (* WIN32API PFNDRVWRITE)(LPVOID lpDriverData,
35 HANDLE hDevice,
36 DWORD dwFlags,
37 LPCVOID lpBuffer,
38 DWORD nNumberOfBytesToWrite,
39 LPDWORD lpNumberOfBytesWrite,
40 LPOVERLAPPED lpOverlapped,
41 LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
42 LPVOID lpHandleData);
43
44typedef BOOL (* WIN32API PFNDRVCANCELIO)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, PVOID lpHandleData);
45typedef DWORD (* WIN32API PFNDRVGETOVERLAPPEDRESULT)(LPVOID lpDriverData,
46 HANDLE hDevice,
47 DWORD dwFlags,
48 LPOVERLAPPED lpOverlapped,
49 LPDWORD lpcbTransfer,
50 BOOL fWait,
51 LPVOID lpHandleData);
52
53BOOL WIN32API RegisterCustomDriver(PFNDRVOPEN pfnDriverOpen, PFNDRVCLOSE pfnDriverClose,
54 PFNDRVIOCTL pfnDriverIOCtl, PFNDRVREAD pfnDriverRead,
55 PFNDRVWRITE pfnDriverWrite, PFNDRVCANCELIO pfnDriverCancelIo,
56 PFNDRVGETOVERLAPPEDRESULT pfnDriverGetOverlappedResult,
57 LPCSTR lpDriverName, LPVOID lpDriverData);
58
59BOOL WIN32API UnRegisterCustomDriver(LPCSTR lpDriverName);
60
61
62//SetDialogHook can be used by a custom Odin build to register a hook procedure
63//that gets called before or after dialog creation
64
65#define HCUSTOM_PREDIALOGCREATION 0
66#define HCUSTOM_POSTDIALOGCREATION 1
67
68BOOL WIN32API SetCustomDialogHook(HOOKPROC pfnDialogProc);
69BOOL WIN32API ClearCustomDialogHook();
70
71//Override FindResource function
72typedef void (* WIN32API PFNFINDRESOURCEEXA)(HINSTANCE *phModule, LPSTR *lplpszName, LPSTR *lplpszType, WORD *lpLanguage);
73typedef void (* WIN32API PFNFINDRESOURCEEXW)(HINSTANCE *phModule, LPWSTR *lplpszName, LPWSTR *lplpszType, WORD *lpLanguage);
74
75BOOL WIN32API SetCustomFindResource(PFNFINDRESOURCEEXA pfnFindResourceA, PFNFINDRESOURCEEXW pfnFindResourceW);
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//force color to mono cursor conversion
87void WIN32API CustForceMonoCursor();
88
89#endif /*__CUSTOMBUILD_H__*/
90
Note: See TracBrowser for help on using the repository browser.