Reactos
at master 190 lines 6.8 kB view raw
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