21#define threading(model)
30cpp_quote("#define MAX_ID_LENGTH 48")
31cpp_quote("#define MAX_DISPLAYNAME_LENGTH 128")
33cpp_quote("#define URLF_DEFAULT 0x0")
34cpp_quote("#define URLF_EXTRACT 0x1")
35cpp_quote("#define URLF_RELATIVEURL 0x2")
36cpp_quote("#define URLF_DELETE_AFTER_EXTRACT 0x4")
38cpp_quote("#define ENGINESTATUS_NOTREADY 0x0")
39cpp_quote("#define ENGINESTATUS_LOADING 0x1")
40cpp_quote("#define ENGINESTATUS_INSTALLING 0x2")
41cpp_quote("#define ENGINESTATUS_READY 0x3")
43cpp_quote("#define SETACTION_NONE 0x0")
44cpp_quote("#define SETACTION_INSTALL 0x1")
46cpp_quote("#define INSTALLOPTIONS_NOCACHE 0x01")
47cpp_quote("#define INSTALLOPTIONS_DOWNLOAD 0x02")
48cpp_quote("#define INSTALLOPTIONS_INSTALL 0x04")
49cpp_quote("#define INSTALLOPTIONS_DONTALLOWXPLATFORM 0x08")
50cpp_quote("#define INSTALLOPTIONS_FORCEDEPENDENCIES 0x10")
52cpp_quote("#define EXECUTEJOB_SILENT 0x01")
53cpp_quote("#define EXECUTEJOB_DELETE_JOB 0x02")
54cpp_quote("#define EXECUTEJOB_VERIFYFILES 0x08")
55cpp_quote("#define EXECUTEJOB_IGNORETRUST 0x10")
56cpp_quote("#define EXECUTEJOB_IGNOREDOWNLOADERROR 0x20")
57cpp_quote("#define EXECUTEJOB_DONTALLOWCANCEL 0x40")
59cpp_quote("#define ENGINEPROBLEM_DOWNLOADFAIL 0x1")
61cpp_quote("#define PLATFORM_WIN95 0x01")
62cpp_quote("#define PLATFORM_WIN98 0x02")
63cpp_quote("#define PLATFORM_NT4 0x04")
64cpp_quote("#define PLATFORM_NT5 0x08")
65cpp_quote("#define PLATFORM_NT4ALPHA 0x10")
66cpp_quote("#define PLATFORM_NT5ALPHA 0x20")
67cpp_quote("#define PLATFORM_MILLEN 0x40")
68cpp_quote("#define PLATFORM_ALL (PLATFORM_WIN95 | PLATFORM_WIN98 | PLATFORM_NT4 | PLATFORM_NT5 | PLATFORM_NT4ALPHA | PLATFORM_NT5ALPHA | PLATFORM_MILLEN)")
72 INSTALLSTATUS_INITIALIZING,
73 INSTALLSTATUS_DEPENDENCY,
74 INSTALLSTATUS_DOWNLOADING,
75 INSTALLSTATUS_COPYING,
76 INSTALLSTATUS_RETRYING,
77 INSTALLSTATUS_CHECKINGTRUST,
78 INSTALLSTATUS_EXTRACTING,
79 INSTALLSTATUS_RUNNING,
80 INSTALLSTATUS_FINISHED,
81 INSTALLSTATUS_DOWNLOADFINISHED,
94 pointer_default(unique)
96interface ICifComponent
98 HRESULT GetID(char *id, DWORD size);
99 HRESULT GetGUID(char *guid, DWORD size);
100 HRESULT GetDescription(char *desc, DWORD size);
101 HRESULT GetDetails(char *details, DWORD size);
102 HRESULT GetUrl(UINT index, char *url, DWORD size, DWORD *flags);
103 HRESULT GetFileExtractList(UINT index, char *extract, DWORD size);
104 HRESULT GetUrlCheckRange(UINT index, DWORD *min, DWORD *max);
105 HRESULT GetCommand(UINT index, char *cmd, DWORD cmd_size, char *switches, DWORD switch_size, DWORD *type);
106 HRESULT GetVersion(DWORD *version, DWORD *build);
107 HRESULT GetLocale(char *pszLocale, DWORD size);
108 HRESULT GetUninstallKey(char *key, DWORD size);
109 HRESULT GetInstalledSize(DWORD *win, DWORD *app);
110 DWORD GetDownloadSize();
111 DWORD GetExtractSize();
112 HRESULT GetSuccessKey(char *key, DWORD size);
113 HRESULT GetProgressKeys(char *progress, DWORD progress_size, char *cancel, DWORD cancel_size);
114 HRESULT IsActiveSetupAware();
115 HRESULT IsRebootRequired();
116 HRESULT RequiresAdminRights();
118 HRESULT GetDependency(UINT index, char *id, DWORD buf, char *type, DWORD *ver, DWORD *build);
120 HRESULT GetMode(UINT index, char *mode, DWORD size);
121 HRESULT GetGroup(char *id, DWORD size);
122 HRESULT IsUIVisible();
123 HRESULT GetPatchID(char *id, DWORD size);
124 HRESULT GetDetVersion(char *dll, DWORD dll_size, char *entry, DWORD entry_size);
125 HRESULT GetTreatAsOneComponents(UINT index, char *id, DWORD buf);
126 HRESULT GetCustomData(char *key, char *data, DWORD size);
127 DWORD IsComponentInstalled();
128 HRESULT IsComponentDownloaded();
129 DWORD IsThisVersionInstalled(DWORD version, DWORD build, DWORD *ret_version, DWORD *ret_build);
130 DWORD GetInstallQueueState();
131 HRESULT SetInstallQueueState(DWORD state);
132 DWORD GetActualDownloadSize();
133 DWORD GetCurrentPriority();
134 HRESULT SetCurrentPriority(DWORD priority);
140 pointer_default(unique)
142interface ICifRWComponent : ICifComponent
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);
150 HRESULT SetInstalledSize(DWORD win, DWORD app);
151 HRESULT SetDownloadSize(DWORD size);
152 HRESULT SetExtractSize(DWORD size);
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);
157 HRESULT SetPlatform(DWORD platform);
158 HRESULT SetPriority(DWORD priority);
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);
171 pointer_default(unique)
173interface IEnumCifComponents : IUnknown
175 HRESULT Next(ICifComponent **);
182 pointer_default(unique)
186 HRESULT GetID(char *id, DWORD size);
187 HRESULT GetDescription(char *desc, DWORD size);
190 HRESULT EnumComponents(IEnumCifComponents **, DWORD filter, void *pv);
191 DWORD GetCurrentPriority();
197 pointer_default(unique)
199interface ICifRWGroup : ICifGroup
201 HRESULT SetDescription(const char *desc);
202 HRESULT SetPriority(DWORD priority);
203 HRESULT SetDetails(const char *details);
209 pointer_default(unique)
211interface IEnumCifGroups : IUnknown
213 HRESULT Next(ICifGroup **);
220 pointer_default(unique)
224 HRESULT GetID(char *id, DWORD size);
225 HRESULT GetDescription(char *desc, DWORD size);
226 HRESULT GetDetails(char *details, DWORD size);
228 HRESULT EnumComponents(IEnumCifComponents **, DWORD filter, void *pv);
234 pointer_default(unique)
236interface ICifRWMode : ICifMode
238 HRESULT SetDescription(const char *desc);
239 HRESULT SetDetails(const char *details);
245 pointer_default(unique)
247interface IEnumCifModes : IUnknown
249 HRESULT Next(ICifMode **);
257 DWORD dwWinDriveSize;
258 DWORD dwDownloadSize;
259 DWORD dwDependancySize;
260 DWORD dwInstallDriveReq;
262 DWORD dwDownloadDriveReq;
265 char chDownloadDrive;
266 DWORD dwTotalDownloadSize;
272 DWORD dwDownloadKBRemaining;
273 DWORD dwInstallKBRemaining;
274 DWORD dwDownloadSecsRemaining;
275 DWORD dwInstallSecsRemaining;
279 uuid(6e449688-c509-11cf-aafa-00aa00b6015c),
282interface ICifFile : IUnknown
284 HRESULT EnumComponents(IEnumCifComponents **enum_components, DWORD filter, void *pv);
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);
290 HRESULT GetDescription(char *desc, DWORD size);
291 HRESULT GetDetDlls(char *dlls, DWORD size);
297 pointer_default(unique)
299interface ICifRWFile : ICifFile
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);
312 uuid(6e449685-c509-11cf-aafa-00aa00b6015c),
315interface IInstallEngineCallback : IUnknown
317 HRESULT OnEngineStatusChange(DWORD status, DWORD substatus);
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);
324 HRESULT OnEngineProblem(DWORD problem, DWORD *action);
328 uuid(6e449684-c509-11cf-aafa-00aa00b6015c),
331interface IInstallEngine : IUnknown
333 HRESULT GetEngineStatus(DWORD *status);
334 HRESULT SetCifFile(const char *cab_name, const char *cif_name);
335 HRESULT DownloadComponents(DWORD flags);
336 HRESULT InstallComponents(DWORD flags);
337 HRESULT EnumInstallIDs(UINT index, char **id);
338 HRESULT EnumDownloadIDs(UINT index, char **id);
339 HRESULT IsComponentInstalled(const char *id, DWORD *status);
340 HRESULT RegisterInstallEngineCallback(IInstallEngineCallback *callback);
341 HRESULT UnregisterInstallEngineCallback();
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);
348 HRESULT SetInstallDrive(char drive);
349 HRESULT SetInstallOptions(DWORD flags);
350 HRESULT SetHWND(HWND hwnd);
351 HRESULT SetIStream(IStream *stream);
352 HRESULT Abort(DWORD flags);
358 uuid(6e449689-c509-11cf-aafa-00aa00b6015c),
361interface IInstallEngine2 : IInstallEngine
363 HRESULT SetLocalCif(const char *cif);
364 HRESULT GetICifFile(ICifFile **cif_file);
368 uuid(6e449687-c509-11cf-aafa-00aa00b6015c),
371interface IInstallEngineTiming : IUnknown
373 HRESULT GetRates(DWORD *download, DWORD *install);
374 HRESULT GetInstallProgress(INSTALLPROGRESS *progress);
378 helpstring("Microsoft Active Setup Engine"),
379 threading(apartment),
380 uuid(6e449686-c509-11cf-aafa-00aa00b6015c)
382coclass InstallEngine { }
385 helpstring("Download Site Manager"),
386 threading(apartment),
387 uuid(bfc880f1-7484-11d0-8309-00aa00b6015c)
389coclass DownloadSiteMgr { }
391cpp_quote("HRESULT WINAPI GetICifFileFromFile(ICifFile **, const char *);")
392cpp_quote("HRESULT WINAPI GetICifRWFileFromFile(ICifRWFile **, const char *);")
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const