4e16e04db455c40e2ed23305add94064c8810160
[reactos.git] / base / applications / dxdiag / precomp.h
1 #ifndef PRECOMP_H__
2 #define PRECOMP_H__
3
4 #define DIRECTINPUT_VERSION 0x0800
5 #define DIRECTSOUND_VERSION 0x0800
6 #define D3D_OVERLOADS
7
8 #include <stdarg.h>
9
10 #define WIN32_NO_STATUS
11 #define _INC_WINDOWS
12 #define COM_NO_WINDOWS_H
13 #include <stdarg.h>
14 #include <windef.h>
15 #include <winbase.h>
16 #include <winreg.h>
17 #include <wingdi.h>
18 #include <winnls.h>
19 #include <winuser.h>
20 #include <setupapi.h>
21 #include <ddraw.h>
22 #include <initguid.h>
23 #include <devguid.h>
24 #include <strsafe.h>
25 #include <udmihelp.h>
26 #include <dmilib.h>
27
28 #include "resource.h"
29
30 typedef struct
31 {
32 HWND hMainDialog;
33 HWND hTabCtrl;
34 ULONG NumDisplayAdapter;
35 HWND * hDisplayWnd;
36 ULONG NumSoundAdapter;
37 HWND * hSoundWnd;
38 HWND hDialogs[5];
39 }DXDIAG_CONTEXT, *PDXDIAG_CONTEXT;
40
41 /* globals */
42 extern HINSTANCE hInst;
43
44 /* theming hack */
45 BOOL EnableDialogTheme(HWND hwnd);
46
47 /* dialog wnd proc */
48 INT_PTR CALLBACK SystemPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
49 INT_PTR CALLBACK DisplayPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
50 INT_PTR CALLBACK SoundPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
51 INT_PTR CALLBACK MusicPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
52 INT_PTR CALLBACK InputPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
53 INT_PTR CALLBACK NetworkPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
54 INT_PTR CALLBACK HelpPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
55
56 /* DirectDraw tests */
57 VOID DDTests(VOID);
58
59 /* Direct3D tests */
60 VOID D3DTests(VOID);
61
62 /* DirectSound initialization */
63 void InitializeDirectSoundPage(PDXDIAG_CONTEXT pContext);
64
65 /* display adapter initialization */
66 void InitializeDisplayAdapters(PDXDIAG_CONTEXT pContext);
67
68 /* general functions */
69 BOOL GetFileVersion(LPCWSTR szAppName, WCHAR * szVer, DWORD szVerSize);
70 BOOL GetFileModifyTime(LPCWSTR pFullPath, WCHAR * szTime, int szTimeSize);
71 BOOL GetCatFileFromDriverPath(LPWSTR szFileName, LPWSTR szCatFileName);
72 BOOL GetRegValue(HKEY hBaseKey, LPWSTR SubKey, LPWSTR ValueName, DWORD Type, LPWSTR Result, DWORD Size);
73 VOID InsertTabCtrlItem(HWND hDlgCtrl, INT Position, LPWSTR uId);
74 VOID EnumerateDrivers(PVOID Context, HDEVINFO hList, PSP_DEVINFO_DATA pInfoData);
75
76 #endif /* PRECOMP_H__ */