Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/include/advpub.h
4387 views
1
/*
2
* Copyright 2004 Huw D M Davies
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with this library; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17
*/
18
#ifndef __WINE_ADVPUB_H
19
#define __WINE_ADVPUB_H
20
21
#include <setupapi.h>
22
#include <cfgmgr32.h>
23
24
#ifdef __cplusplus
25
extern "C" {
26
#endif
27
28
#ifndef S_ASYNCHRONOUS
29
#define S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x401E8)
30
#endif
31
32
typedef struct _CabInfoA
33
{
34
LPSTR pszCab;
35
LPSTR pszInf;
36
LPSTR pszSection;
37
CHAR szSrcPath[MAX_PATH];
38
DWORD dwFlags;
39
} CABINFOA, *PCABINFOA;
40
41
typedef struct _CabInfoW
42
{
43
LPWSTR pszCab;
44
LPWSTR pszInf;
45
LPWSTR pszSection;
46
WCHAR szSrcPath[MAX_PATH];
47
DWORD dwFlags;
48
} CABINFOW, *PCABINFOW;
49
50
DECL_WINELIB_TYPE_AW(CABINFO)
51
DECL_WINELIB_TYPE_AW(PCABINFO)
52
53
typedef struct _PERUSERSECTIONA
54
{
55
CHAR szGUID[39 /*MAX_GUID_STRING_LEN*/ + 20];
56
CHAR szDispName[128];
57
CHAR szLocale[10];
58
CHAR szStub[MAX_PATH * 4];
59
CHAR szVersion[32];
60
CHAR szCompID[128];
61
DWORD dwIsInstalled;
62
BOOL bRollback;
63
} PERUSERSECTIONA, *PPERUSERSECTIONA;
64
65
typedef struct _PERUSERSECTIONW
66
{
67
WCHAR szGUID[39 /*MAX_GUID_STRING_LEN*/ + 20];
68
WCHAR szDispName[128];
69
WCHAR szLocale[10];
70
WCHAR szStub[MAX_PATH * 4];
71
WCHAR szVersion[32];
72
WCHAR szCompID[128];
73
DWORD dwIsInstalled;
74
BOOL bRollback;
75
} PERUSERSECTIONW, *PPERUSERSECTIONW;
76
77
DECL_WINELIB_TYPE_AW(PERUSERSECTION)
78
DECL_WINELIB_TYPE_AW(PPERUSERSECTION)
79
80
typedef struct _StrEntryA
81
{
82
LPSTR pszName;
83
LPSTR pszValue;
84
} STRENTRYA, *LPSTRENTRYA;
85
86
typedef struct _StrEntryW
87
{
88
LPWSTR pszName;
89
LPWSTR pszValue;
90
} STRENTRYW, *LPSTRENTRYW;
91
92
DECL_WINELIB_TYPE_AW(STRENTRY)
93
DECL_WINELIB_TYPE_AW(LPSTRENTRY)
94
95
typedef struct _StrTableA
96
{
97
DWORD cEntries;
98
STRENTRYA* pse;
99
} STRTABLEA, *LPSTRTABLEA;
100
typedef const STRTABLEA CSTRTABLEA, *LPCSTRTABLEA;
101
102
typedef struct _StrTableW
103
{
104
DWORD cEntries;
105
STRENTRYW* pse;
106
} STRTABLEW, *LPSTRTABLEW;
107
typedef const STRTABLEW CSTRTABLEW, *LPCSTRTABLEW;
108
109
DECL_WINELIB_TYPE_AW(STRTABLE)
110
DECL_WINELIB_TYPE_AW(CSTRTABLE)
111
DECL_WINELIB_TYPE_AW(LPSTRTABLE)
112
DECL_WINELIB_TYPE_AW(LPCSTRTABLE)
113
114
/* Flags for AddDelBackupEntry */
115
#define AADBE_ADD_ENTRY 0x01
116
#define AADBE_DEL_ENTRY 0x02
117
118
/* Flags for AdvInstallFile */
119
#define AIF_WARNIFSKIP 0x00000001
120
#define AIF_NOSKIP 0x00000002
121
#define AIF_NOVERSIONCHECK 0x00000004
122
#define AIF_FORCE_FILE_IN_USE 0x00000008
123
#define AIF_NOOVERWRITE 0x00000010
124
#define AIF_NO_VERSION_DIALOG 0x00000020
125
#define AIF_REPLACEONLY 0x00000400
126
#define AIF_NOLANGUAGECHECK 0x10000000
127
#define AIF_QUIET 0x20000000
128
129
/* Flags for RunSetupCommand */
130
#define RSC_FLAG_INF 0x00000001
131
#define RSC_FLAG_SKIPDISKSPACECHECK 0x00000002
132
#define RSC_FLAG_QUIET 0x00000004
133
#define RSC_FLAG_NGCONV 0x00000008
134
#define RSC_FLAG_UPDHLPDLLS 0x00000010
135
#define RSC_FLAG_DELAYREGISTEROCX 0x00000200
136
#define RSC_FLAG_SETUPAPI 0x00000400
137
138
/* Flags for LaunchINFSection */
139
#define LIS_QUIET 0x00000001
140
#define LIS_NOGRPCONV 0x00000002
141
142
/* Flags for DelNode */
143
#define ADN_DEL_IF_EMPTY 0x00000001
144
#define ADN_DONT_DEL_SUBDIRS 0x00000002
145
#define ADN_DONT_DEL_DIR 0x00000004
146
#define ADN_DEL_UNC_PATHS 0x00000008
147
148
/* Flags for RegRestoreAll, RegSaveRestore, RegSaveRestoreOnINF */
149
#define IE4_RESTORE 0x00000001
150
#define IE4_BACKNEW 0x00000002
151
#define IE4_NODELETENEW 0x00000004
152
#define IE4_NOMESSAGES 0x00000008
153
#define IE4_NOPROGRESS 0x00000010
154
#define IE4_NOENUMKEY 0x00000020
155
#define IE4_NO_CRC_MAPPING 0x00000040
156
#define IE4_REGSECTION 0x00000080
157
#define IE4_FRDOALL 0x00000100
158
#define IE4_UPDREFCNT 0x00000200
159
#define IE4_USEREFCNT 0x00000400
160
#define IE4_EXTRAINCREFCNT 0x00000800
161
162
/* Flags for file save and restore functions */
163
#define AFSR_RESTORE IE4_RESTORE
164
#define AFSR_BACKNEW IE4_BACKNEW
165
#define AFSR_NODELETENEW IE4_NODELETENEW
166
#define AFSR_NOMESSAGES IE4_NOMESSAGES
167
#define AFSR_NOPROGRESS IE4_NOPROGRESS
168
#define AFSR_UPDREFCNT IE4_UPDREFCNT
169
#define AFSR_USEREFCNT IE4_USEREFCNT
170
#define AFSR_EXTRAINCREFCNT IE4_EXTRAINCREFCNT
171
172
HRESULT WINAPI AddDelBackupEntryA(LPCSTR lpcszFileList, LPCSTR lpcszBackupDir,
173
LPCSTR lpcszBaseName, DWORD dwFlags);
174
HRESULT WINAPI AddDelBackupEntryW(LPCWSTR lpcszFileList, LPCWSTR lpcszBackupDir,
175
LPCWSTR lpcszBaseName, DWORD dwFlags);
176
#define AddDelBackupEntry WINELIB_NAME_AW(AddDelBackupEntry)
177
HRESULT WINAPI AdvInstallFileA(HWND hwnd, LPCSTR lpszSourceDir,
178
LPCSTR lpszSourceFile, LPCSTR lpszDestDir, LPCSTR lpszDestFile,
179
DWORD dwFlags, DWORD dwReserved);
180
HRESULT WINAPI AdvInstallFileW(HWND hwnd, LPCWSTR lpszSourceDir,
181
LPCWSTR lpszSourceFile, LPCWSTR lpszDestDir, LPCWSTR lpszDestFile,
182
DWORD dwFlags, DWORD dwReserved);
183
#define AdvInstallFile WINELIB_NAME_AW(AdvInstallFile)
184
HRESULT WINAPI CloseINFEngine(HINF hInf);
185
HRESULT WINAPI DelNodeA(LPCSTR pszFileOrDirName, DWORD dwFlags);
186
HRESULT WINAPI DelNodeW(LPCWSTR pszFileOrDirName, DWORD dwFlags);
187
#define DelNode WINELIB_NAME_AW(DelNode)
188
HRESULT WINAPI DelNodeRunDLL32A(HWND,HINSTANCE,LPSTR,INT);
189
HRESULT WINAPI DelNodeRunDLL32W(HWND,HINSTANCE,LPWSTR,INT);
190
#define DelNodeRunDLL32 WINELIB_NAME_AW(DelNodeRunDLL32)
191
HRESULT WINAPI ExecuteCabA( HWND hwnd, CABINFOA* pCab, LPVOID pReserved );
192
HRESULT WINAPI ExecuteCabW( HWND hwnd, CABINFOW* pCab, LPVOID pReserved );
193
#define ExecuteCab WINELIB_NAME_AW(ExecuteCab)
194
HRESULT WINAPI ExtractFilesA(LPCSTR,LPCSTR,DWORD,LPCSTR,LPVOID,DWORD);
195
HRESULT WINAPI ExtractFilesW(LPCWSTR,LPCWSTR,DWORD,LPCWSTR,LPVOID,DWORD);
196
#define ExtractFiles WINELIB_NAME_AW(ExtractFiles)
197
HRESULT WINAPI FileSaveMarkNotExistA(LPSTR pszFileList, LPSTR pszDir, LPSTR pszBaseName);
198
HRESULT WINAPI FileSaveMarkNotExistW(LPWSTR pszFileList, LPWSTR pszDir, LPWSTR pszBaseName);
199
#define FileSaveMarkNotExist WINELIB_NAME_AW(FileSaveMarkNotExist)
200
HRESULT WINAPI FileSaveRestoreA(HWND hDlg, LPSTR pszFileList, LPSTR pszDir,
201
LPSTR pszBaseName, DWORD dwFlags);
202
HRESULT WINAPI FileSaveRestoreW(HWND hDlg, LPWSTR pszFileList, LPWSTR pszDir,
203
LPWSTR pszBaseName, DWORD dwFlags);
204
#define FileSaveRestore WINELIB_NAME_AW(FileSaveRestore)
205
HRESULT WINAPI FileSaveRestoreOnINFA(HWND hWnd, LPCSTR pszTitle, LPCSTR pszINF,
206
LPCSTR pszSection, LPCSTR pszBackupDir, LPCSTR pszBaseBackupFile, DWORD dwFlags);
207
HRESULT WINAPI FileSaveRestoreOnINFW(HWND hWnd, LPCWSTR pszTitle, LPCWSTR pszINF,
208
LPCWSTR pszSection, LPCWSTR pszBackupDir, LPCWSTR pszBaseBackupFile, DWORD dwFlags);
209
#define FileSaveRestoreOnINF WINELIB_NAME_AW(FileSaveRestoreOnINF)
210
HRESULT WINAPI GetVersionFromFileA(LPCSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
211
HRESULT WINAPI GetVersionFromFileW(LPCWSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
212
#define GetVersionFromFile WINELIB_NAME_AW(GetVersionFromFile)
213
HRESULT WINAPI GetVersionFromFileExA(LPCSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
214
HRESULT WINAPI GetVersionFromFileExW(LPCWSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
215
#define GetVersionFromFileEx WINELIB_NAME_AW(GetVersionFromFileEx)
216
BOOL WINAPI IsNTAdmin(DWORD,LPDWORD);
217
INT WINAPI LaunchINFSectionA(HWND,HINSTANCE,LPSTR,INT);
218
INT WINAPI LaunchINFSectionW(HWND,HINSTANCE,LPWSTR,INT);
219
#define LaunchINFSection WINELIB_NAME_AW(LaunchINFSection)
220
HRESULT WINAPI LaunchINFSectionExA(HWND,HINSTANCE,LPSTR,INT);
221
HRESULT WINAPI LaunchINFSectionExW(HWND,HINSTANCE,LPWSTR,INT);
222
#define LaunchINFSectionEx WINELIB_NAME_AW(LaunchINFSectionEx)
223
DWORD WINAPI NeedRebootInit(VOID);
224
BOOL WINAPI NeedReboot(DWORD dwRebootCheck);
225
HRESULT WINAPI OpenINFEngineA(LPCSTR pszInfFilename, LPCSTR pszInstallSection,
226
DWORD dwFlags, HINF *phInf, PVOID pvReserved);
227
HRESULT WINAPI OpenINFEngineW(LPCWSTR pszInfFilename, LPCWSTR pszInstallSection,
228
DWORD dwFlags, HINF *phInf, PVOID pvReserved);
229
#define OpenINFEngine WINELIB_NAME_AW(OpenINFEngine)
230
HRESULT WINAPI RebootCheckOnInstallA(HWND hWnd, LPCSTR pszINF, LPCSTR pszSec, DWORD dwReserved);
231
HRESULT WINAPI RebootCheckOnInstallW(HWND hWnd, LPCWSTR pszINF, LPCWSTR pszSec, DWORD dwReserved);
232
#define RebootCheckOnInstall WINELIB_NAME_AW(RebootCheckOnInstall)
233
HRESULT WINAPI RegInstallA(HMODULE hm, LPCSTR pszSection, const STRTABLEA* pstTable);
234
HRESULT WINAPI RegInstallW(HMODULE hm, LPCWSTR pszSection, const STRTABLEW* pstTable);
235
#define RegInstall WINELIB_NAME_AW(RegInstall)
236
HRESULT WINAPI RegRestoreAllA(HWND hWnd, LPSTR pszTitleString, HKEY hkBackupKey);
237
HRESULT WINAPI RegRestoreAllW(HWND hWnd, LPWSTR pszTitleString, HKEY hkBackupKey);
238
#define RegRestoreAll WINELIB_NAME_AW(RegRestoreAll)
239
HRESULT WINAPI RegSaveRestoreA(HWND hWnd, LPCSTR pszTitleString, HKEY hkBackupKey,
240
LPCSTR pcszRootKey, LPCSTR pcszSubKey, LPCSTR pcszValueName, DWORD dwFlags);
241
HRESULT WINAPI RegSaveRestoreW(HWND hWnd, LPCWSTR pszTitleString, HKEY hkBackupKey,
242
LPCWSTR pcszRootKey, LPCWSTR pcszSubKey, LPCWSTR pcszValueName, DWORD dwFlags);
243
#define RegSaveRestore WINELIB_NAME_AW(RegSaveRestore)
244
HRESULT WINAPI RegSaveRestoreOnINFA(HWND hWnd, LPCSTR pszTitle, LPCSTR pszINF,
245
LPCSTR pszSection, HKEY hHKLMBackKey, HKEY hHKCUBackKey, DWORD dwFlags);
246
HRESULT WINAPI RegSaveRestoreOnINFW(HWND hWnd, LPCWSTR pszTitle, LPCWSTR pszINF,
247
LPCWSTR pszSection, HKEY hHKLMBackKey, HKEY hHKCUBackKey, DWORD dwFlags);
248
#define RegSaveRestoreOnINF WINELIB_NAME_AW(RegSaveRestoreOnINF)
249
HRESULT WINAPI RunSetupCommandA(HWND hWnd,
250
LPCSTR szCmdName, LPCSTR szInfSection, LPCSTR szDir, LPCSTR lpszTitle,
251
HANDLE *phEXE, DWORD dwFlags, LPVOID pvReserved);
252
HRESULT WINAPI RunSetupCommandW(HWND hWnd,
253
LPCWSTR szCmdName, LPCWSTR szInfSection, LPCWSTR szDir, LPCWSTR lpszTitle,
254
HANDLE *phEXE, DWORD dwFlags, LPVOID pvReserved);
255
#define RunSetupCommand WINELIB_NAME_AW(RunSetupCommand)
256
HRESULT WINAPI SetPerUserSecValuesA(PERUSERSECTIONA* pPerUser);
257
HRESULT WINAPI SetPerUserSecValuesW(PERUSERSECTIONW* pPerUser);
258
#define SetPerUserSecValues WINELIB_NAME_AW(SetPerUserSecValues)
259
HRESULT WINAPI TranslateInfStringA(LPCSTR pszInfFilename, LPCSTR pszInstallSection,
260
LPCSTR pszTranslateSection, LPCSTR pszTranslateKey, LPSTR pszBuffer,
261
DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
262
HRESULT WINAPI TranslateInfStringW(LPCWSTR pszInfFilename, LPCWSTR pszInstallSection,
263
LPCWSTR pszTranslateSection, LPCWSTR pszTranslateKey, LPWSTR pszBuffer,
264
DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
265
#define TranslateInfString WINELIB_NAME_AW(TranslateInfString)
266
HRESULT WINAPI TranslateInfStringExA(HINF hInf, LPCSTR pszInfFilename,
267
LPCSTR pszTranslateSection, LPCSTR pszTranslateKey, LPSTR pszBuffer,
268
DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
269
HRESULT WINAPI TranslateInfStringExW(HINF hInf, LPCWSTR pszInfFilename,
270
LPCWSTR pszTranslateSection, LPCWSTR pszTranslateKey, LPWSTR pszBuffer,
271
DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
272
#define TranslateInfStringEx WINELIB_NAME_AW(TranslateInfStringEx)
273
HRESULT WINAPI UserInstStubWrapperA(HWND hWnd, HINSTANCE hInstance, LPSTR pszParms, INT nShow);
274
HRESULT WINAPI UserInstStubWrapperW(HWND hWnd, HINSTANCE hInstance, LPWSTR pszParms, INT nShow);
275
#define UserInstStubWrapper WINELIB_NAME_AW(UserInstStubWrapper)
276
HRESULT WINAPI UserUnInstStubWrapperA(HWND hWnd, HINSTANCE hInstance, LPSTR pszParms, INT nShow);
277
HRESULT WINAPI UserUnInstStubWrapperW(HWND hWnd, HINSTANCE hInstance, LPWSTR pszParms, INT nShow);
278
#define UserUnInstStubWrapper WINELIB_NAME_AW(UserUnInstStubWrapper)
279
280
#ifdef __cplusplus
281
}
282
#endif
283
284
#endif /* __WINE_ADVPUB_H */
285
286