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 |
|
---|
8 | extern BOOL fCustomBuild;
|
---|
9 |
|
---|
10 | void InitDirectoriesCustom(char *szSystemDir, char *szWindowsDir);
|
---|
11 |
|
---|
12 | void DisableOdinIni();
|
---|
13 | void DisableOdinSysMenuItems();
|
---|
14 |
|
---|
15 |
|
---|
16 | typedef HANDLE (* WIN32API PFNDRVOPEN)(DWORD dwAccess, DWORD dwShare, DWORD dwFlags);
|
---|
17 | typedef void (* WIN32API PFNDRVCLOSE)(HANDLE hDevice, DWORD dwFlags);
|
---|
18 | typedef BOOL (* WIN32API PFNDRVIOCTL)(HANDLE hDevice, DWORD dwFlags, DWORD dwIoControlCode,
|
---|
19 | LPVOID lpInBuffer, DWORD nInBufferSize,
|
---|
20 | LPVOID lpOutBuffer, DWORD nOutBufferSize,
|
---|
21 | LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped);
|
---|
22 |
|
---|
23 | typedef BOOL (* WIN32API PFNDRVREAD)(HANDLE hDevice,
|
---|
24 | DWORD dwFlags,
|
---|
25 | LPCVOID lpBuffer,
|
---|
26 | DWORD nNumberOfBytesToRead,
|
---|
27 | LPDWORD lpNumberOfBytesRead,
|
---|
28 | LPOVERLAPPED lpOverlapped,
|
---|
29 | LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
|
---|
30 |
|
---|
31 | typedef BOOL (* WIN32API PFNDRVWRITE)(HANDLE hDevice,
|
---|
32 | DWORD dwFlags,
|
---|
33 | LPCVOID lpBuffer,
|
---|
34 | DWORD nNumberOfBytesToWrite,
|
---|
35 | LPDWORD lpNumberOfBytesWrite,
|
---|
36 | LPOVERLAPPED lpOverlapped,
|
---|
37 | LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
|
---|
38 |
|
---|
39 | typedef BOOL (* WIN32API PFNDRVCANCELIO)(HANDLE hDevice, DWORD dwFlags);
|
---|
40 | typedef DWORD (* WIN32API PFNDRVGETOVERLAPPEDRESULT)(HANDLE hDevice,
|
---|
41 | DWORD dwFlags,
|
---|
42 | LPOVERLAPPED lpOverlapped,
|
---|
43 | LPDWORD lpcbTransfer,
|
---|
44 | BOOL fWait);
|
---|
45 |
|
---|
46 | BOOL WIN32API RegisterCustomDriver(PFNDRVOPEN pfnDriverOpen, PFNDRVCLOSE pfnDriverClose,
|
---|
47 | PFNDRVIOCTL pfnDriverIOCtl, PFNDRVREAD pfnDriverRead,
|
---|
48 | PFNDRVWRITE pfnDriverWrite, PFNDRVCANCELIO pfnDriverCancelIo,
|
---|
49 | PFNDRVGETOVERLAPPEDRESULT pfnDriverGetOverlappedResult,
|
---|
50 | LPCSTR lpDeviceName);
|
---|
51 |
|
---|
52 |
|
---|
53 | //SetDialogHook can be used by a custom Odin build to register a hook procedure
|
---|
54 | //that gets called before or after dialog creation
|
---|
55 |
|
---|
56 | #define HCUSTOM_PREDIALOGCREATION 0
|
---|
57 | #define HCUSTOM_POSTDIALOGCREATION 1
|
---|
58 |
|
---|
59 | BOOL WIN32API SetDialogHook(HOOKPROC pfnDialogProc);
|
---|
60 | BOOL WIN32API ClearDialogHook();
|
---|
61 |
|
---|
62 |
|
---|
63 | //Set the default language in kernel32
|
---|
64 | void WIN32API SetDefaultLanguage(DWORD deflang);
|
---|
65 |
|
---|
66 | //Override pm keyboard hook dll name
|
---|
67 | void WIN32API SetCustomPMHookDll(LPSTR pszKbdDllName);
|
---|
68 |
|
---|
69 | //Turn off wave audio in winmm
|
---|
70 | void WIN32API DisableWaveAudio();
|
---|
71 |
|
---|
72 | #endif /*__CUSTOMBUILD_H__*/
|
---|
73 |
|
---|