ReactOS  0.4.15-dev-4934-gfd1e799
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"
25 import "unknwn.idl";
26 import "wtypes.idl";
27 import "objidl.idl";
28 import "oaidl.idl";
29 
30 [
31  uuid(000c101c-0000-0000-c000-000000000046),
33  object
34 ]
35 interface IMsiServer : IUnknown
36 {
37  /* FIXME: methods */
38 }
39 
40 [
41  uuid(000c101d-0000-0000-c000-000000000046),
43  object
44 ]
45 interface IMsiMessage : IUnknown
46 {
47  /* FIXME: methods */
48 }
49 
50 [
51  uuid(000c1025-0000-0000-c000-000000000046),
53  object
54 ]
56 {
57  /* FIXME: methods */
58 }
59 
60 [
61  uuid(000c1033-0000-0000-c000-000000000046),
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 ]
75 coclass MsiServer { interface IMsiServer; }
76 
77 [
78  helpstring("Microsoft Windows Installer Message RPC"),
79  progid("WindowsInstaller.Message"),
80  uuid(000c101d-0000-0000-c000-000000000046)
81 ]
82 coclass MsiServerMessage { interface IMsiMessage; }
83 
84 [
85  threading(both),
86  uuid(000c103e-0000-0000-c000-000000000046)
87 ]
88 coclass PSFactoryBuffer { interface IPSFactoryBuffer; }
89 
90 [
91  helpstring("Microsoft Windows Installer"),
93  progid("WindowsInstaller.Installer"),
94  uuid(000c1090-0000-0000-c000-000000000046)
95 ]
96 coclass MsiInstaller { interface Installer; }
97 
98 [
99  uuid(000c1082-0000-0000-c000-000000000046)
100 ]
101 coclass MsiTransform { }
102 
103 [
104  uuid(000c1084-0000-0000-c000-000000000046)
105 ]
106 coclass MsiDatabase { }
107 
108 [
109  uuid(000c1086-0000-0000-c000-000000000046)
110 ]
111 coclass MsiPatch { }
112 
113 [
115  uuid(000c1094-0000-0000-c000-000000000046)
116 ]
117 /* FIXME: unidentified class */
118 coclass 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 {
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(
196  [in] BSTR DatabasePath,
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,
213  [in] BSTR Key,
214  [in, optional] VARIANT Value);
215  [id(DISPID_INSTALLER_ENVIRONMENT), propget]
216  BSTR Environment([in] BSTR Variable);
217  [id(DISPID_INSTALLER_ENVIRONMENT), propput]
218  void Environment(
219  [in] BSTR Variable,
220  [in] BSTR rhs);
222  long FileAttributes([in] BSTR FilePath);
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);
232  [id(DISPID_INSTALLER_PRODUCTINFO), propget]
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:
248  [id(DISPID_RECORD_STRINGDATA), propget]
249  BSTR StringData([in] long Field);
250  [id(DISPID_RECORD_STRINGDATA), propput]
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:
270  IUnknown _NewEnum();
271  [id(DISPID_LIST_ITEM), propget]
272  BSTR Item(long Index);
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:
296  [id(DISPID_SUMMARYINFO_PROPERTY), propget]
297  VARIANT Property([in] long Pid);
298  [id(DISPID_SUMMARYINFO_PROPERTY), propput]
299  void Property(
300  [in] long Pid,
301  [in] VARIANT rhs);
303  long PropertyCount();
304  }
305 
306  typedef enum {
307  msiViewModifySeek = -1,
313  msiViewModifyMerge = 5,
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);
330  Record* Fetch();
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:
345  View* OpenView([in] BSTR Sql);
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 {
398 
399  typedef enum {
401  msiMessageTypeError = 0x01000000,
402  msiMessageTypeWarning = 0x02000000,
403  msiMessageTypeUser = 0x03000000,
404  msiMessageTypeInfo = 0x04000000,
421  } MsiMessageType;
422 
423  [ uuid(000C109E-0000-0000-C000-000000000046) ]
424  dispinterface Session
425  {
426  properties:
427  methods:
428  [id(DISPID_SESSION_INSTALLER), propget]
429  Installer *Installer();
430  [id(DISPID_SESSION_PROPERTY), propget]
431  BSTR Property([in] BSTR Name);
432  [id(DISPID_SESSION_PROPERTY), propput]
433  void Property(
434  [in] BSTR Name,
435  [in] BSTR rhs);
436  [id(DISPID_SESSION_LANGUAGE), propget]
437  long Language();
438  [id(DISPID_SESSION_MODE), propget]
440  [id(DISPID_SESSION_MODE), propput]
441  void Mode(
442  [in] MsiRunMode Flag,
443  [in] VARIANT_BOOL rhs);
444  [id(DISPID_SESSION_DATABASE), propget]
445  Database* Database();
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 }
WindowsInstaller::enum msiDoActionStatusUserExit
#define DISPID_SESSION_LANGUAGE
#define DISPID_INSTALLER_OPENPACKAGE
PWSTR DatabasePath
Definition: database.c:31
PVOID PVOID PWCHAR PVOID Environment
Definition: env.c:47
WindowsInstaller::enum msiDoActionStatusWrongState
PCWSTR Expression
#define DISPID_INSTALLER_OPENPRODUCT
WindowsInstaller::enum msiDoActionStatusFinished
coclass MSXML2::XSLTemplate40 object
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
Definition: wdfrequest.h:306
_In_ ULONG Mode
Definition: hubbusif.h:303
#define DISPID_INSTALLER_PRODUCTS
#define DISPID_INSTALLER_FILESIZE
#define DISPID_INSTALLER_ENABLELOG
#define DISPID_RECORD_INTEGERDATA
#define DISPID_INSTALLER_SUMMARYINFORMATION
#define DISPID_SESSION_EVALUATECONDITION
#define DISPID_INSTALLER_OPENDATABASE
WindowsInstaller::enum msiDoActionStatusBadActionData
#define DISPID_LIST_ITEM
_In_ ULONG const _In_ FEATURE_NUMBER const Feature
Definition: cdrom.h:1075
#define DISPID_INSTALLER_CREATERECORD
#define DISPID_SESSION_PROPERTY
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:55
#define DISPID_INSTALLER_FILEVERSION
#define DISPID_SESSION_DOACTION
#define DISPID_LIST__NEWENUM
#define DISPID_INSTALLER_UILEVEL
OLECHAR * BSTR
Definition: compat.h:2152
#define DISPID_SESSION_FEATURECURRENTSTATE
FT_Library library
Definition: cffdrivr.c:654
#define DISPID_LIST_COUNT
#define DISPID_SUMMARYINFO_PROPERTYCOUNT
short VARIANT_BOOL
Definition: compat.h:2149
#define DISPID_INSTALLER_FILEATTRIBUTES
coclass TestTypelib::Coclass3 oleautomation
Definition: tmarshal.idl:202
PCWSTR FilePath
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD * Record
Definition: ketypes.h:256
WindowsInstaller::enum msiDoActionStatusSuccess
#define DISPID_INSTALLER_VERSION
WindowsInstaller::enum _MsiViewModify
static const WCHAR version[]
Definition: asmname.c:66
_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:1230
Definition: msg.h:41
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
Definition: wdfregistry.h:406
root entry for file system trees
Definition: entries.h:148
#define DISPID_SUMMARYINFO_PROPERTY
int Count
Definition: noreturn.cpp:7
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
Definition: wdfdevice.h:3531
_In_ WDFCOLLECTION _In_ ULONG Index
#define DISPID_VIEW_CLOSE
#define DISPID_INSTALLER_PRODUCTINFO
#define DISPID_RECORD_STRINGDATA
Definition: xml2sdb.h:79
#define DISPID_SESSION_INSTALLER
IN PVOID IN PVOID IN USHORT Version
Definition: pci.h:361
coclass PSFactoryBuffer threading(apartment)
return pDmaTrans Execute(Context)
coclass MsiServer progid("WindowsInstaller.Message")
#define DISPID_SESSION_MODE
CHAR Message[80]
Definition: alive.c:5
#define DISPID_INSTALLER_LASTERRORRECORD
coclass MsiServer helpstring("Microsoft Windows Installer Message RPC")
#define DISPID_SESSION_SETINSTALLLEVEL
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
Definition: fsrtlfuncs.h:108
#define DISPID_VIEW_MODIFY
#define DISPID_INSTALLER_PRODUCTSTATE
#define DISPID_RECORD_FIELDCOUNT
#define DISPID_INSTALLER_RELATEDPRODUCTS
#define DISPID_VIEW_FETCH
#define DISPID_DATABASE_SUMMARYINFORMATION
_In_ DWORD Property
Definition: setupapi.h:1550
GLuint in
Definition: glext.h:9616
Definition: sacdrv.h:268
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
Definition: wdfiotarget.h:506
#define DISPID_DATABASE_OPENVIEW
#define DISPID_SESSION_FEATUREREQUESTSTATE
_In_ WDFCOLLECTION _In_ WDFOBJECT Item
WindowsInstaller::enum msiDoActionStatusFailure
#define DISPID_VIEW_EXECUTE
#define DISPID_INSTALLER_ENVIRONMENT
WindowsInstaller::enum msiDoActionStatusSuspend
GLenum GLuint id
Definition: glext.h:5579
static void DoAction(HWND hwnd, INT iAction, WPARAM wParam, LPARAM lParam)
#define DISPID_SESSION_DATABASE
#define DISPID_INSTALLER_INSTALLPRODUCT
#define DISPID_SESSION_MESSAGE
#define DISPID_INSTALLER_REGISTRYVALUE
coclass MsiServer uuid(000c101d-0000-0000-c000-000000000046)] coclass MsiServerMessage
Definition: msiserver.idl:80