wintrust: Implement WintrustLoadFunctionPointers.
[wine] / dlls / msi / msiserver.idl
1 /*
2  * Copyright (C) 2007 Mike McCormack
3  *
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.
8  *
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.
13  *
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18
19 #include "msiserver_dispids.h"
20 import "unknwn.idl";
21 import "wtypes.idl";
22 import "objidl.idl";
23 import "oaidl.idl";
24
25 [ uuid(000C1092-0000-0000-C000-000000000046), version(1.0) ]
26 library WindowsInstaller
27 {
28     dispinterface Installer;
29     dispinterface Record;
30     dispinterface Session;
31     dispinterface Database;
32     dispinterface SummaryInfo;
33     dispinterface View;
34     dispinterface UIPreview;
35     dispinterface FeatureInfo;
36     dispinterface RecordList;
37     dispinterface StringList;
38     dispinterface Product;
39     dispinterface Patch;
40
41     [ uuid(000C1090-0000-0000-C000-000000000046) ]
42     dispinterface Installer
43     {
44     properties:
45     methods:
46         [id(DISPID_INSTALLER_OPENPACKAGE)]
47             Session* OpenPackage(
48                 [in] VARIANT Path,
49                 [in, optional, defaultvalue(0)] long OptionalOption);
50     }
51
52     [ uuid(000C1093-0000-0000-C000-000000000046) ]
53     dispinterface Record
54     {
55     properties:
56     methods:
57         [id(DISPID_RECORD_STRINGDATA), propget]
58             BSTR StringData([in] long FieldNumber);
59         [id(DISPID_RECORD_STRINGDATA), propput]
60             void StringData(
61                 [in] long FieldNumber,
62                 [in] BSTR rhs);
63     }
64
65     [ uuid(000C1095-0000-0000-C000-000000000046) ]
66     dispinterface StringList
67     {
68         properties:
69         methods:
70     }
71
72     [ uuid(000C1096-0000-0000-C000-000000000046) ]
73     dispinterface RecordList
74     {
75         properties:
76         methods:
77     }
78
79     [ uuid(000C109A-0000-0000-C000-000000000046) ]
80     dispinterface UIPreview
81     {
82         properties:
83         methods:
84     }
85
86     [ uuid(000C109B-0000-0000-C000-000000000046) ]
87     dispinterface SummaryInfo
88     {
89         properties:
90         methods:
91     }
92
93     [ uuid(000C109C-0000-0000-C000-000000000046) ]
94     dispinterface View
95     {
96         properties:
97         methods:
98         [id(DISPID_VIEW_EXECUTE)]
99             void Execute([in, optional, defaultvalue(0)] Record *OptionalRecord);
100         [id(DISPID_VIEW_FETCH)]
101             Record* Fetch();
102         [id(DISPID_VIEW_CLOSE)]
103             void Close();
104     }
105
106     [ uuid(000C109D-0000-0000-C000-000000000046) ]
107     dispinterface Database
108     {
109         properties:
110         methods:
111         [id(DISPID_DATABASE_OPENVIEW)]
112             View* OpenView([in] BSTR QueryString);
113     }
114
115     typedef enum {
116         msiDoActionStatusNoAction = 0,
117         msiDoActionStatusSuccess = 1,
118         msiDoActionStatusUserExit = 2,
119         msiDoActionStatusFailure = 3,
120         msiDoActionStatusSuspend = 4,
121         msiDoActionStatusFinished = 5,
122         msiDoActionStatusWrongState = 6,
123         msiDoActionStatusBadActionData = 7
124     } MsiDoActionStatus;
125
126     typedef enum {
127         msiRunModeAdmin = 0,
128         msiRunModeAdvertise = 1,
129         msiRunModeMaintenance = 2,
130         msiRunModeRollbackEnabled = 3,
131         msiRunModeLogEnabled = 4,
132         msiRunModeOperations = 5,
133         msiRunModeRebootAtEnd = 6,
134         msiRunModeRebootNow = 7,
135         msiRunModeCabinet = 8,
136         msiRunModeSourceShortNames = 9,
137         msiRunModeTargetShortNames = 10,
138         msiRunModeWindows9x = 12,
139         msiRunModeZawEnabled = 13,
140         msiRunModeScheduled = 16,
141         msiRunModeRollback = 17,
142         msiRunModeCommit = 18
143     } MsiRunMode;
144
145     typedef enum {
146         msiInstallStateNotUsed = -7,
147         msiInstallStateBadConfig = -6,
148         msiInstallStateIncomplete = -5,
149         msiInstallStateSourceAbsent = -4,
150         msiInstallStateInvalidArg = -2,
151         msiInstallStateUnknown = -1,
152         msiInstallStateBroken = 0,
153         msiInstallStateAdvertised = 1,
154         msiInstallStateRemoved = 1,
155         msiInstallStateAbsent = 2,
156         msiInstallStateLocal = 3,
157         msiInstallStateSource = 4,
158         msiInstallStateDefault = 5
159     } MsiInstallState;
160
161     [ uuid(000C109E-0000-0000-C000-000000000046) ]
162     dispinterface Session
163     {
164     properties:
165     methods:
166         [id(DISPID_SESSION_PROPERTY), propget]
167             BSTR Property([in] BSTR PropertyName);
168         [id(DISPID_SESSION_PROPERTY), propput]
169             void Property(
170                 [in] BSTR PropertyName,
171                 [in] BSTR rhs);
172         [id(DISPID_SESSION_LANGUAGE), propget]
173             long Language();
174         [id(DISPID_SESSION_MODE), propget]
175             VARIANT_BOOL Mode([in] MsiRunMode runMode);
176         [id(DISPID_SESSION_MODE), propput]
177             void Mode(
178                 [in] MsiRunMode runMode,
179                 [in] VARIANT_BOOL rhs);
180         [id(DISPID_SESSION_DATABASE), propget]
181             Database* Database();
182         [id(DISPID_SESSION_DOACTION)]
183             MsiDoActionStatus DoAction([in] BSTR ActionString);
184         [id(DISPID_SESSION_FEATURECURRENTSTATE), propget]
185             MsiInstallState FeatureCurrentState([in] BSTR FeatureName);
186         [id(DISPID_SESSION_FEATUREREQUESTSTATE), propget]
187             MsiInstallState FeatureRequestState([in] BSTR FeatureName);
188         [id(DISPID_SESSION_FEATUREREQUESTSTATE), propput]
189             void FeatureRequestState(
190                 [in] BSTR FeatureName,
191                 [in] MsiInstallState rhs);
192         [id(DISPID_SESSION_SETINSTALLLEVEL)]
193             void SetInstallLevel([in] long InstallLevel);
194     }
195
196     [ uuid(000C109F-0000-0000-C000-000000000046) ]
197     dispinterface FeatureInfo
198     {
199         properties:
200         methods:
201     }
202
203     [ uuid(000C10A0-0000-0000-C000-000000000046) ]
204     dispinterface Product
205     {
206         properties:
207         methods:
208     }
209
210     [ uuid(000C10A1-0000-0000-C000-000000000046) ]
211     dispinterface Patch
212     {
213         properties:
214         methods:
215     }
216 }