ReactOS 0.4.15-dev-7788-g1ad9096
msiserver.idl
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007 Mike McCormack
3 * Copyright (C) 2007 Misha Koshelev
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#pragma makedep ident
21#pragma makedep register
22#pragma makedep regtypelib
23
24#include "msiserver_dispids.h"
25import "unknwn.idl";
26import "wtypes.idl";
27import "objidl.idl";
28import "oaidl.idl";
29
30[
31 uuid(000c101c-0000-0000-c000-000000000046),
32 oleautomation,
33 object
34]
36{
37 /* FIXME: methods */
38}
39
40[
41 uuid(000c101d-0000-0000-c000-000000000046),
42 oleautomation,
43 object
44]
46{
47 /* FIXME: methods */
48}
49
50[
51 uuid(000c1025-0000-0000-c000-000000000046),
52 oleautomation,
53 object
54]
56{
57 /* FIXME: methods */
58}
59
60[
61 uuid(000c1033-0000-0000-c000-000000000046),
62 oleautomation,
63 object
64]
66{
67 /* FIXME: methods */
68}
69
70[
71 helpstring("Msi install server"),
72 progid("IMsiServer"),
73 uuid(000c101c-0000-0000-c000-000000000046)
74]
75coclass MsiServer { interface IMsiServer; }
76
77[
78 helpstring("Microsoft Windows Installer Message RPC"),
79 progid("WindowsInstaller.Message"),
80 uuid(000c101d-0000-0000-c000-000000000046)
81]
82coclass MsiServerMessage { interface IMsiMessage; }
83
84[
85 threading(both),
86 uuid(000c103e-0000-0000-c000-000000000046)
87]
88coclass PSFactoryBuffer { interface IPSFactoryBuffer; }
89
90[
91 helpstring("Microsoft Windows Installer"),
93 progid("WindowsInstaller.Installer"),
94 uuid(000c1090-0000-0000-c000-000000000046)
95]
96coclass MsiInstaller { interface Installer; }
97
98[
99 uuid(000c1082-0000-0000-c000-000000000046)
100]
101coclass MsiTransform { }
102
103[
104 uuid(000c1084-0000-0000-c000-000000000046)
105]
106coclass MsiDatabase { }
107
108[
109 uuid(000c1086-0000-0000-c000-000000000046)
110]
111coclass MsiPatch { }
112
113[
115 uuid(000c1094-0000-0000-c000-000000000046)
116]
117/* FIXME: unidentified class */
118coclass MsiServerX3 { interface IMsiServer; }
119
120[ uuid(000C1092-0000-0000-C000-000000000046), version(1.0) ]
122{
123 dispinterface Installer;
124 dispinterface Record;
125 dispinterface Session;
126 dispinterface Database;
127 dispinterface SummaryInfo;
128 dispinterface View;
129 dispinterface UIPreview;
130 dispinterface FeatureInfo;
131 dispinterface RecordList;
132 dispinterface StringList;
133 dispinterface Product;
134 dispinterface Patch;
135
136 typedef enum {
150 } MsiInstallState;
151
152 typedef enum {
159 } MsiOpenDatabaseMode;
160
161 typedef enum {
172 } MsiUILevel;
173
174 [ uuid(000C1090-0000-0000-C000-000000000046) ]
175 dispinterface Installer
176 {
177 properties:
179 MsiUILevel UILevel;
180 methods:
182 Record *CreateRecord([in] long Count);
184 Session* OpenPackage(
185 [in] VARIANT PackagePath,
186 [in, defaultvalue(0)] long Options);
188 Session* OpenProduct(
189 [in] BSTR ProductCode);
191 SummaryInfo* SummaryInformation(
192 [in] BSTR PackagePath,
193 [in, defaultvalue(0)] long UpdateCount);
195 Database *OpenDatabase(
197 [in] VARIANT OpenMode);
199 void EnableLog(
200 [in] BSTR LogMode,
201 [in] BSTR LogFile);
203 void InstallProduct(
204 [in] BSTR PackagePath,
205 [in, defaultvalue("0")] BSTR PropertyValues);
207 BSTR Version();
209 Record* LastErrorRecord();
211 BSTR RegistryValue(
212 [in] VARIANT Root,
216 BSTR Environment([in] BSTR Variable);
218 void Environment(
219 [in] BSTR Variable,
220 [in] BSTR rhs);
224 long FileSize([in] BSTR FilePath);
226 BSTR FileVersion(
227 [in] BSTR FilePath,
228 [in, optional] VARIANT Language);
230 MsiInstallState ProductState(
231 [in] BSTR Product);
233 BSTR ProductInfo(
234 [in] BSTR Product,
235 [in] BSTR Attribute);
236 [id(DISPID_INSTALLER_PRODUCTS), propget]
237 StringList *Products();
239 StringList *RelatedProducts(
240 [in] BSTR UpgradeCode);
241 }
242
243 [ uuid(000C1093-0000-0000-C000-000000000046) ]
244 dispinterface Record
245 {
246 properties:
247 methods:
249 BSTR StringData([in] long Field);
251 void StringData(
252 [in] long Field,
253 [in] BSTR rhs);
254 [id(DISPID_RECORD_INTEGERDATA), propget]
255 long IntegerData([in] long Field);
256 [id(DISPID_RECORD_INTEGERDATA), propput]
257 void IntegerData(
258 [in] long Field,
259 [in] long rhs);
260 [id(DISPID_RECORD_FIELDCOUNT), propget]
261 long FieldCount();
262 }
263
264 [ uuid(000C1095-0000-0000-C000-000000000046) ]
265 dispinterface StringList
266 {
267 properties:
268 methods:
273 [id(DISPID_LIST_COUNT), propget]
274 long Count();
275 }
276
277 [ uuid(000C1096-0000-0000-C000-000000000046) ]
278 dispinterface RecordList
279 {
280 properties:
281 methods:
282 }
283
284 [ uuid(000C109A-0000-0000-C000-000000000046) ]
285 dispinterface UIPreview
286 {
287 properties:
288 methods:
289 }
290
291 [ uuid(000C109B-0000-0000-C000-000000000046) ]
292 dispinterface SummaryInfo
293 {
294 properties:
295 methods:
297 VARIANT Property([in] long Pid);
299 void Property(
300 [in] long Pid,
301 [in] VARIANT rhs);
303 long PropertyCount();
304 }
305
306 typedef enum {
307 msiViewModifySeek = -1,
320 } _MsiViewModify; /* Added underscore to avoid conflict with function name */
321
322 [ uuid(000C109C-0000-0000-C000-000000000046) ]
323 dispinterface View
324 {
325 properties:
326 methods:
328 void Execute([in, defaultvalue(0)] Record *Params);
332 void Modify(
334 Record *Record);
336 void Close();
337 }
338
339 [ uuid(000C109D-0000-0000-C000-000000000046) ]
340 dispinterface Database
341 {
342 properties:
343 methods:
347 SummaryInfo *SummaryInformation([in, defaultvalue(0)] long UpdateCount);
348 }
349
350 typedef enum {
351 msiDoActionStatusNoAction = 0,
359 } MsiDoActionStatus;
360
361 typedef enum {
378 } MsiRunMode;
379
380 typedef enum {
385 } _MsiEvaluateCondition; /* Added underscore to avoid conflict with function name */
386
387 typedef enum {
397 } MsiMessageStatus;
398
399 typedef enum {
403 msiMessageTypeUser = 0x03000000,
404 msiMessageTypeInfo = 0x04000000,
421 } MsiMessageType;
422
423 [ uuid(000C109E-0000-0000-C000-000000000046) ]
424 dispinterface Session
425 {
426 properties:
427 methods:
430 [id(DISPID_SESSION_PROPERTY), propget]
434 [in] BSTR Name,
435 [in] BSTR rhs);
436 [id(DISPID_SESSION_LANGUAGE), propget]
437 long Language();
441 void Mode(
447 MsiDoActionStatus DoAction([in] BSTR Action);
449 _MsiEvaluateCondition EvaluateCondition([in] BSTR Expression);
452 [in] MsiMessageType Kind,
453 [in] Record *Record);
455 MsiInstallState FeatureCurrentState([in] BSTR Feature);
457 MsiInstallState FeatureRequestState([in] BSTR Feature);
459 void FeatureRequestState(
460 [in] BSTR Feature,
461 [in] MsiInstallState rhs);
463 void SetInstallLevel([in] long Level);
464 }
465
466 [ uuid(000C109F-0000-0000-C000-000000000046) ]
467 dispinterface FeatureInfo
468 {
469 properties:
470 methods:
471 }
472
473 [ uuid(000C10A0-0000-0000-C000-000000000046) ]
474 dispinterface Product
475 {
476 properties:
477 methods:
478 }
479
480 [ uuid(000C10A1-0000-0000-C000-000000000046) ]
481 dispinterface Patch
482 {
483 properties:
484 methods:
485 }
486}
PCWSTR Expression
PCWSTR FilePath
@ optional
Definition: SystemMenu.c:34
_In_ ULONG const _In_ FEATURE_NUMBER const Feature
Definition: cdrom.h:1077
FT_Library library
Definition: cffdrivr.c:654
OLECHAR * BSTR
Definition: compat.h:2293
short VARIANT_BOOL
Definition: compat.h:2290
static const WCHAR version[]
Definition: asmname.c:66
static const WCHAR Message[]
Definition: register.c:74
PWSTR DatabasePath
Definition: database.c:31
#define progid(str)
Definition: exdisp.idl:31
#define threading(model)
Definition: exdisp.idl:30
_Must_inspect_result_ _In_opt_ PFLT_INSTANCE _Out_ PHANDLE _In_ ACCESS_MASK _In_ POBJECT_ATTRIBUTES _Out_ PIO_STATUS_BLOCK _In_opt_ PLARGE_INTEGER _In_ ULONG FileAttributes
Definition: fltkernel.h:1236
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
Definition: fsrtlfuncs.h:108
GLuint in
Definition: glext.h:9616
GLuint id
Definition: glext.h:5910
_In_ ULONG Mode
Definition: hubbusif.h:303
BSTR StringData([in] long Field)
void Execute([in, defaultvalue(0)] Record *Params)
void Modify([in] _MsiViewModify Mode, Record *Record)
View * OpenView([in] BSTR Sql)
VARIANT Property([in] long Pid)
Definition: msctf.idl:550
PVOID PVOID PWCHAR PVOID Environment
Definition: env.c:47
coclass MsiServer helpstring("Microsoft Windows Installer Message RPC")
#define DISPID_VIEW_CLOSE
#define DISPID_RECORD_INTEGERDATA
#define DISPID_LIST_COUNT
#define DISPID_INSTALLER_UILEVEL
#define DISPID_SESSION_DOACTION
#define DISPID_INSTALLER_LASTERRORRECORD
#define DISPID_INSTALLER_FILEVERSION
#define DISPID_SESSION_DATABASE
#define DISPID_DATABASE_OPENVIEW
#define DISPID_INSTALLER_OPENPRODUCT
#define DISPID_INSTALLER_VERSION
#define DISPID_SESSION_FEATURECURRENTSTATE
#define DISPID_INSTALLER_RELATEDPRODUCTS
#define DISPID_SESSION_PROPERTY
#define DISPID_RECORD_STRINGDATA
#define DISPID_RECORD_FIELDCOUNT
#define DISPID_VIEW_MODIFY
#define DISPID_SESSION_INSTALLER
#define DISPID_INSTALLER_PRODUCTINFO
#define DISPID_INSTALLER_PRODUCTS
#define DISPID_INSTALLER_REGISTRYVALUE
#define DISPID_SESSION_SETINSTALLLEVEL
#define DISPID_VIEW_EXECUTE
#define DISPID_INSTALLER_FILEATTRIBUTES
#define DISPID_VIEW_FETCH
#define DISPID_LIST__NEWENUM
#define DISPID_INSTALLER_ENABLELOG
#define DISPID_DATABASE_SUMMARYINFORMATION
#define DISPID_SUMMARYINFO_PROPERTY
#define DISPID_INSTALLER_CREATERECORD
#define DISPID_SESSION_MESSAGE
#define DISPID_INSTALLER_INSTALLPRODUCT
#define DISPID_SUMMARYINFO_PROPERTYCOUNT
#define DISPID_INSTALLER_OPENPACKAGE
#define DISPID_SESSION_MODE
#define DISPID_SESSION_LANGUAGE
#define DISPID_INSTALLER_PRODUCTSTATE
#define DISPID_SESSION_EVALUATECONDITION
#define DISPID_SESSION_FEATUREREQUESTSTATE
#define DISPID_INSTALLER_OPENDATABASE
#define DISPID_INSTALLER_ENVIRONMENT
#define DISPID_INSTALLER_FILESIZE
#define DISPID_INSTALLER_SUMMARYINFORMATION
#define DISPID_LIST_ITEM
@ msiMessageTypeAbortRetryIgnore
Definition: msiserver.idl:414
@ msiMessageTypeOutOfDiskSpace
Definition: msiserver.idl:407
@ msiOpenDatabaseModeCreateDirect
Definition: msiserver.idl:157
@ msiOpenDatabaseModePatchFile
Definition: msiserver.idl:158
int Count
Definition: noreturn.cpp:7
Definition: xml2sdb.h:80
root entry for file system trees
Definition: entries.h:148
_In_ WDFCOLLECTION _In_ ULONG Index
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
Definition: wdfdevice.h:3534
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
Definition: wdffdo.h:469
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
Definition: wdfiotarget.h:510
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:413
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:308
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:56
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD * Record
Definition: ketypes.h:268