olecli32: Renamed olecli directory to olecli32.
[wine/multimedia.git] / include / advpub.h
blob9358d6f2d5702d4661777a3552a97cee58f164ca
1 /*
2 * Copyright 2004 Huw D M Davies
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.
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.
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
18 #ifndef __WINE_ADVPUB_H
19 #define __WINE_ADVPUB_H
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
25 typedef struct _CabInfo {
26 PSTR pszCab;
27 PSTR pszInf;
28 PSTR pszSection;
29 char szSrcPath[MAX_PATH];
30 DWORD dwFlags;
31 } CABINFO, *PCABINFO;
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;
44 typedef struct _StrEntry {
45 LPSTR pszName;
46 LPSTR pszValue;
47 } STRENTRY, *LPSTRENTRY;
49 typedef const STRENTRY CSTRENTRY;
50 typedef CSTRENTRY *LPCSTRENTRY;
52 typedef struct _StrTable {
53 DWORD cEntries;
54 LPSTRENTRY pse;
55 } STRTABLE, *LPSTRTABLE;
57 typedef const STRTABLE CSTRTABLE;
58 typedef CSTRTABLE *LPCSTRTABLE;
60 #ifndef _INC_SETUPAPI
61 typedef PVOID HINF;
62 #endif
64 /* Flags for AddDelBackupEntry */
65 #define AADBE_ADD_ENTRY 0x01
66 #define AADBE_DEL_ENTRY 0x02
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
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
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
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
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
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 RebootCheckOnInstall(HWND hWnd, LPCSTR pszINF, LPCSTR pszSec, DWORD dwReserved);
143 HRESULT WINAPI RegInstall(HMODULE hm, LPCSTR pszSection, LPCSTRTABLE pstTable);
144 HRESULT WINAPI RegRestoreAll(HWND hWnd, PSTR pszTitleString, HKEY hkBackupKey);
145 HRESULT WINAPI RegSaveRestore(HWND hWnd, PCSTR pszTitleString, HKEY hkBackupKey,
146 PCSTR pcszRootKey, PCSTR pcszSubKey, PCSTR pcszValueName, DWORD dwFlags);
147 HRESULT WINAPI RegSaveRestoreOnINF(HWND hWnd, PCSTR pszTitle, PCSTR pszINF,
148 PCSTR pszSection, HKEY hHKLMBackKey, HKEY hHKCUBackKey, DWORD dwFlags);
149 HRESULT WINAPI RunSetupCommand(HWND hWnd,
150 LPCSTR szCmdName, LPCSTR szInfSection, LPCSTR szDir, LPCSTR lpszTitle,
151 HANDLE *phEXE, DWORD dwFlags, LPVOID pvReserved);
152 HRESULT WINAPI SetPerUserSecValues(PPERUSERSECTION pPerUser);
153 HRESULT WINAPI TranslateInfString(PCSTR pszInfFilename, PCSTR pszInstallSection,
154 PCSTR pszTranslateSection, PCSTR pszTranslateKey, PSTR pszBuffer,
155 DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
156 HRESULT WINAPI TranslateInfStringEx(HINF hInf, PCSTR pszInfFilename,
157 PCSTR pszTranslateSection, PCSTR pszTranslateKey, PSTR pszBuffer,
158 DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
159 HRESULT WINAPI UserInstStubWrapper(HWND hWnd, HINSTANCE hInstance, PSTR pszParms, INT nShow);
160 HRESULT WINAPI UserUnInstStubWrapper(HWND hWnd, HINSTANCE hInstance, PSTR pszParms, INT nShow);
162 #ifdef __cplusplus
164 #endif
166 #endif /* __WINE_ADVPUB_H */