[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 |
|
---|
[7763] | 16 | typedef HANDLE (* WIN32API PFNDRVOPEN)(LPVOID lpDriverData, DWORD dwAccess, DWORD dwShare, DWORD dwFlags, PVOID *ppHandleData);
|
---|
| 17 | typedef void (* WIN32API PFNDRVCLOSE)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, PVOID lpHandleData);
|
---|
| 18 | typedef BOOL (* WIN32API PFNDRVIOCTL)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, DWORD dwIoControlCode,
|
---|
[7572] | 19 | LPVOID lpInBuffer, DWORD nInBufferSize,
|
---|
| 20 | LPVOID lpOutBuffer, DWORD nOutBufferSize,
|
---|
[7756] | 21 | LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped,
|
---|
[7763] | 22 | LPVOID lpHandleData);
|
---|
[7246] | 23 |
|
---|
[7763] | 24 | typedef BOOL (* WIN32API PFNDRVREAD)(LPVOID lpDriverData,
|
---|
| 25 | HANDLE hDevice,
|
---|
[7631] | 26 | DWORD dwFlags,
|
---|
[7572] | 27 | LPCVOID lpBuffer,
|
---|
| 28 | DWORD nNumberOfBytesToRead,
|
---|
| 29 | LPDWORD lpNumberOfBytesRead,
|
---|
| 30 | LPOVERLAPPED lpOverlapped,
|
---|
[7756] | 31 | LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
|
---|
[7763] | 32 | LPVOID lpHandleData);
|
---|
[7572] | 33 |
|
---|
[7763] | 34 | typedef BOOL (* WIN32API PFNDRVWRITE)(LPVOID lpDriverData,
|
---|
| 35 | HANDLE hDevice,
|
---|
[7631] | 36 | DWORD dwFlags,
|
---|
[7572] | 37 | LPCVOID lpBuffer,
|
---|
| 38 | DWORD nNumberOfBytesToWrite,
|
---|
| 39 | LPDWORD lpNumberOfBytesWrite,
|
---|
| 40 | LPOVERLAPPED lpOverlapped,
|
---|
[7756] | 41 | LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
|
---|
[7763] | 42 | LPVOID lpHandleData);
|
---|
[7572] | 43 |
|
---|
[7763] | 44 | typedef BOOL (* WIN32API PFNDRVCANCELIO)(LPVOID lpDriverData, HANDLE hDevice, DWORD dwFlags, PVOID lpHandleData);
|
---|
| 45 | typedef DWORD (* WIN32API PFNDRVGETOVERLAPPEDRESULT)(LPVOID lpDriverData,
|
---|
| 46 | HANDLE hDevice,
|
---|
[7631] | 47 | DWORD dwFlags,
|
---|
[7629] | 48 | LPOVERLAPPED lpOverlapped,
|
---|
| 49 | LPDWORD lpcbTransfer,
|
---|
[7756] | 50 | BOOL fWait,
|
---|
[7763] | 51 | LPVOID lpHandleData);
|
---|
[7572] | 52 |
|
---|
[7246] | 53 | BOOL WIN32API RegisterCustomDriver(PFNDRVOPEN pfnDriverOpen, PFNDRVCLOSE pfnDriverClose,
|
---|
[7572] | 54 | PFNDRVIOCTL pfnDriverIOCtl, PFNDRVREAD pfnDriverRead,
|
---|
[7629] | 55 | PFNDRVWRITE pfnDriverWrite, PFNDRVCANCELIO pfnDriverCancelIo,
|
---|
| 56 | PFNDRVGETOVERLAPPEDRESULT pfnDriverGetOverlappedResult,
|
---|
[7763] | 57 | LPCSTR lpDriverName, LPVOID lpDriverData);
|
---|
[7246] | 58 |
|
---|
[7763] | 59 | BOOL WIN32API UnRegisterCustomDriver(LPCSTR lpDriverName);
|
---|
[7247] | 60 |
|
---|
[7763] | 61 |
|
---|
[7247] | 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 |
|
---|
[8012] | 68 | BOOL WIN32API SetCustomDialogHook(HOOKPROC pfnDialogProc);
|
---|
| 69 | BOOL WIN32API ClearCustomDialogHook();
|
---|
[7247] | 70 |
|
---|
[8012] | 71 | //Override FindResource function
|
---|
| 72 | typedef void (* WIN32API PFNFINDRESOURCEEXA)(HINSTANCE *phModule, LPSTR *lplpszName, LPSTR *lplpszType, WORD *lpLanguage);
|
---|
| 73 | typedef void (* WIN32API PFNFINDRESOURCEEXW)(HINSTANCE *phModule, LPWSTR *lplpszName, LPWSTR *lplpszType, WORD *lpLanguage);
|
---|
[7251] | 74 |
|
---|
[8012] | 75 | BOOL WIN32API SetCustomFindResource(PFNFINDRESOURCEEXA pfnFindResourceA, PFNFINDRESOURCEEXW pfnFindResourceW);
|
---|
| 76 |
|
---|
[7251] | 77 | //Set the default language in kernel32
|
---|
| 78 | void WIN32API SetDefaultLanguage(DWORD deflang);
|
---|
| 79 |
|
---|
[7621] | 80 | //Override pm keyboard hook dll name
|
---|
| 81 | void WIN32API SetCustomPMHookDll(LPSTR pszKbdDllName);
|
---|
[7251] | 82 |
|
---|
[7674] | 83 | //Turn off wave audio in winmm
|
---|
| 84 | void WIN32API DisableWaveAudio();
|
---|
| 85 |
|
---|
[7943] | 86 | //force color to mono cursor conversion
|
---|
| 87 | void WIN32API CustForceMonoCursor();
|
---|
| 88 |
|
---|
[7061] | 89 | #endif /*__CUSTOMBUILD_H__*/
|
---|
| 90 |
|
---|