Reactos
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
13extern "C" {
14#endif
15
16enum _DSETUP_CB_PROGRESS_PHASE
17{
18 DSETUP_INITIALIZING,
19 DSETUP_EXTRACTING,
20 DSETUP_COPYING,
21 DSETUP_FINALIZING
22};
23
24typedef 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
35INT 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