source: trunk/include/win/wine/obj_property.h

Last change on this file was 6952, checked in by sandervl, 24 years ago

Wine 20011004 resync

File size: 20.7 KB
Line 
1/*
2 * Defines the COM interfaces and APIs from ocidl.h related to property
3 *
4 * Depends on 'obj_base.h'.
5 */
6
7#ifndef __WINE_WINE_OBJ_PROPERTY_H
8#define __WINE_WINE_OBJ_PROPERTY_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif /* defined(__cplusplus) */
13
14/*****************************************************************************
15 * Declare the structures
16 */
17typedef struct tagPROPPAGEINFO
18{
19 ULONG cb;
20 LPOLESTR pszTitle;
21 SIZE size;
22 LPOLESTR pszDocString;
23 LPOLESTR pszHelpFile;
24 DWORD dwHelpContext;
25} PROPPAGEINFO, *LPPROPPAGEINFO;
26
27typedef enum tagPROPPAGESTATUS
28{
29 PROPPAGESTATUS_DIRTY = 0x1,
30 PROPPAGESTATUS_VALIDATE = 0x2,
31 PROPPAGESTATUS_CLEAN = 0x4
32} PROPPAGESTATUS;
33
34typedef struct tagCAUUID
35{
36 ULONG cElems;
37 GUID* pElems;
38} CAUUID, *LPCAUUID;
39
40typedef struct tagCALPOLESTR
41{
42 ULONG cElems;
43 LPOLESTR *pElems;
44} CALPOLESTR, *LPCALPOLESTR;
45
46typedef struct tagCADWORD
47{
48 ULONG cElems;
49 DWORD *pElems;
50} CADWORD, *LPCADWORD;
51
52
53typedef enum tagPROPBAG2_TYPE
54{
55 PROPBAG2_TYPE_UNDEFINED = 0,
56 PROPBAG2_TYPE_DATA = 1,
57 PROPBAG2_TYPE_URL = 2,
58 PROPBAG2_TYPE_OBJECT = 3,
59 PROPBAG2_TYPE_STREAM = 4,
60 PROPBAG2_TYPE_STORAGE = 5,
61 PROPBAG2_TYPE_MONIKER = 6
62} PROPBAG2_TYPE;
63
64typedef struct tagPROPBAG2
65{
66 DWORD dwType;
67 VARTYPE vt;
68 CLIPFORMAT cfType;
69 DWORD dwHint;
70 LPOLESTR pstrName;
71 CLSID clsid;
72} PROPBAG2;
73
74/*****************************************************************************
75 * Predeclare the interfaces
76 */
77DEFINE_GUID(IID_IPropertyPage, 0xb196b28dL, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
78typedef struct IPropertyPage IPropertyPage, *LPPROPERTYPAGE;
79
80DEFINE_GUID(IID_IPropertyPage2, 0x01e44665L, 0x24ac, 0x101b, 0x84, 0xed, 0x08, 0x00, 0x2b, 0x2e, 0xc7, 0x13);
81typedef struct IPropertyPage2 IPropertyPage2, *LPPROPERTYPAGE2;
82
83DEFINE_GUID(IID_IPropertyPageSite, 0xb196b28cL, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
84typedef struct IPropertyPageSite IPropertyPageSite, *LPPROPERTYPAGESITE;
85
86DEFINE_GUID(IID_IPropertyNotifySink, 0x9bfbbc02L, 0xeff1, 0x101a, 0x84, 0xed, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
87typedef struct IPropertyNotifySink IPropertyNotifySink, *LPPROPERTYNOTIFYSINK;
88
89DEFINE_GUID(IID_ISimpleFrameSite, 0x742b0e01L, 0x14e6, 0x101b, 0x91, 0x4e, 0x00, 0xaa, 0x00, 0x30, 0x0c, 0xab);
90typedef struct ISimpleFrameSite ISimpleFrameSite, *LPSIMPLEFRAMESITE;
91
92DEFINE_GUID(IID_IPersistStreamInit, 0x7fd52380L, 0x4e07, 0x101b, 0xae, 0x2d, 0x08, 0x00, 0x2b, 0x2e, 0xc7, 0x13);
93typedef struct IPersistStreamInit IPersistStreamInit,*LPPERSISTSTREAMINIT;
94
95DEFINE_GUID(IID_IPersistMemory, 0xbd1ae5e0L, 0xa6ae, 0x11ce, 0xbd, 0x37, 0x50, 0x42, 0x00, 0xc1, 0x00, 0x00);
96typedef struct IPersistMemory IPersistMemory,*LPPERSISTMEMORY;
97
98DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
99typedef struct IPersistPropertyBag IPersistPropertyBag,*LPPERSISTPROPERTYBAG;
100
101DEFINE_GUID(IID_IPersistPropertyBag2, 0x22f55881, 0x280b, 0x11d0, 0xa8, 0xa9, 0x00, 0xa0, 0xc9, 0x0c, 0x20, 0x04);
102typedef struct IPersistPropertyBag2 IPersistPropertyBag2,*LPPERSISTPROPERTYBAG2;
103
104DEFINE_GUID(IID_IErrorLog, 0x3127ca40L, 0x446e, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
105typedef struct IErrorLog IErrorLog,*LPERRORLOG;
106
107DEFINE_GUID(IID_IPropertyBag, 0x55272a00L, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
108typedef struct IPropertyBag IPropertyBag,*LPPROPERTYBAG;
109
110DEFINE_GUID(IID_IPropertyBag2, 0x22f55882, 0x280b, 0x11d0, 0xa8, 0xa9, 0x00, 0xa0, 0xc9, 0x0c, 0x20, 0x04);
111typedef struct IPropertyBag2 IPropertyBag2,*LPPROPERTYBAG2;
112
113DEFINE_GUID(IID_ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
114typedef struct ISpecifyPropertyPages ISpecifyPropertyPages,*LPSPECIFYPROPERTYPAGES;
115
116DEFINE_GUID(IID_IPerPropertyBrowsing, 0xb196b28b, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
117typedef struct IPerPropertyBrowsing IPerPropertyBrowsing,*LPPERPROPERTYBROWSING;
118
119
120/*****************************************************************************
121 * IPropertPage interface
122 */
123#define ICOM_INTERFACE IPropertyPage
124#define IPropertyPage_METHODS \
125 ICOM_METHOD1(HRESULT,SetPageSite, IPropertyPageSite*,pPageSite) \
126 ICOM_METHOD3(HRESULT,Activate, HWND,hWndParent, LPCRECT,pRect, BOOL,bModal) \
127 ICOM_METHOD (HRESULT,Deactivate) \
128 ICOM_METHOD1(HRESULT,GetPageInfo, PROPPAGEINFO*,pPageInfo) \
129 ICOM_METHOD2(HRESULT,SetObjects, ULONG,cObjects, IUnknown**,ppUnk) \
130 ICOM_METHOD1(HRESULT,Show, UINT,nCmdShow) \
131 ICOM_METHOD1(HRESULT,Move, LPCRECT,pRect) \
132 ICOM_METHOD (HRESULT,IsPageDirty) \
133 ICOM_METHOD (HRESULT,Apply) \
134 ICOM_METHOD1(HRESULT,Help, LPCOLESTR,pszHelpDir) \
135 ICOM_METHOD1(HRESULT,TranslateAccelerator, MSG*,pMsg)
136#define IPropertyPage_IMETHODS \
137 IUnknown_IMETHODS \
138 IPropertyPage_METHODS
139ICOM_DEFINE(IPropertyPage,IUnknown)
140#undef ICOM_INTERFACE
141
142/*** IUnknown methods ***/
143#define IPropertyPage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
144#define IPropertyPage_AddRef(p) ICOM_CALL (AddRef,p)
145#define IPropertyPage_Release(p) ICOM_CALL (Release,p)
146/*** IPropertyPage methods ***/
147#define IPropertyPage_SetPageSite(p,a) ICOM_CALL1(SetPageSite,p,a)
148#define IPropertyPage_Activate(p,a,b,c) ICOM_CALL3(Activate,p,a,b,c)
149#define IPropertyPage_Deactivate(p) ICOM_CALL (Deactivate,p)
150#define IPropertyPage_GetPageInfo(p,a) ICOM_CALL1(GetPageInfo,p,a)
151#define IPropertyPage_SetObjects(p,a,b) ICOM_CALL2(SetObjects,p,a,b)
152#define IPropertyPage_Show(p,a) ICOM_CALL1(Show,p,a)
153#define IPropertyPage_Move(p,a) ICOM_CALL1(Move,p,a)
154#define IPropertyPage_IsPageDirty(p) ICOM_CALL (IsPageDirty,p)
155#define IPropertyPage_Apply(p) ICOM_CALL (Apply,p)
156#define IPropertyPage_Help(p,a) ICOM_CALL1(Help,p,a)
157#define IPropertyPage_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
158
159
160/*****************************************************************************
161 * IPropertPage2 interface
162 */
163#define ICOM_INTERFACE IPropertyPage2
164#define IPropertyPage2_METHODS \
165 ICOM_METHOD1(HRESULT,EditProperty, DISPID,dispID)
166#define IPropertyPage2_IMETHODS \
167 IPropertyPage_IMETHODS \
168 IPropertyPage2_METHODS
169ICOM_DEFINE(IPropertyPage2,IPropertyPage)
170#undef ICOM_INTERFACE
171
172/*** IUnknown methods ***/
173#define IPropertyPage2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
174#define IPropertyPage2_AddRef(p) ICOM_CALL (AddRef,p)
175#define IPropertyPage2_Release(p) ICOM_CALL (Release,p)
176/*** IPropertyPage methods ***/
177#define IPropertyPage2_SetPageSite(p,a) ICOM_CALL1(SetPageSite,p,a)
178#define IPropertyPage2_Activate(p,a,b,c) ICOM_CALL3(Activate,p,a,b,c)
179#define IPropertyPage2_Deactivate(p) ICOM_CALL (Deactivate,p)
180#define IPropertyPage2_GetPageInfo(p,a) ICOM_CALL1(GetPageInfo,p,a)
181#define IPropertyPage2_SetObjects(p,a,b) ICOM_CALL2(SetObjects,p,a,b)
182#define IPropertyPage2_Show(p,a) ICOM_CALL1(Show,p,a)
183#define IPropertyPage2_Move(p,a) ICOM_CALL1(Move,p,a)
184#define IPropertyPage2_IsPageDirty(p) ICOM_CALL (IsPageDirty,p)
185#define IPropertyPage2_Apply(p) ICOM_CALL (Apply,p)
186#define IPropertyPage2_Help(p,a) ICOM_CALL1(Help,p,a)
187#define IPropertyPage2_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
188/*** IPropertyPage2 methods ***/
189#define IPropertyPage2_EditProperty(p,a) ICOM_CALL1(EditProperty,p,a)
190
191
192/*****************************************************************************
193 * IPropertPageSite interface
194 */
195#define ICOM_INTERFACE IPropertyPageSite
196#define IPropertyPageSite_METHODS \
197 ICOM_METHOD1(HRESULT,OnStatusChange, DWORD,dwFlags) \
198 ICOM_METHOD1(HRESULT,GetLocaleID, LCID*,pLocaleID) \
199 ICOM_METHOD1(HRESULT,GetPageContainer, IUnknown**,ppUnk) \
200 ICOM_METHOD1(HRESULT,TranslateAccelerator, MSG*,pMsg)
201#define IPropertyPageSite_IMETHODS \
202 IUnknown_IMETHODS \
203 IPropertyPageSite_METHODS
204ICOM_DEFINE(IPropertyPageSite,IUnknown)
205#undef ICOM_INTERFACE
206
207/*** IUnknown methods ***/
208#define IPropertyPageSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
209#define IPropertyPageSite_AddRef(p) ICOM_CALL (AddRef,p)
210#define IPropertyPageSite_Release(p) ICOM_CALL (Release,p)
211/*** IPropertyPageSite methods ***/
212#define IPropertyPageSite_OnStatusChange(p,a) ICOM_CALL1(OnStatusChange,p,a)
213#define IPropertyPageSite_GetLocaleID(p,a) ICOM_CALL1(GetLocaleID,p,a)
214#define IPropertyPageSite_GetPageContainer(p,a) ICOM_CALL1(GetPageContainer,p,a)
215#define IPropertyPageSite_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
216
217
218/*****************************************************************************
219 * IPropertyNotifySink interface
220 */
221#define ICOM_INTERFACE IPropertyNotifySink
222#define IPropertyNotifySink_METHODS \
223 ICOM_METHOD1(HRESULT,OnChanged, DISPID,dispID) \
224 ICOM_METHOD1(HRESULT,OnRequestEdit, DISPID,dispID)
225#define IPropertyNotifySink_IMETHODS \
226 IUnknown_IMETHODS \
227 IPropertyNotifySink_METHODS
228ICOM_DEFINE(IPropertyNotifySink,IUnknown)
229#undef ICOM_INTERFACE
230
231/*** IUnknown methods ***/
232#define IPropertyNotifySink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
233#define IPropertyNotifySink_AddRef(p) ICOM_CALL (AddRef,p)
234#define IPropertyNotifySink_Release(p) ICOM_CALL (Release,p)
235/*** IPropertyNotifySink methods ***/
236#define IPropertyNotifySink_OnChanged(p,a) ICOM_CALL1(OnChanged,p,a)
237#define IPropertyNotifySink_OnRequestEdit(p,a) ICOM_CALL1(OnRequestEdit,p,a)
238
239
240/*****************************************************************************
241 * IPropertyNotifySink interface
242 */
243#define ICOM_INTERFACE ISimpleFrameSite
244#define ISimpleFrameSite_METHODS \
245 ICOM_METHOD6(HRESULT,PreMessageFilter, HWND,hWnd, UINT,msg, WPARAM,wp, LPARAM,lp, LRESULT*,plResult, DWORD*,pwdCookie) \
246 ICOM_METHOD6(HRESULT,PostMessageFilter, HWND,hWnd, UINT,msg, WPARAM,wp, LPARAM,lp, LRESULT*,plResult, DWORD,pwdCookie)
247#define ISimpleFrameSite_IMETHODS \
248 IUnknown_IMETHODS \
249 ISimpleFrameSite_METHODS
250ICOM_DEFINE(ISimpleFrameSite,IUnknown)
251#undef ICOM_INTERFACE
252
253/*** IUnknown methods ***/
254#define ISimpleFrameSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
255#define ISimpleFrameSite_AddRef(p) ICOM_CALL (AddRef,p)
256#define ISimpleFrameSite_Release(p) ICOM_CALL (Release,p)
257/*** IPropertyNotifySink methods ***/
258#define ISimpleFrameSite_PreMessageFilter(p,a,b,c,d,e,f) ICOM_CALL1(PreMessageFilter,p,a,b,c,d,e,f)
259#define ISimpleFrameSite_PostMessageFilter(p,a,b,c,d,e,f) ICOM_CALL1(PostMessageFilter,p,a,b,c,d,e,f)
260
261
262/*****************************************************************************
263 * IPersistStreamInit interface
264 */
265#define ICOM_INTERFACE IPersistStreamInit
266#define IPersistStreamInit_METHODS \
267 ICOM_METHOD (HRESULT,IsDirty) \
268 ICOM_METHOD1(HRESULT,Load, LPSTREAM,pStm) \
269 ICOM_METHOD2(HRESULT,Save, LPSTREAM,pStm, BOOL,fClearDirty) \
270 ICOM_METHOD1(HRESULT,GetSizeMax, ULARGE_INTEGER*,pcbSize) \
271 ICOM_METHOD (HRESULT,InitNew)
272#define IPersistStreamInit_IMETHODS \
273 IPersist_IMETHODS \
274 IPersistStreamInit_METHODS
275ICOM_DEFINE(IPersistStreamInit,IPersist)
276#undef ICOM_INTERFACE
277
278/*** IUnknown methods ***/
279#define IPersistStreamInit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
280#define IPersistStreamInit_AddRef(p) ICOM_CALL (AddRef,p)
281#define IPersistStreamInit_Release(p) ICOM_CALL (Release,p)
282/*** IPersist methods ***/
283#define IPersistStreamInit_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
284/*** IPersistStreamInit methods ***/
285#define IPersistStreamInit_IsDirty(p) ICOM_CALL (IsDirty,p)
286#define IPersistStreamInit_Load(p,a) ICOM_CALL1(Load,p,a)
287#define IPersistStreamInit_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
288#define IPersistStreamInit_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
289#define IPersistStreamInit_InitNew(p) ICOM_CALL (InitNew,p)
290
291
292/*****************************************************************************
293 * IPersistMemory interface
294 */
295#define ICOM_INTERFACE IPersistMemory
296#define IPersistMemory_METHODS \
297 ICOM_METHOD (HRESULT,IsDirty) \
298 ICOM_METHOD2(HRESULT,Load, LPVOID,pMem, ULONG,cbSize) \
299 ICOM_METHOD3(HRESULT,Save, LPVOID,pMem, BOOL,fClearDirty, ULONG,cbSize) \
300 ICOM_METHOD1(HRESULT,GetSizeMax, ULONG*,pCbSize) \
301 ICOM_METHOD (HRESULT,InitNew)
302#define IPersistMemory_IMETHODS \
303 IPersist_IMETHODS \
304 IPersistMemory_METHODS
305ICOM_DEFINE(IPersistMemory,IPersist)
306#undef ICOM_INTERFACE
307
308/*** IUnknown methods ***/
309#define IPersistMemory_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
310#define IPersistMemory_AddRef(p) ICOM_CALL (AddRef,p)
311#define IPersistMemory_Release(p) ICOM_CALL (Release,p)
312/*** IPersist methods ***/
313#define IPersistMemory_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
314/*** IPersistMemory methods ***/
315#define IPersistMemory_IsDirty(p) ICOM_CALL (IsDirty,p)
316#define IPersistMemory_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
317#define IPersistMemory_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
318#define IPersistMemory_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
319#define IPersistMemory_InitNew(p) ICOM_CALL (InitNew,p)
320
321
322/*****************************************************************************
323 * IPersistPropertyBag interface
324 */
325#define ICOM_INTERFACE IPersistPropertyBag
326#define IPersistPropertyBag_METHODS \
327 ICOM_METHOD (HRESULT,InitNew) \
328 ICOM_METHOD2(HRESULT,Load, IPropertyBag*,pPropBag, IErrorLog*,pErrorLog) \
329 ICOM_METHOD3(HRESULT,Save, IPropertyBag*,pPropBag, BOOL,fClearDirty, BOOL,fSaveAllProperties)
330#define IPersistPropertyBag_IMETHODS \
331 IPersist_IMETHODS \
332 IPersistPropertyBag_METHODS
333ICOM_DEFINE(IPersistPropertyBag,IPersist)
334#undef ICOM_INTERFACE
335
336/*** IUnknown methods ***/
337#define IPersistPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
338#define IPersistPropertyBag_AddRef(p) ICOM_CALL (AddRef,p)
339#define IPersistPropertyBag_Release(p) ICOM_CALL (Release,p)
340/*** IPersist methods ***/
341#define IPersistPropertyBag_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
342/*** IPersistPropertyBag methods ***/
343#define IPersistPropertyBag_InitNew(p) ICOM_CALL (InitNew,p)
344#define IPersistPropertyBag_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
345#define IPersistPropertyBag_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
346
347
348/*****************************************************************************
349 * IPersistPropertyBag2 interface
350 */
351#define ICOM_INTERFACE IPersistPropertyBag2
352#define IPersistPropertyBag2_METHODS \
353 ICOM_METHOD (HRESULT,InitNew) \
354 ICOM_METHOD2(HRESULT,Load, IPropertyBag2*,pPropBag, IErrorLog*,pErrorLog) \
355 ICOM_METHOD3(HRESULT,Save, IPropertyBag2*,pPropBag, BOOL,fClearDirty, BOOL,fSaveAllProperties) \
356 ICOM_METHOD (HRESULT,IsDirty)
357#define IPersistPropertyBag2_IMETHODS \
358 IPersist_IMETHODS \
359 IPersistPropertyBag2_METHODS
360ICOM_DEFINE(IPersistPropertyBag2,IPersist)
361#undef ICOM_INTERFACE
362
363/*** IUnknown methods ***/
364#define IPersistPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
365#define IPersistPropertyBag2_AddRef(p) ICOM_CALL (AddRef,p)
366#define IPersistPropertyBag2_Release(p) ICOM_CALL (Release,p)
367/*** IPersist methods ***/
368#define IPersistPropertyBag2_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
369/*** IPersistPropertyBag methods ***/
370#define IPersistPropertyBag2_InitNew(p) ICOM_CALL (InitNew,p)
371#define IPersistPropertyBag2_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
372#define IPersistPropertyBag2_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
373#define IPersistPropertyBag2_IsDirty(p) ICON_CALL (IsDirty,p)
374
375
376/*****************************************************************************
377 * IErrorLog interface
378 */
379#define ICOM_INTERFACE IErrorLog
380#define IErrorLog_METHODS \
381 ICOM_METHOD2(HRESULT,AddError, LPCOLESTR,pszPropName, EXCEPINFO*,pExcepInfo)
382#define IErrorLog_IMETHODS \
383 IUnknown_IMETHODS \
384 IErrorLog_METHODS
385ICOM_DEFINE(IErrorLog,IUnknown)
386#undef ICOM_INTERFACE
387
388/*** IUnknown methods ***/
389#define IErrorLog_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
390#define IErrorLog_AddRef(p) ICOM_CALL (AddRef,p)
391#define IErrorLog_Release(p) ICOM_CALL (Release,p)
392/*** IErrorLog methods ***/
393#define IErrorLog_AddError(p,a,b) ICOM_CALL2(GetClassID,p,a,b)
394
395
396/*****************************************************************************
397 * IPropertyBag interface
398 */
399#define ICOM_INTERFACE IPropertyBag
400#define IPropertyBag_METHODS \
401 ICOM_METHOD3(HRESULT,Read, LPCOLESTR,pszPropName, VARIANT*,pVar, IErrorLog*,pErrorLog) \
402 ICOM_METHOD2(HRESULT,Write, LPCOLESTR,pszPropName, VARIANT*,pVar)
403#define IPropertyBag_IMETHODS \
404 IUnknown_IMETHODS \
405 IPropertyBag_METHODS
406ICOM_DEFINE(IPropertyBag,IUnknown)
407#undef ICOM_INTERFACE
408
409/*** IUnknown methods ***/
410#define IPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
411#define IPropertyBag_AddRef(p) ICOM_CALL (AddRef,p)
412#define IPropertyBag_Release(p) ICOM_CALL (Release,p)
413/*** IPropertyBag methods ***/
414#define IPropertyBag_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
415#define IPropertyBag_Write(p,a,b) ICOM_CALL2(Write,p,a,b)
416
417
418/*****************************************************************************
419 * IPropertyBag2 interface
420 */
421#define ICOM_INTERFACE IPropertyBag2
422#define IPropertyBag2_METHODS \
423 ICOM_METHOD5(HRESULT,Read, ULONG,cProperties, PROPBAG2*,pPropBag, IErrorLog*,pErrLog, VARIANT*,pvarValue, HRESULT*,phrError) \
424 ICOM_METHOD3(HRESULT,Write, ULONG,cProperties, PROPBAG2*,pPropBag, VARIANT*,pvarValue) \
425 ICOM_METHOD1(HRESULT,CountProperties, ULONG*,pcProperties) \
426 ICOM_METHOD4(HRESULT,GetPropertyInfo, ULONG,iProperty, ULONG,cProperties, PROPBAG2*,pPropBag, ULONG*,pcProperties) \
427 ICOM_METHOD4(HRESULT,LoadObject, LPCOLESTR,pstrName, DWORD,dwHint, IUnknown*,pUnkObject, IErrorLog*,pErrLog)
428#define IPropertyBag2_IMETHODS \
429 IUnknown_IMETHODS \
430 IPropertyBag2_METHODS
431ICOM_DEFINE(IPropertyBag2,IUnknown)
432#undef ICOM_INTERFACE
433
434/*** IUnknown methods ***/
435#define IPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
436#define IPropertyBag2_AddRef(p) ICOM_CALL (AddRef,p)
437#define IPropertyBag2_Release(p) ICOM_CALL (Release,p)
438/*** IPropertyBag methods ***/
439#define IPropertyBag2_Read(p,a,b,c,d,e) ICOM_CALL5(Read,p,a,b,c,d,e)
440#define IPropertyBag2_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
441#define IPropertyBag2_CountProperties(p,a) ICOM_CALL1(CountProperties,p,a)
442#define IPropertyBag2_GetPropertyInfo(p,a,b,c,d) ICOM_CALL4(GetPropertyInfo,p,a,b,c,d)
443#define IPropertyBag2_LoadObject(p,a,b,c,d) ICOM_CALL4(LoadObject,p,a,b,c,d)
444
445
446/*****************************************************************************
447 * ISpecifyPropertyPages interface
448 */
449#define ICOM_INTERFACE ISpecifyPropertyPages
450#define ISpecifyPropertyPages_METHODS \
451 ICOM_METHOD1(HRESULT,GetPages, CAUUID*,pPages)
452#define ISpecifyPropertyPages_IMETHODS \
453 IUnknown_IMETHODS \
454 ISpecifyPropertyPages_METHODS
455ICOM_DEFINE(ISpecifyPropertyPages,IUnknown)
456#undef ICOM_INTERFACE
457
458/*** IUnknown methods ***/
459#define ISpecifyPropertyPages_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
460#define ISpecifyPropertyPages_AddRef(p) ICOM_CALL (AddRef,p)
461#define ISpecifyPropertyPages_Release(p) ICOM_CALL (Release,p)
462/*** ISpecifyPropertyPages methods ***/
463#define ISpecifyPropertyPages_GetPages(p,a) ICOM_CALL3(GetPages,p,a)
464
465
466/*****************************************************************************
467 * IPerPropertyBrowsing interface
468 */
469#define ICOM_INTERFACE IPerPropertyBrowsing
470#define IPerPropertyBrowsing_METHODS \
471 ICOM_METHOD2(HRESULT,GetDisplayString, DISPID,dispID, BSTR*,pBstr) \
472 ICOM_METHOD2(HRESULT,MapPropertyToPage, DISPID,dispID, CLSID*,pClsid) \
473 ICOM_METHOD3(HRESULT,GetPredefinedStrings, DISPID,dispID, CALPOLESTR*,pCaStringsOut, CADWORD*,pCaCookiesOut) \
474 ICOM_METHOD3(HRESULT,GetPredefinedValue, DISPID,dispID, DWORD,dwCookie, VARIANT*,pVarOut)
475#define IPerPropertyBrowsing_IMETHODS \
476 IUnknown_IMETHODS \
477 IPerPropertyBrowsing_METHODS
478ICOM_DEFINE(IPerPropertyBrowsing,IUnknown)
479#undef ICOM_INTERFACE
480
481/*** IUnknown methods ***/
482#define IPerPropertyBrowsing_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
483#define IPerPropertyBrowsing_AddRef(p) ICOM_CALL (AddRef,p)
484#define IPerPropertyBrowsing_Release(p) ICOM_CALL (Release,p)
485/*** IPerPropertyBrowsing methods ***/
486#define IPerPropertyBrowsing_GetDisplayString(p,a,b) ICOM_CALL2(GetDisplayString,p,a,b)
487#define IPerPropertyBrowsing_MapPropertyToPage(p,a,b) ICOM_CALL2(MapPropertyToPage,p,a,b)
488#define IPerPropertyBrowsing_GetPredefinedStrings(p,a,b,c) ICOM_CALL3(GetPredefinedStrings,p,a,b,c)
489#define IPerPropertyBrowsing_GetPredefinedValue(p,a,b,c) ICOM_CALL3(GetPredefinedValue,p,a,b,c)
490
491#ifdef __cplusplus
492} /* extern "C" */
493#endif /* defined(__cplusplus) */
494
495#endif /* __WINE_WINE_OBJ_PROPERTY_H */
496
Note: See TracBrowser for help on using the repository browser.