advpack: Add a stub for SetPerUserSecValues.
[wine] / include / advpub.h
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18 #ifndef __WINE_ADVPUB_H
19 #define __WINE_ADVPUB_H
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
25 typedef struct _CabInfo {
26     PSTR  pszCab;
27     PSTR  pszInf;
28     PSTR  pszSection;
29     char  szSrcPath[MAX_PATH];
30     DWORD dwFlags;
31 } CABINFO, *PCABINFO;
32
33 typedef struct _PERUSERSECTION {
34     char szGUID[39 /*MAX_GUID_STRING_LEN*/ + 20];
35     char szDispName[128];
36     char szLocale[10];
37     char szStub[MAX_PATH * 4];
38     char szVersion[32];
39     char szCompID[128];
40     DWORD dwIsInstalled;
41     BOOL  bRollback;
42 } PERUSERSECTION, *PPERUSERSECTION;
43
44 typedef struct _StrEntry {
45     LPSTR pszName;
46     LPSTR pszValue;
47 } STRENTRY, *LPSTRENTRY;
48
49 typedef const STRENTRY CSTRENTRY;
50 typedef CSTRENTRY *LPCSTRENTRY;
51
52 typedef struct _StrTable {
53     DWORD cEntries;
54     LPSTRENTRY pse;
55 } STRTABLE, *LPSTRTABLE;
56
57 typedef const STRTABLE CSTRTABLE;
58 typedef CSTRTABLE *LPCSTRTABLE;
59
60 #ifndef _INC_SETUPAPI
61 typedef PVOID HINF;
62 #endif
63
64 /* Flags for AddDelBackupEntry */
65 #define AADBE_ADD_ENTRY             0x01
66 #define AADBE_DEL_ENTRY             0x02
67
68 /* Flags for AdvInstallFile */
69 #define AIF_WARNIFSKIP              0x00000001
70 #define AIF_NOSKIP                  0x00000002
71 #define AIF_NOVERSIONCHECK          0x00000004
72 #define AIF_FORCE_FILE_IN_USE       0x00000008
73 #define AIF_NOOVERWRITE             0x00000010
74 #define AIF_NO_VERSION_DIALOG       0x00000020
75 #define AIF_REPLACEONLY             0x00000400
76 #define AIF_NOLANGUAGECHECK         0x10000000
77 #define AIF_QUIET                   0x20000000
78
79 /* Flags for RunSetupCommand */
80 #define RSC_FLAG_INF                0x00000001
81 #define RSC_FLAG_SKIPDISKSPACECHECK 0x00000002
82 #define RSC_FLAG_QUIET              0x00000004
83 #define RSC_FLAG_NGCONV             0x00000008
84 #define RSC_FLAG_UPDHLPDLLS         0x00000010
85 #define RSC_FLAG_DELAYREGISTEROCX   0x00000200
86 #define RSC_FLAG_SETUPAPI           0x00000400
87
88 /* Flags for DelNode */
89 #define ADN_DEL_IF_EMPTY            0x00000001
90 #define ADN_DONT_DEL_SUBDIRS        0x00000002
91 #define ADN_DONT_DEL_DIR            0x00000004
92 #define ADN_DEL_UNC_PATHS           0x00000008
93
94 /* Flags for RegRestoreAll, RegSaveRestore, RegSaveRestoreOnINF */
95 #define  IE4_RESTORE                0x00000001
96 #define  IE4_BACKNEW                0x00000002
97 #define  IE4_NODELETENEW            0x00000004
98 #define  IE4_NOMESSAGES             0x00000008
99 #define  IE4_NOPROGRESS             0x00000010
100 #define  IE4_NOENUMKEY              0x00000020
101 #define  IE4_NO_CRC_MAPPING         0x00000040
102 #define  IE4_REGSECTION             0x00000080
103 #define  IE4_FRDOALL                0x00000100
104 #define  IE4_UPDREFCNT              0x00000200
105 #define  IE4_USEREFCNT              0x00000400
106 #define  IE4_EXTRAINCREFCNT         0x00000800
107
108 /* Flags for file save and restore functions */
109 #define  AFSR_RESTORE               IE4_RESTORE
110 #define  AFSR_BACKNEW               IE4_BACKNEW
111 #define  AFSR_NODELETENEW           IE4_NODELETENEW
112 #define  AFSR_NOMESSAGES            IE4_NOMESSAGES
113 #define  AFSR_NOPROGRESS            IE4_NOPROGRESS
114 #define  AFSR_UPDREFCNT             IE4_UPDREFCNT
115 #define  AFSR_USEREFCNT             IE4_USEREFCNT
116 #define  AFSR_EXTRAINCREFCNT        IE4_EXTRAINCREFCNT
117
118 HRESULT WINAPI AddDelBackupEntry(LPCSTR lpcszFileList, LPCSTR lpcszBackupDir,
119      LPCSTR lpcszBaseName, DWORD dwFlags);
120 HRESULT WINAPI AdvInstallFile(HWND hwnd, LPCSTR lpszSourceDir,
121      LPCSTR lpszSourceFile, LPCSTR lpszDestDir, LPCSTR lpszDestFile,
122      DWORD dwFlags, DWORD dwReserved);
123 HRESULT WINAPI CloseINFEngine(HINF hInf);
124 HRESULT WINAPI DelNode(LPCSTR pszFileOrDirName, DWORD dwFlags);
125 HRESULT WINAPI DelNodeRunDLL32(HWND,HINSTANCE,LPSTR,INT);
126 HRESULT WINAPI ExecuteCab( HWND hwnd, PCABINFO pCab, LPVOID pReserved );
127 HRESULT WINAPI ExtractFiles(LPCSTR,LPCSTR,DWORD,LPCSTR,LPVOID,DWORD);
128 HRESULT WINAPI FileSaveMarkNotExist(LPSTR pszFileList, LPSTR pszDir, LPSTR pszBaseName);
129 HRESULT WINAPI FileSaveRestore(HWND hDlg, LPSTR pszFileList, LPSTR pszDir,
130      LPSTR pszBaseName, DWORD dwFlags);
131 HRESULT WINAPI FileSaveRestoreOnINF(HWND hWnd, PCSTR pszTitle, PCSTR pszINF,
132      PCSTR pszSection, PCSTR pszBackupDir, PCSTR pszBaseBackupFile, DWORD dwFlags);
133 HRESULT WINAPI GetVersionFromFile(LPSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
134 HRESULT WINAPI GetVersionFromFileEx(LPSTR lpszFilename, LPDWORD pdwMSVer, LPDWORD pdwLSVer, BOOL bVersion);
135 BOOL WINAPI IsNTAdmin(DWORD,LPDWORD);
136 INT WINAPI LaunchINFSection(HWND,HINSTANCE,LPSTR,INT);
137 HRESULT WINAPI LaunchINFSectionEx(HWND,HINSTANCE,LPSTR,INT);
138 DWORD WINAPI NeedRebootInit(VOID);
139 BOOL WINAPI NeedReboot(DWORD dwRebootCheck);
140 HRESULT WINAPI OpenINFEngine(PCSTR pszInfFilename, PCSTR pszInstallSection,
141      DWORD dwFlags, HINF *phInf, PVOID pvReserved);
142 HRESULT WINAPI RegInstall(HMODULE hm, LPCSTR pszSection, LPCSTRTABLE pstTable);
143 HRESULT WINAPI RegRestoreAll(HWND hWnd, PSTR pszTitleString, HKEY hkBackupKey);
144 HRESULT WINAPI RegSaveRestore(HWND hWnd, PCSTR pszTitleString, HKEY hkBackupKey,
145      PCSTR pcszRootKey, PCSTR pcszSubKey, PCSTR pcszValueName, DWORD dwFlags);
146 HRESULT WINAPI RegSaveRestoreOnINF(HWND hWnd, PCSTR pszTitle, PCSTR pszINF,
147      PCSTR pszSection, HKEY hHKLMBackKey, HKEY hHKCUBackKey, DWORD dwFlags);
148 HRESULT WINAPI RunSetupCommand(HWND hWnd,
149      LPCSTR szCmdName, LPCSTR szInfSection, LPCSTR szDir, LPCSTR lpszTitle,
150      HANDLE *phEXE, DWORD dwFlags, LPVOID pvReserved);
151 HRESULT WINAPI SetPerUserSecValues(PPERUSERSECTION pPerUser);
152 HRESULT WINAPI TranslateInfString(PCSTR pszInfFilename, PCSTR pszInstallSection,
153      PCSTR pszTranslateSection, PCSTR pszTranslateKey, PSTR pszBuffer,
154      DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
155 HRESULT WINAPI TranslateInfStringEx(HINF hInf, PCSTR pszInfFilename,
156     PCSTR pszTranslateSection, PCSTR pszTranslateKey, PSTR pszBuffer,
157     DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
158 HRESULT WINAPI UserInstStubWrapper(HWND hWnd, HINSTANCE hInstance, PSTR pszParms, INT nShow);
159 HRESULT WINAPI UserUnInstStubWrapper(HWND hWnd, HINSTANCE hInstance, PSTR pszParms, INT nShow);
160
161 #ifdef __cplusplus
162 }
163 #endif
164
165 #endif /* __WINE_ADVPUB_H */