[CMAKE]
[reactos.git] / include / dxsdk / dsetup.h
1 #ifndef __DSETUP_H__
2 #define __DSETUP_H__
3
4 #include <windows.h>
5
6 #ifdef _WIN32
7 #define COM_NO_WINDOWS_H
8 #include <objbase.h>
9 #else
10 #endif
11
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15
16 enum _DSETUP_CB_PROGRESS_PHASE
17 {
18 DSETUP_INITIALIZING,
19 DSETUP_EXTRACTING,
20 DSETUP_COPYING,
21 DSETUP_FINALIZING
22 };
23
24 typedef struct _DSETUP_CB_PROGRESS
25 {
26 DWORD dwPhase;
27 DWORD dwInPhaseMaximum;
28 DWORD dwInPhaseProgress;
29 DWORD dwOverallMaximum;
30 DWORD dwOverallProgress;
31 } DSETUP_CB_PROGRESS;
32
33 #ifdef _WIN32
34
35 INT WINAPI DirectXUnRegisterApplication( HWND hWnd, LPGUID lpGUID);
36
37 #ifndef ANSI_ONLY
38 typedef struct _DIRECTXREGISTERAPPW
39 {
40 DWORD dwSize;
41 DWORD dwFlags;
42 LPWSTR lpszApplicationName;
43 LPGUID lpGUID;
44 LPWSTR lpszFilename;
45 LPWSTR lpszCommandLine;
46 LPWSTR lpszPath;
47 LPWSTR lpszCurrentDirectory;
48 } DIRECTXREGISTERAPPW, *PDIRECTXREGISTERAPPW, *LPDIRECTXREGISTERAPPW;
49
50 typedef struct _DIRECTXREGISTERAPP2W
51 {
52 DWORD dwSize;
53 DWORD dwFlags;
54 LPWSTR lpszApplicationName;
55 LPGUID lpGUID;
56 LPWSTR lpszFilename;
57 LPWSTR lpszCommandLine;
58 LPWSTR lpszPath;
59 LPWSTR lpszCurrentDirectory;
60 LPWSTR lpszLauncherName;
61 } DIRECTXREGISTERAPP2W, *PDIRECTXREGISTERAPP2W, *LPDIRECTXREGISTERAPP2W;
62
63 INT WINAPI DirectXSetupW( HWND hWnd, LPWSTR lpszRootPath, DWORD dwFlags);
64 INT WINAPI DirectXRegisterApplicationW( HWND hWnd, LPVOID lpDXRegApp);
65 UINT WINAPI DirectXSetupGetEULAW( LPWSTR lpszEULA, UINT cchEULA, WORD LangID);
66 #endif
67
68 #ifndef UNICODE_ONLY
69 typedef struct _DIRECTXREGISTERAPPA
70 {
71 DWORD dwSize;
72 DWORD dwFlags;
73 LPSTR lpszApplicationName;
74 LPGUID lpGUID;
75 LPSTR lpszFilename;
76 LPSTR lpszCommandLine;
77 LPSTR lpszPath;
78 LPSTR lpszCurrentDirectory;
79 } DIRECTXREGISTERAPPA, *PDIRECTXREGISTERAPPA, *LPDIRECTXREGISTERAPPA;
80
81 typedef struct _DIRECTXREGISTERAPP2A
82 {
83 DWORD dwSize;
84 DWORD dwFlags;
85 LPSTR lpszApplicationName;
86 LPGUID lpGUID;
87 LPSTR lpszFilename;
88 LPSTR lpszCommandLine;
89 LPSTR lpszPath;
90 LPSTR lpszCurrentDirectory;
91 LPSTR lpszLauncherName;
92 } DIRECTXREGISTERAPP2A, *PDIRECTXREGISTERAPP2A, *LPDIRECTXREGISTERAPP2A;
93
94 INT WINAPI DirectXSetupA( HWND hWnd, LPSTR lpszRootPath, DWORD dwFlags);
95 INT WINAPI DirectXRegisterApplicationA( HWND hWnd, LPVOID lpDXRegApp);
96 UINT WINAPI DirectXSetupGetEULAA( LPSTR lpszEULA, UINT cchEULA, WORD LangID);
97 #endif
98
99 #ifdef UNICODE
100 typedef DIRECTXREGISTERAPPW DIRECTXREGISTERAPP;
101 typedef PDIRECTXREGISTERAPPW PDIRECTXREGISTERAPP;
102 typedef LPDIRECTXREGISTERAPPW LPDIRECTXREGISTERAPP;
103 typedef DIRECTXREGISTERAPP2W DIRECTXREGISTERAPP2;
104 typedef PDIRECTXREGISTERAPP2W PDIRECTXREGISTERAPP2;
105 typedef LPDIRECTXREGISTERAPP2W LPDIRECTXREGISTERAPP2;
106
107 typedef INT (WINAPI * LPDIRECTXSETUP)(HWND, LPWSTR, DWORD);
108 typedef INT (WINAPI * LPDIRECTXREGISTERAPPLICATION)(HWND, LPVOID);
109 typedef UINT (WINAPI * LPDIRECTXSETUPGETEULA)(LPWSTR, UINT, WORD);
110
111 #define DirectXSetup DirectXSetupW
112 #define DirectXRegisterApplication DirectXRegisterApplicationW
113 #define DirectXSetupGetEULA DirectXSetupGetEULAW
114
115
116
117 #else
118 typedef DIRECTXREGISTERAPPA DIRECTXREGISTERAPP;
119 typedef PDIRECTXREGISTERAPPA PDIRECTXREGISTERAPP;
120 typedef LPDIRECTXREGISTERAPPA LPDIRECTXREGISTERAPP;
121 typedef DIRECTXREGISTERAPP2A DIRECTXREGISTERAPP2;
122 typedef PDIRECTXREGISTERAPP2A PDIRECTXREGISTERAPP2;
123 typedef LPDIRECTXREGISTERAPP2A LPDIRECTXREGISTERAPP2;
124
125 typedef INT (WINAPI * LPDIRECTXSETUP)(HWND, LPSTR, DWORD);
126 typedef INT (WINAPI * LPDIRECTXREGISTERAPPLICATION)(HWND, LPVOID);
127 typedef UINT (WINAPI * LPDIRECTXSETUPGETEULA)(LPSTR, UINT, WORD);
128
129 #define DirectXSetup DirectXSetupA
130 #define DirectXRegisterApplication DirectXRegisterApplicationA
131 #define DirectXSetupGetEULA DirectXSetupGetEULAA
132
133 #endif
134
135 typedef DWORD (*DSETUP_CALLBACK)( DWORD Reason, DWORD MsgType, LPSTR szMessage,
136 LPSTR szName, void *pInfo);
137
138 INT WINAPI DirectXSetupSetCallback(DSETUP_CALLBACK Callback);
139 INT WINAPI DirectXSetupGetVersion(DWORD *lpdwVersion, DWORD *lpdwMinorVersion);
140 INT WINAPI DirectXSetupShowEULA(HWND hWndParent);
141
142 #endif
143
144 #define FOURCC_VERS mmioFOURCC('v','e','r','s')
145 #define DSETUPERR_SUCCESS_RESTART 1
146 #define DSETUPERR_SUCCESS 0
147 #define DSETUPERR_BADWINDOWSVERSION -1
148 #define DSETUPERR_SOURCEFILENOTFOUND -2
149 #define DSETUPERR_NOCOPY -5
150 #define DSETUPERR_OUTOFDISKSPACE -6
151 #define DSETUPERR_CANTFINDINF -7
152 #define DSETUPERR_CANTFINDDIR -8
153 #define DSETUPERR_INTERNAL -9
154 #define DSETUPERR_UNKNOWNOS -11
155 #define DSETUPERR_NEWERVERSION -14
156 #define DSETUPERR_NOTADMIN -15
157 #define DSETUPERR_UNSUPPORTEDPROCESSOR -16
158 #define DSETUPERR_MISSINGCAB_MANAGEDDX -17
159 #define DSETUPERR_NODOTNETFRAMEWORKINSTALLED -18
160 #define DSETUPERR_CABDOWNLOADFAIL -19
161 #define DSETUP_DDRAWDRV 0x00000008
162 #define DSETUP_DSOUNDDRV 0x00000010
163 #define DSETUP_DXCORE 0x00010000
164 #define DSETUP_DIRECTX (DSETUP_DXCORE|DSETUP_DDRAWDRV|DSETUP_DSOUNDDRV)
165 #define DSETUP_MANAGEDDX 0x00004000
166 #define DSETUP_TESTINSTALL 0x00020000
167 #define DSETUP_DDRAW 0x00000001
168 #define DSETUP_DSOUND 0x00000002
169 #define DSETUP_DPLAY 0x00000004
170 #define DSETUP_DPLAYSP 0x00000020
171 #define DSETUP_DVIDEO 0x00000040
172 #define DSETUP_D3D 0x00000200
173 #define DSETUP_DINPUT 0x00000800
174 #define DSETUP_DIRECTXSETUP 0x00001000
175 #define DSETUP_NOUI 0x00002000
176 #define DSETUP_PROMPTFORDRIVERS 0x10000000
177 #define DSETUP_RESTOREDRIVERS 0x20000000
178 #define DSETUP_CB_MSG_NOMESSAGE 0
179 #define DSETUP_CB_MSG_INTERNAL_ERROR 10
180 #define DSETUP_CB_MSG_BEGIN_INSTALL 13
181 #define DSETUP_CB_MSG_BEGIN_INSTALL_RUNTIME 14
182 #define DSETUP_CB_MSG_PROGRESS 18
183 #define DSETUP_CB_MSG_WARNING_DISABLED_COMPONENT 19
184
185
186 #ifdef __cplusplus
187 };
188 #endif
189
190 #endif