ReactOS  0.4.13-dev-235-g7373cb3
inseng.idl
Go to the documentation of this file.
1 /*
2  * Copyright 2015 Jacek Caban for CodeWeavers
3  * Copyright 2016 Michael Müller
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18  */
19 
20 #ifndef __WIDL__
21 #define threading(model)
22 #endif
23 
24 cpp_quote("#if 0")
25 import "unknwn.idl";
26 cpp_quote("#endif")
27 
28 interface IStream;
29 
30 cpp_quote("#define MAX_ID_LENGTH 48")
31 cpp_quote("#define MAX_DISPLAYNAME_LENGTH 128")
32 
33 cpp_quote("#define URLF_DEFAULT 0x0")
34 cpp_quote("#define URLF_EXTRACT 0x1")
35 cpp_quote("#define URLF_RELATIVEURL 0x2")
36 cpp_quote("#define URLF_DELETE_AFTER_EXTRACT 0x4")
37 
38 cpp_quote("#define ENGINESTATUS_NOTREADY 0x0")
39 cpp_quote("#define ENGINESTATUS_LOADING 0x1")
40 cpp_quote("#define ENGINESTATUS_INSTALLING 0x2")
41 cpp_quote("#define ENGINESTATUS_READY 0x3")
42 
43 cpp_quote("#define SETACTION_NONE 0x0")
44 cpp_quote("#define SETACTION_INSTALL 0x1")
45 
46 cpp_quote("#define INSTALLOPTIONS_NOCACHE 0x01")
47 cpp_quote("#define INSTALLOPTIONS_DOWNLOAD 0x02")
48 cpp_quote("#define INSTALLOPTIONS_INSTALL 0x04")
49 cpp_quote("#define INSTALLOPTIONS_DONTALLOWXPLATFORM 0x08")
50 cpp_quote("#define INSTALLOPTIONS_FORCEDEPENDENCIES 0x10")
51 
52 cpp_quote("#define EXECUTEJOB_SILENT 0x01")
53 cpp_quote("#define EXECUTEJOB_DELETE_JOB 0x02")
54 cpp_quote("#define EXECUTEJOB_VERIFYFILES 0x08")
55 cpp_quote("#define EXECUTEJOB_IGNORETRUST 0x10")
56 cpp_quote("#define EXECUTEJOB_IGNOREDOWNLOADERROR 0x20")
57 cpp_quote("#define EXECUTEJOB_DONTALLOWCANCEL 0x40")
58 
59 cpp_quote("#define ENGINEPROBLEM_DOWNLOADFAIL 0x1")
60 
61 cpp_quote("#define PLATFORM_WIN95 0x01")
62 cpp_quote("#define PLATFORM_WIN98 0x02")
63 cpp_quote("#define PLATFORM_NT4 0x04")
64 cpp_quote("#define PLATFORM_NT5 0x08")
65 cpp_quote("#define PLATFORM_NT4ALPHA 0x10")
66 cpp_quote("#define PLATFORM_NT5ALPHA 0x20")
67 cpp_quote("#define PLATFORM_MILLEN 0x40")
68 cpp_quote("#define PLATFORM_ALL (PLATFORM_WIN95 | PLATFORM_WIN98 | PLATFORM_NT4 | PLATFORM_NT5 | PLATFORM_NT4ALPHA | PLATFORM_NT5ALPHA | PLATFORM_MILLEN)")
69 
71 {
82 };
83 
85 {
89 };
90 
91 [
92  object,
93  local,
95 ]
96 interface ICifComponent
97 {
98  HRESULT GetID(char *id, DWORD size);
99  HRESULT GetGUID(char *guid, DWORD size);
105  HRESULT GetCommand(UINT index, char *cmd, DWORD cmd_size, char *switches, DWORD switch_size, DWORD *type);
107  HRESULT GetLocale(char *pszLocale, DWORD size);
113  HRESULT GetProgressKeys(char *progress, DWORD progress_size, char *cancel, DWORD cancel_size);
117  DWORD GetPriority();
118  HRESULT GetDependency(UINT index, char *id, DWORD buf, char *type, DWORD *ver, DWORD *build);
119  DWORD GetPlatform();
121  HRESULT GetGroup(char *id, DWORD size);
123  HRESULT GetPatchID(char *id, DWORD size);
124  HRESULT GetDetVersion(char *dll, DWORD dll_size, char *entry, DWORD entry_size);
126  HRESULT GetCustomData(char *key, char *data, DWORD size);
129  DWORD IsThisVersionInstalled(DWORD version, DWORD build, DWORD *ret_version, DWORD *ret_build);
135 };
136 
137 [
138  object,
139  local,
141 ]
143 {
144  HRESULT SetGUID(const char *guid);
145  HRESULT SetDescription(const char *desc);
146  HRESULT SetUrl(UINT index, const char *url, DWORD url_flags);
147  HRESULT SetCommand(UINT index, const char *cmd, const char *switches, DWORD type);
148  HRESULT SetVersion(const char *version);
149  HRESULT SetUninstallKey(const char *key);
153  HRESULT DeleteDependency(const char *id, char type);
154  HRESULT AddDependency(const char *id, char type);
155  HRESULT SetUIVisible(BOOL visible);
156  HRESULT SetGroup(const char *id);
159  HRESULT SetReboot(BOOL reboot);
160  HRESULT DeleteFromModes(const char *mode);
161  HRESULT AddToMode(const char *mode);
162  HRESULT SetModes(const char *mode);
163  HRESULT CopyComponent(const char *ciffile);
164  HRESULT AddToTreatAsOne(const char *compid);
165  HRESULT SetDetails(const char *desc);
166 };
167 
168 [
169  object,
170  local,
172 ]
174 {
176  HRESULT Reset();
177 };
178 
179 [
180  object,
181  local,
183 ]
184 interface ICifGroup
185 {
186  HRESULT GetID(char *id, DWORD size);
188  DWORD GetPriority();
189 
192 };
193 
194 [
195  object,
196  local,
198 ]
200 {
201  HRESULT SetDescription(const char *desc);
203  HRESULT SetDetails(const char *details);
204 };
205 
206 [
207  object,
208  local,
210 ]
212 {
213  HRESULT Next(ICifGroup **);
214  HRESULT Reset();
215 };
216 
217 [
218  object,
219  local,
221 ]
222 interface ICifMode
223 {
224  HRESULT GetID(char *id, DWORD size);
227 
229 };
230 
231 [
232  object,
233  local,
235 ]
236 interface ICifRWMode : ICifMode
237 {
238  HRESULT SetDescription(const char *desc);
239  HRESULT SetDetails(const char *details);
240 };
241 
242 [
243  object,
244  local,
246 ]
248 {
249  HRESULT Next(ICifMode **);
250  HRESULT Reset();
251 };
252 
253 typedef struct
254 {
268 
269 typedef struct
270 {
277 
278 [
279  uuid(6e449688-c509-11cf-aafa-00aa00b6015c),
280  local
281 ]
282 interface ICifFile : IUnknown
283 {
285  HRESULT FindComponent(const char *id, ICifComponent **p);
286  HRESULT EnumGroups(IEnumCifGroups **enum_groups, DWORD filter, void *pv);
287  HRESULT FindGroup(const char *id, ICifGroup **p);
288  HRESULT EnumModes(IEnumCifModes **cuf_modes, DWORD filter, void *pv);
289  HRESULT FindMode(const char *id, ICifMode **p);
291  HRESULT GetDetDlls(char *dlls, DWORD size);
292 }
293 
294 [
295  object,
296  local,
298 ]
299 interface ICifRWFile : ICifFile
300 {
301  HRESULT SetDescription(const char *desc);
302  HRESULT CreateComponent(const char *id, ICifRWComponent **p);
303  HRESULT CreateGroup(const char *id, ICifRWGroup **p);
304  HRESULT CreateMode(const char *id, ICifRWMode **p);
305  HRESULT DeleteComponent(const char *id);
306  HRESULT DeleteGroup(const char *id);
307  HRESULT DeleteMode(const char *id);
308  HRESULT Flush();
309 }
310 
311 [
312  uuid(6e449685-c509-11cf-aafa-00aa00b6015c),
313  local
314 ]
316 {
318  HRESULT OnStartInstall(DWORD dl_size, DWORD install_size);
319  HRESULT OnStartComponent(const char *id, DWORD dl_size, DWORD install_size, const char *string);
320  HRESULT OnComponentProgress(const char *id, DWORD phrase, const char *string,
321  const char *msg_string, ULONG progress, ULONG max);
322  HRESULT OnStopComponent(const char *id, HRESULT error, DWORD phrase, const char *string, DWORD status);
323  HRESULT OnStopInstall(HRESULT error, const char *error_string, DWORD status);
325 }
326 
327 [
328  uuid(6e449684-c509-11cf-aafa-00aa00b6015c),
329  local
330 ]
332 {
334  HRESULT SetCifFile(const char *cab_name, const char *cif_name);
337  HRESULT EnumInstallIDs(UINT index, char **id);
338  HRESULT EnumDownloadIDs(UINT index, char **id);
339  HRESULT IsComponentInstalled(const char *id, DWORD *status);
342  HRESULT SetAction(const char *id, DWORD action, DWORD priority);
343  HRESULT GetSizes(const char *id, COMPONENT_SIZES *sizes);
344  HRESULT LaunchExtraCommand(const char *inf_name, const char *section);
345  HRESULT GetDisplayName(const char *id, const char *name);
346  HRESULT SetBaseUrl(const char *base_name);
347  HRESULT SetDownloadDir(const char *download_dir);
353  HRESULT Suspend();
354  HRESULT Resume();
355 }
356 
357 [
358  uuid(6e449689-c509-11cf-aafa-00aa00b6015c),
359  local
360 ]
362 {
363  HRESULT SetLocalCif(const char *cif);
364  HRESULT GetICifFile(ICifFile **cif_file);
365 }
366 
367 [
368  uuid(6e449687-c509-11cf-aafa-00aa00b6015c),
369  local
370 ]
372 {
373  HRESULT GetRates(DWORD *download, DWORD *install);
375 }
376 
377 [
378  helpstring("Microsoft Active Setup Engine"),
380  uuid(6e449686-c509-11cf-aafa-00aa00b6015c)
381 ]
382 coclass InstallEngine { }
383 
384 [
385  helpstring("Download Site Manager"),
387  uuid(bfc880f1-7484-11d0-8309-00aa00b6015c)
388 ]
389 coclass DownloadSiteMgr { }
390 
391 cpp_quote("HRESULT WINAPI GetICifFileFromFile(ICifFile **, const char *);")
HRESULT SetModes(const char *mode)
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
HRESULT SetBaseUrl(const char *base_name)
HRESULT GetInstalledSize(DWORD *win, DWORD *app)
HRESULT OnStartComponent(const char *id, DWORD dl_size, DWORD install_size, const char *string)
#define max(a, b)
Definition: svc.c:63
HRESULT CreateComponent(const char *id, ICifRWComponent **p)
HRESULT GetPatchID(char *id, DWORD size)
Definition: icif.c:147
HRESULT Next(ICifComponent **)
HRESULT SetDownloadDir(const char *download_dir)
DWORD dwInstallKBRemaining
Definition: inseng.idl:273
HRESULT FindGroup(const char *id, ICifGroup **p)
#define error(str)
Definition: mkdosfs.c:1605
HRESULT SetDescription(const char *desc)
HRESULT GetDisplayName(const char *id, const char *name)
int install
Definition: msacm.c:1353
DWORD GetPriority()
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
HRESULT SetDescription(const char *desc)
Definition: ftp_var.h:139
HRESULT IsRebootRequired()
HRESULT SetUIVisible(BOOL visible)
coclass InstallEngine uuid(bfc880f1-7484-11d0-8309-00aa00b6015c)] coclass DownloadSiteMgr
Definition: inseng.idl:387
ComponentAction
Definition: inseng.idl:84
DWORD dwDownloadSecsRemaining
Definition: inseng.idl:274
HRESULT RegisterInstallEngineCallback(IInstallEngineCallback *callback)
HRESULT GetDescription(char *desc, DWORD size)
char chDownloadDrive
Definition: inseng.idl:265
HRESULT GetRates(DWORD *download, DWORD *install)
HRESULT IsComponentDownloaded()
HRESULT GetInstallProgress(INSTALLPROGRESS *progress)
DWORD GetExtractSize()
DWORD dwInstallDriveReq
Definition: inseng.idl:260
HRESULT OnStartInstall(DWORD dl_size, DWORD install_size)
DWORD GetInstallQueueState()
HRESULT EnumInstallIDs(UINT index, char **id)
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
InstallStatus
Definition: inseng.idl:70
DWORD dwDownloadSize
Definition: inseng.idl:258
HRESULT UnregisterInstallEngineCallback()
HRESULT OnStopInstall(HRESULT error, const char *error_string, DWORD status)
HRESULT DeleteMode(const char *id)
HRESULT RequiresAdminRights()
HRESULT GetDescription(char *desc, DWORD size)
HRESULT GetEngineStatus(DWORD *status)
Definition: parser.c:55
HRESULT SetAction(const char *id, DWORD action, DWORD priority)
HRESULT GetMode(UINT index, char *mode, DWORD size)
HRESULT IsComponentInstalled(const char *id, DWORD *status)
HRESULT GetCustomData(char *key, char *data, DWORD size)
HRESULT SetGroup(const char *id)
HRESULT SetExtractSize(DWORD size)
DWORD GetDownloadSize()
coclass AMMultiMediaStream cpp_quote("DEFINE_GUID(CLSID_AMDirectDrawStream, 0x49c47ce4, 0x9ba4, 0x11d0, 0x82, 0x12, 0x00, 0xc0, 0x4f, 0xc3, 0x2c, 0x45);") cpp_quote("DEFINE_GUID(CLSID_AMAudioStream
HRESULT SetDetails(const char *desc)
BOOL extract(char *filename, const bin_file *bin)
Definition: mspatcha.c:158
HRESULT SetDetails(const char *details)
HRESULT IsActiveSetupAware()
static HMODULE dll
Definition: str.c:188
HRESULT FindMode(const char *id, ICifMode **p)
DWORD dwWinDriveReq
Definition: inseng.idl:261
HRESULT SetHWND(HWND hwnd)
HRESULT GetProgressKeys(char *progress, DWORD progress_size, char *cancel, DWORD cancel_size)
HRESULT GetDescription(char *desc, DWORD size)
coclass InstallEngine helpstring("Download Site Manager")
const GUID * guid
HRESULT OnEngineStatusChange(DWORD status, DWORD substatus)
HRESULT SetDetails(const char *details)
HRESULT GetCommand(UINT index, char *cmd, DWORD cmd_size, char *switches, DWORD switch_size, DWORD *type)
HRESULT CreateGroup(const char *id, ICifRWGroup **p)
HRESULT Next(ICifGroup **)
static const struct @509 sizes[]
unsigned int BOOL
Definition: ntddk_ex.h:94
HRESULT GetSuccessKey(char *key, DWORD size)
static UINT enum_components(const WCHAR *usersid, DWORD ctx, DWORD index, DWORD *idx, WCHAR guid[39], MSIINSTALLCONTEXT *installed_ctx, LPWSTR sid, LPDWORD sid_len)
Definition: registry.c:1406
HRESULT SetDownloadSize(DWORD size)
char chInstallDrive
Definition: inseng.idl:264
HRESULT EnumComponents(IEnumCifComponents **, DWORD filter, void *pv)
HRESULT Resume()
HRESULT SetInstallOptions(DWORD flags)
HRESULT GetDetDlls(char *dlls, DWORD size)
const struct builtin_class_descr * desc
Definition: regcontrol.c:48
HRESULT SetLocalCif(const char *cif)
HRESULT Flush()
HRESULT AddToTreatAsOne(const char *compid)
static const WCHAR version[]
Definition: asmname.c:64
HRESULT SetReboot(BOOL reboot)
HRESULT OnEngineProblem(DWORD problem, DWORD *action)
HRESULT Reset()
HRESULT DeleteDependency(const char *id, char type)
HRESULT GetTreatAsOneComponents(UINT index, char *id, DWORD buf)
GLuint index
Definition: glext.h:6031
HRESULT SetPlatform(DWORD platform)
DWORD dwWinDriveSize
Definition: inseng.idl:257
HRESULT Abort(DWORD flags)
DWORD GetPriority()
HRESULT SetInstallDrive(char drive)
HRESULT GetID(char *id, DWORD size)
DWORD dwDownloadDriveReq
Definition: inseng.idl:262
HRESULT SetInstallQueueState(DWORD state)
DWORD dwDownloadKBRemaining
Definition: inseng.idl:272
platform
Definition: msipriv.h:356
HRESULT OnComponentProgress(const char *id, DWORD phrase, const char *string, const char *msg_string, ULONG progress, ULONG max)
DWORD GetActualDownloadSize()
HRESULT SetDescription(const char *desc)
MmuTrapHandler callback[0x30]
Definition: mmuobject.c:44
DWORD GetCurrentPriority()
GLsizeiptr size
Definition: glext.h:5919
HRESULT InstallComponents(DWORD flags)
HRESULT GetUrl(UINT index, char *url, DWORD size, DWORD *flags)
#define threading(model)
Definition: inseng.idl:21
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
HRESULT DeleteGroup(const char *id)
#define WINAPI
Definition: msvc.h:8
HRESULT EnumComponents(IEnumCifComponents **, DWORD filter, void *pv)
HRESULT CopyComponent(const char *ciffile)
unsigned long DWORD
Definition: ntddk_ex.h:95
HRESULT OnStopComponent(const char *id, HRESULT error, DWORD phrase, const char *string, DWORD status)
HRESULT GetSizes(const char *id, COMPONENT_SIZES *sizes)
DWORD IsComponentInstalled()
HRESULT GetID(char *id, DWORD size)
DWORD GetCurrentPriority()
HRESULT EnumComponents(IEnumCifComponents **enum_components, DWORD filter, void *pv)
HRESULT GetDetails(char *details, DWORD size)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLbitfield flags
Definition: glext.h:7161
DWORD dwTotalDownloadSize
Definition: inseng.idl:266
HRESULT EnumModes(IEnumCifModes **cuf_modes, DWORD filter, void *pv)
HRESULT GetFileExtractList(UINT index, char *extract, DWORD size)
Definition: parse.h:22
HRESULT GetUrlCheckRange(UINT index, DWORD *min, DWORD *max)
static int state
Definition: maze.c:121
uint32_t entry
Definition: isohybrid.c:63
HRESULT GetDetVersion(char *dll, DWORD dll_size, char *entry, DWORD entry_size)
HRESULT GetLocale(char *pszLocale, DWORD size)
HRESULT AddToMode(const char *mode)
GLenum mode
Definition: glext.h:6217
HRESULT GetVersion(DWORD *version, DWORD *build)
DWORD dwDependancySize
Definition: inseng.idl:259
HRESULT GetDetails(char *details, DWORD size)
HRESULT IsUIVisible()
HRESULT Next(ICifMode **)
#define local
Definition: zutil.h:30
HRESULT AddDependency(const char *id, char type)
HRESULT SetPriority(DWORD priority)
HRESULT GetID(char *id, DWORD size)
const WCHAR * action
Definition: action.c:7783
static real win[4][36]
static unsigned char pointer_default
Definition: parser.tab.c:114
DWORD dwInstallSize
Definition: inseng.idl:256
HRESULT GetGUID(char *guid, DWORD size)
DWORD IsThisVersionInstalled(DWORD version, DWORD build, DWORD *ret_version, DWORD *ret_build)
#define min(a, b)
Definition: monoChain.cc:55
unsigned int UINT
Definition: ndis.h:50
HRESULT DownloadComponents(DWORD flags)
HRESULT WINAPI GetICifRWFileFromFile(ICifRWFile **, const char *)
Definition: icif.c:1740
HRESULT LaunchExtraCommand(const char *inf_name, const char *section)
cd_progress_ptr progress
Definition: cdjpeg.h:150
HRESULT DeleteComponent(const char *id)
HRESULT SetDescription(const char *desc)
HRESULT SetInstalledSize(DWORD win, DWORD app)
HRESULT DeleteFromModes(const char *mode)
HRESULT SetVersion(const char *version)
HRESULT SetPriority(DWORD priority)
Definition: name.c:36
HRESULT Suspend()
unsigned int ULONG
Definition: retypes.h:1
HRESULT EnumDownloadIDs(UINT index, char **id)
#define const
Definition: zconf.h:230
int details
Definition: msacm.c:1353
HRESULT SetIStream(IStream *stream)
HRESULT CreateMode(const char *id, ICifRWMode **p)
static int priority
Definition: timer.c:163
HRESULT SetUrl(UINT index, const char *url, DWORD url_flags)
HRESULT GetDependency(UINT index, char *id, DWORD buf, char *type, DWORD *ver, DWORD *build)
HRESULT Reset()
HRESULT SetCifFile(const char *cab_name, const char *cif_name)
GLfloat GLfloat p
Definition: glext.h:8902
HRESULT EnumGroups(IEnumCifGroups **enum_groups, DWORD filter, void *pv)
HRESULT GetICifFile(ICifFile **cif_file)
HRESULT SetGUID(const char *guid)
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
Definition: glext.h:7005
HRESULT GetGroup(char *id, DWORD size)
HRESULT FindComponent(const char *id, ICifComponent **p)
void * object
Definition: jmemsys.h:48
HRESULT GetUninstallKey(char *key, DWORD size)
DWORD dwInstallSecsRemaining
Definition: inseng.idl:275
HRESULT GetDescription(char *desc, DWORD size)
HRESULT SetCommand(UINT index, const char *cmd, const char *switches, DWORD type)
Definition: path.c:42
DWORD GetPlatform()
HRESULT SetCurrentPriority(DWORD priority)
Definition: ps.c:97
HRESULT SetUninstallKey(const char *key)