xref: /reactos/sdk/include/dxsdk/dsetup.h (revision d2aeaba5)
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
191