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