2 * Defines the COM interfaces and APIs from ocidl.h related to property
4 * Depends on 'obj_base.h'.
6 * Copyright (C) 1999 Paul Quinn
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #ifndef __WINE_WINE_OBJ_PROPERTY_H
24 #define __WINE_WINE_OBJ_PROPERTY_H
28 #endif /* defined(__cplusplus) */
30 /*****************************************************************************
31 * Declare the structures
33 typedef struct tagPROPPAGEINFO
38 LPOLESTR pszDocString;
41 } PROPPAGEINFO, *LPPROPPAGEINFO;
43 typedef enum tagPROPPAGESTATUS
45 PROPPAGESTATUS_DIRTY = 0x1,
46 PROPPAGESTATUS_VALIDATE = 0x2,
47 PROPPAGESTATUS_CLEAN = 0x4
50 typedef struct tagCAUUID
56 typedef struct tagCALPOLESTR
60 } CALPOLESTR, *LPCALPOLESTR;
62 typedef struct tagCADWORD
66 } CADWORD, *LPCADWORD;
69 typedef enum tagPROPBAG2_TYPE
71 PROPBAG2_TYPE_UNDEFINED = 0,
72 PROPBAG2_TYPE_DATA = 1,
73 PROPBAG2_TYPE_URL = 2,
74 PROPBAG2_TYPE_OBJECT = 3,
75 PROPBAG2_TYPE_STREAM = 4,
76 PROPBAG2_TYPE_STORAGE = 5,
77 PROPBAG2_TYPE_MONIKER = 6
80 typedef struct tagPROPBAG2
90 /*****************************************************************************
91 * Predeclare the interfaces
93 DEFINE_GUID(IID_IPropertyPage, 0xb196b28dL, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
94 typedef struct IPropertyPage IPropertyPage, *LPPROPERTYPAGE;
96 DEFINE_GUID(IID_IPropertyPage2, 0x01e44665L, 0x24ac, 0x101b, 0x84, 0xed, 0x08, 0x00, 0x2b, 0x2e, 0xc7, 0x13);
97 typedef struct IPropertyPage2 IPropertyPage2, *LPPROPERTYPAGE2;
99 DEFINE_GUID(IID_IPropertyPageSite, 0xb196b28cL, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
100 typedef struct IPropertyPageSite IPropertyPageSite, *LPPROPERTYPAGESITE;
102 DEFINE_GUID(IID_IPropertyNotifySink, 0x9bfbbc02L, 0xeff1, 0x101a, 0x84, 0xed, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
103 typedef struct IPropertyNotifySink IPropertyNotifySink, *LPPROPERTYNOTIFYSINK;
105 DEFINE_GUID(IID_ISimpleFrameSite, 0x742b0e01L, 0x14e6, 0x101b, 0x91, 0x4e, 0x00, 0xaa, 0x00, 0x30, 0x0c, 0xab);
106 typedef struct ISimpleFrameSite ISimpleFrameSite, *LPSIMPLEFRAMESITE;
108 DEFINE_GUID(IID_IPersistStreamInit, 0x7fd52380L, 0x4e07, 0x101b, 0xae, 0x2d, 0x08, 0x00, 0x2b, 0x2e, 0xc7, 0x13);
109 typedef struct IPersistStreamInit IPersistStreamInit,*LPPERSISTSTREAMINIT;
111 DEFINE_GUID(IID_IPersistMemory, 0xbd1ae5e0L, 0xa6ae, 0x11ce, 0xbd, 0x37, 0x50, 0x42, 0x00, 0xc1, 0x00, 0x00);
112 typedef struct IPersistMemory IPersistMemory,*LPPERSISTMEMORY;
114 DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
115 typedef struct IPersistPropertyBag IPersistPropertyBag,*LPPERSISTPROPERTYBAG;
117 DEFINE_GUID(IID_IPersistPropertyBag2, 0x22f55881, 0x280b, 0x11d0, 0xa8, 0xa9, 0x00, 0xa0, 0xc9, 0x0c, 0x20, 0x04);
118 typedef struct IPersistPropertyBag2 IPersistPropertyBag2,*LPPERSISTPROPERTYBAG2;
120 DEFINE_GUID(IID_IErrorLog, 0x3127ca40L, 0x446e, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
121 typedef struct IErrorLog IErrorLog,*LPERRORLOG;
123 DEFINE_GUID(IID_IPropertyBag, 0x55272a00L, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
124 typedef struct IPropertyBag IPropertyBag,*LPPROPERTYBAG;
126 DEFINE_GUID(IID_IPropertyBag2, 0x22f55882, 0x280b, 0x11d0, 0xa8, 0xa9, 0x00, 0xa0, 0xc9, 0x0c, 0x20, 0x04);
127 typedef struct IPropertyBag2 IPropertyBag2,*LPPROPERTYBAG2;
129 DEFINE_GUID(IID_ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
130 typedef struct ISpecifyPropertyPages ISpecifyPropertyPages,*LPSPECIFYPROPERTYPAGES;
132 DEFINE_GUID(IID_IPerPropertyBrowsing, 0xb196b28b, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
133 typedef struct IPerPropertyBrowsing IPerPropertyBrowsing,*LPPERPROPERTYBROWSING;
136 /*****************************************************************************
137 * IPropertPage interface
139 #define ICOM_INTERFACE IPropertyPage
140 #define IPropertyPage_METHODS \
141 ICOM_METHOD1(HRESULT,SetPageSite, IPropertyPageSite*,pPageSite) \
142 ICOM_METHOD3(HRESULT,Activate, HWND,hWndParent, LPCRECT,pRect, BOOL,bModal) \
143 ICOM_METHOD (HRESULT,Deactivate) \
144 ICOM_METHOD1(HRESULT,GetPageInfo, PROPPAGEINFO*,pPageInfo) \
145 ICOM_METHOD2(HRESULT,SetObjects, ULONG,cObjects, IUnknown**,ppUnk) \
146 ICOM_METHOD1(HRESULT,Show, UINT,nCmdShow) \
147 ICOM_METHOD1(HRESULT,Move, LPCRECT,pRect) \
148 ICOM_METHOD (HRESULT,IsPageDirty) \
149 ICOM_METHOD (HRESULT,Apply) \
150 ICOM_METHOD1(HRESULT,Help, LPCOLESTR,pszHelpDir) \
151 ICOM_METHOD1(HRESULT,TranslateAccelerator, MSG*,pMsg)
152 #define IPropertyPage_IMETHODS \
154 IPropertyPage_METHODS
155 ICOM_DEFINE(IPropertyPage,IUnknown)
156 #undef ICOM_INTERFACE
158 /*** IUnknown methods ***/
159 #define IPropertyPage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
160 #define IPropertyPage_AddRef(p) ICOM_CALL (AddRef,p)
161 #define IPropertyPage_Release(p) ICOM_CALL (Release,p)
162 /*** IPropertyPage methods ***/
163 #define IPropertyPage_SetPageSite(p,a) ICOM_CALL1(SetPageSite,p,a)
164 #define IPropertyPage_Activate(p,a,b,c) ICOM_CALL3(Activate,p,a,b,c)
165 #define IPropertyPage_Deactivate(p) ICOM_CALL (Deactivate,p)
166 #define IPropertyPage_GetPageInfo(p,a) ICOM_CALL1(GetPageInfo,p,a)
167 #define IPropertyPage_SetObjects(p,a,b) ICOM_CALL2(SetObjects,p,a,b)
168 #define IPropertyPage_Show(p,a) ICOM_CALL1(Show,p,a)
169 #define IPropertyPage_Move(p,a) ICOM_CALL1(Move,p,a)
170 #define IPropertyPage_IsPageDirty(p) ICOM_CALL (IsPageDirty,p)
171 #define IPropertyPage_Apply(p) ICOM_CALL (Apply,p)
172 #define IPropertyPage_Help(p,a) ICOM_CALL1(Help,p,a)
173 #define IPropertyPage_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
176 /*****************************************************************************
177 * IPropertPage2 interface
179 #define ICOM_INTERFACE IPropertyPage2
180 #define IPropertyPage2_METHODS \
181 ICOM_METHOD1(HRESULT,EditProperty, DISPID,dispID)
182 #define IPropertyPage2_IMETHODS \
183 IPropertyPage_IMETHODS \
184 IPropertyPage2_METHODS
185 ICOM_DEFINE(IPropertyPage2,IPropertyPage)
186 #undef ICOM_INTERFACE
188 /*** IUnknown methods ***/
189 #define IPropertyPage2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
190 #define IPropertyPage2_AddRef(p) ICOM_CALL (AddRef,p)
191 #define IPropertyPage2_Release(p) ICOM_CALL (Release,p)
192 /*** IPropertyPage methods ***/
193 #define IPropertyPage2_SetPageSite(p,a) ICOM_CALL1(SetPageSite,p,a)
194 #define IPropertyPage2_Activate(p,a,b,c) ICOM_CALL3(Activate,p,a,b,c)
195 #define IPropertyPage2_Deactivate(p) ICOM_CALL (Deactivate,p)
196 #define IPropertyPage2_GetPageInfo(p,a) ICOM_CALL1(GetPageInfo,p,a)
197 #define IPropertyPage2_SetObjects(p,a,b) ICOM_CALL2(SetObjects,p,a,b)
198 #define IPropertyPage2_Show(p,a) ICOM_CALL1(Show,p,a)
199 #define IPropertyPage2_Move(p,a) ICOM_CALL1(Move,p,a)
200 #define IPropertyPage2_IsPageDirty(p) ICOM_CALL (IsPageDirty,p)
201 #define IPropertyPage2_Apply(p) ICOM_CALL (Apply,p)
202 #define IPropertyPage2_Help(p,a) ICOM_CALL1(Help,p,a)
203 #define IPropertyPage2_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
204 /*** IPropertyPage2 methods ***/
205 #define IPropertyPage2_EditProperty(p,a) ICOM_CALL1(EditProperty,p,a)
208 /*****************************************************************************
209 * IPropertPageSite interface
211 #define ICOM_INTERFACE IPropertyPageSite
212 #define IPropertyPageSite_METHODS \
213 ICOM_METHOD1(HRESULT,OnStatusChange, DWORD,dwFlags) \
214 ICOM_METHOD1(HRESULT,GetLocaleID, LCID*,pLocaleID) \
215 ICOM_METHOD1(HRESULT,GetPageContainer, IUnknown**,ppUnk) \
216 ICOM_METHOD1(HRESULT,TranslateAccelerator, MSG*,pMsg)
217 #define IPropertyPageSite_IMETHODS \
219 IPropertyPageSite_METHODS
220 ICOM_DEFINE(IPropertyPageSite,IUnknown)
221 #undef ICOM_INTERFACE
223 /*** IUnknown methods ***/
224 #define IPropertyPageSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
225 #define IPropertyPageSite_AddRef(p) ICOM_CALL (AddRef,p)
226 #define IPropertyPageSite_Release(p) ICOM_CALL (Release,p)
227 /*** IPropertyPageSite methods ***/
228 #define IPropertyPageSite_OnStatusChange(p,a) ICOM_CALL1(OnStatusChange,p,a)
229 #define IPropertyPageSite_GetLocaleID(p,a) ICOM_CALL1(GetLocaleID,p,a)
230 #define IPropertyPageSite_GetPageContainer(p,a) ICOM_CALL1(GetPageContainer,p,a)
231 #define IPropertyPageSite_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
234 /*****************************************************************************
235 * IPropertyNotifySink interface
237 #define ICOM_INTERFACE IPropertyNotifySink
238 #define IPropertyNotifySink_METHODS \
239 ICOM_METHOD1(HRESULT,OnChanged, DISPID,dispID) \
240 ICOM_METHOD1(HRESULT,OnRequestEdit, DISPID,dispID)
241 #define IPropertyNotifySink_IMETHODS \
243 IPropertyNotifySink_METHODS
244 ICOM_DEFINE(IPropertyNotifySink,IUnknown)
245 #undef ICOM_INTERFACE
247 /*** IUnknown methods ***/
248 #define IPropertyNotifySink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
249 #define IPropertyNotifySink_AddRef(p) ICOM_CALL (AddRef,p)
250 #define IPropertyNotifySink_Release(p) ICOM_CALL (Release,p)
251 /*** IPropertyNotifySink methods ***/
252 #define IPropertyNotifySink_OnChanged(p,a) ICOM_CALL1(OnChanged,p,a)
253 #define IPropertyNotifySink_OnRequestEdit(p,a) ICOM_CALL1(OnRequestEdit,p,a)
256 /*****************************************************************************
257 * IPropertyNotifySink interface
259 #define ICOM_INTERFACE ISimpleFrameSite
260 #define ISimpleFrameSite_METHODS \
261 ICOM_METHOD6(HRESULT,PreMessageFilter, HWND,hWnd, UINT,msg, WPARAM,wp, LPARAM,lp, LRESULT*,plResult, DWORD*,pwdCookie) \
262 ICOM_METHOD6(HRESULT,PostMessageFilter, HWND,hWnd, UINT,msg, WPARAM,wp, LPARAM,lp, LRESULT*,plResult, DWORD,pwdCookie)
263 #define ISimpleFrameSite_IMETHODS \
265 ISimpleFrameSite_METHODS
266 ICOM_DEFINE(ISimpleFrameSite,IUnknown)
267 #undef ICOM_INTERFACE
269 /*** IUnknown methods ***/
270 #define ISimpleFrameSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
271 #define ISimpleFrameSite_AddRef(p) ICOM_CALL (AddRef,p)
272 #define ISimpleFrameSite_Release(p) ICOM_CALL (Release,p)
273 /*** IPropertyNotifySink methods ***/
274 #define ISimpleFrameSite_PreMessageFilter(p,a,b,c,d,e,f) ICOM_CALL1(PreMessageFilter,p,a,b,c,d,e,f)
275 #define ISimpleFrameSite_PostMessageFilter(p,a,b,c,d,e,f) ICOM_CALL1(PostMessageFilter,p,a,b,c,d,e,f)
278 /*****************************************************************************
279 * IPersistStreamInit interface
281 #define ICOM_INTERFACE IPersistStreamInit
282 #define IPersistStreamInit_METHODS \
283 ICOM_METHOD (HRESULT,IsDirty) \
284 ICOM_METHOD1(HRESULT,Load, LPSTREAM,pStm) \
285 ICOM_METHOD2(HRESULT,Save, LPSTREAM,pStm, BOOL,fClearDirty) \
286 ICOM_METHOD1(HRESULT,GetSizeMax, ULARGE_INTEGER*,pcbSize) \
287 ICOM_METHOD (HRESULT,InitNew)
288 #define IPersistStreamInit_IMETHODS \
290 IPersistStreamInit_METHODS
291 ICOM_DEFINE(IPersistStreamInit,IPersist)
292 #undef ICOM_INTERFACE
294 /*** IUnknown methods ***/
295 #define IPersistStreamInit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
296 #define IPersistStreamInit_AddRef(p) ICOM_CALL (AddRef,p)
297 #define IPersistStreamInit_Release(p) ICOM_CALL (Release,p)
298 /*** IPersist methods ***/
299 #define IPersistStreamInit_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
300 /*** IPersistStreamInit methods ***/
301 #define IPersistStreamInit_IsDirty(p) ICOM_CALL (IsDirty,p)
302 #define IPersistStreamInit_Load(p,a) ICOM_CALL1(Load,p,a)
303 #define IPersistStreamInit_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
304 #define IPersistStreamInit_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
305 #define IPersistStreamInit_InitNew(p) ICOM_CALL (InitNew,p)
308 /*****************************************************************************
309 * IPersistMemory interface
311 #define ICOM_INTERFACE IPersistMemory
312 #define IPersistMemory_METHODS \
313 ICOM_METHOD (HRESULT,IsDirty) \
314 ICOM_METHOD2(HRESULT,Load, LPVOID,pMem, ULONG,cbSize) \
315 ICOM_METHOD3(HRESULT,Save, LPVOID,pMem, BOOL,fClearDirty, ULONG,cbSize) \
316 ICOM_METHOD1(HRESULT,GetSizeMax, ULONG*,pCbSize) \
317 ICOM_METHOD (HRESULT,InitNew)
318 #define IPersistMemory_IMETHODS \
320 IPersistMemory_METHODS
321 ICOM_DEFINE(IPersistMemory,IPersist)
322 #undef ICOM_INTERFACE
324 /*** IUnknown methods ***/
325 #define IPersistMemory_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
326 #define IPersistMemory_AddRef(p) ICOM_CALL (AddRef,p)
327 #define IPersistMemory_Release(p) ICOM_CALL (Release,p)
328 /*** IPersist methods ***/
329 #define IPersistMemory_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
330 /*** IPersistMemory methods ***/
331 #define IPersistMemory_IsDirty(p) ICOM_CALL (IsDirty,p)
332 #define IPersistMemory_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
333 #define IPersistMemory_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
334 #define IPersistMemory_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
335 #define IPersistMemory_InitNew(p) ICOM_CALL (InitNew,p)
338 /*****************************************************************************
339 * IPersistPropertyBag interface
341 #define ICOM_INTERFACE IPersistPropertyBag
342 #define IPersistPropertyBag_METHODS \
343 ICOM_METHOD (HRESULT,InitNew) \
344 ICOM_METHOD2(HRESULT,Load, IPropertyBag*,pPropBag, IErrorLog*,pErrorLog) \
345 ICOM_METHOD3(HRESULT,Save, IPropertyBag*,pPropBag, BOOL,fClearDirty, BOOL,fSaveAllProperties)
346 #define IPersistPropertyBag_IMETHODS \
348 IPersistPropertyBag_METHODS
349 ICOM_DEFINE(IPersistPropertyBag,IPersist)
350 #undef ICOM_INTERFACE
352 /*** IUnknown methods ***/
353 #define IPersistPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
354 #define IPersistPropertyBag_AddRef(p) ICOM_CALL (AddRef,p)
355 #define IPersistPropertyBag_Release(p) ICOM_CALL (Release,p)
356 /*** IPersist methods ***/
357 #define IPersistPropertyBag_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
358 /*** IPersistPropertyBag methods ***/
359 #define IPersistPropertyBag_InitNew(p) ICOM_CALL (InitNew,p)
360 #define IPersistPropertyBag_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
361 #define IPersistPropertyBag_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
364 /*****************************************************************************
365 * IPersistPropertyBag2 interface
367 #define ICOM_INTERFACE IPersistPropertyBag2
368 #define IPersistPropertyBag2_METHODS \
369 ICOM_METHOD (HRESULT,InitNew) \
370 ICOM_METHOD2(HRESULT,Load, IPropertyBag2*,pPropBag, IErrorLog*,pErrorLog) \
371 ICOM_METHOD3(HRESULT,Save, IPropertyBag2*,pPropBag, BOOL,fClearDirty, BOOL,fSaveAllProperties) \
372 ICOM_METHOD (HRESULT,IsDirty)
373 #define IPersistPropertyBag2_IMETHODS \
375 IPersistPropertyBag2_METHODS
376 ICOM_DEFINE(IPersistPropertyBag2,IPersist)
377 #undef ICOM_INTERFACE
379 /*** IUnknown methods ***/
380 #define IPersistPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
381 #define IPersistPropertyBag2_AddRef(p) ICOM_CALL (AddRef,p)
382 #define IPersistPropertyBag2_Release(p) ICOM_CALL (Release,p)
383 /*** IPersist methods ***/
384 #define IPersistPropertyBag2_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
385 /*** IPersistPropertyBag methods ***/
386 #define IPersistPropertyBag2_InitNew(p) ICOM_CALL (InitNew,p)
387 #define IPersistPropertyBag2_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
388 #define IPersistPropertyBag2_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
389 #define IPersistPropertyBag2_IsDirty(p) ICON_CALL (IsDirty,p)
392 /*****************************************************************************
393 * IErrorLog interface
395 #define ICOM_INTERFACE IErrorLog
396 #define IErrorLog_METHODS \
397 ICOM_METHOD2(HRESULT,AddError, LPCOLESTR,pszPropName, EXCEPINFO*,pExcepInfo)
398 #define IErrorLog_IMETHODS \
401 ICOM_DEFINE(IErrorLog,IUnknown)
402 #undef ICOM_INTERFACE
404 /*** IUnknown methods ***/
405 #define IErrorLog_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
406 #define IErrorLog_AddRef(p) ICOM_CALL (AddRef,p)
407 #define IErrorLog_Release(p) ICOM_CALL (Release,p)
408 /*** IErrorLog methods ***/
409 #define IErrorLog_AddError(p,a,b) ICOM_CALL2(GetClassID,p,a,b)
412 /*****************************************************************************
413 * IPropertyBag interface
415 #define ICOM_INTERFACE IPropertyBag
416 #define IPropertyBag_METHODS \
417 ICOM_METHOD3(HRESULT,Read, LPCOLESTR,pszPropName, VARIANT*,pVar, IErrorLog*,pErrorLog) \
418 ICOM_METHOD2(HRESULT,Write, LPCOLESTR,pszPropName, VARIANT*,pVar)
419 #define IPropertyBag_IMETHODS \
422 ICOM_DEFINE(IPropertyBag,IUnknown)
423 #undef ICOM_INTERFACE
425 /*** IUnknown methods ***/
426 #define IPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
427 #define IPropertyBag_AddRef(p) ICOM_CALL (AddRef,p)
428 #define IPropertyBag_Release(p) ICOM_CALL (Release,p)
429 /*** IPropertyBag methods ***/
430 #define IPropertyBag_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
431 #define IPropertyBag_Write(p,a,b) ICOM_CALL2(Write,p,a,b)
434 /*****************************************************************************
435 * IPropertyBag2 interface
437 #define ICOM_INTERFACE IPropertyBag2
438 #define IPropertyBag2_METHODS \
439 ICOM_METHOD5(HRESULT,Read, ULONG,cProperties, PROPBAG2*,pPropBag, IErrorLog*,pErrLog, VARIANT*,pvarValue, HRESULT*,phrError) \
440 ICOM_METHOD3(HRESULT,Write, ULONG,cProperties, PROPBAG2*,pPropBag, VARIANT*,pvarValue) \
441 ICOM_METHOD1(HRESULT,CountProperties, ULONG*,pcProperties) \
442 ICOM_METHOD4(HRESULT,GetPropertyInfo, ULONG,iProperty, ULONG,cProperties, PROPBAG2*,pPropBag, ULONG*,pcProperties) \
443 ICOM_METHOD4(HRESULT,LoadObject, LPCOLESTR,pstrName, DWORD,dwHint, IUnknown*,pUnkObject, IErrorLog*,pErrLog)
444 #define IPropertyBag2_IMETHODS \
446 IPropertyBag2_METHODS
447 ICOM_DEFINE(IPropertyBag2,IUnknown)
448 #undef ICOM_INTERFACE
450 /*** IUnknown methods ***/
451 #define IPropertyBag2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
452 #define IPropertyBag2_AddRef(p) ICOM_CALL (AddRef,p)
453 #define IPropertyBag2_Release(p) ICOM_CALL (Release,p)
454 /*** IPropertyBag methods ***/
455 #define IPropertyBag2_Read(p,a,b,c,d,e) ICOM_CALL5(Read,p,a,b,c,d,e)
456 #define IPropertyBag2_Write(p,a,b,c) ICOM_CALL3(Write,p,a,b,c)
457 #define IPropertyBag2_CountProperties(p,a) ICOM_CALL1(CountProperties,p,a)
458 #define IPropertyBag2_GetPropertyInfo(p,a,b,c,d) ICOM_CALL4(GetPropertyInfo,p,a,b,c,d)
459 #define IPropertyBag2_LoadObject(p,a,b,c,d) ICOM_CALL4(LoadObject,p,a,b,c,d)
462 /*****************************************************************************
463 * ISpecifyPropertyPages interface
465 #define ICOM_INTERFACE ISpecifyPropertyPages
466 #define ISpecifyPropertyPages_METHODS \
467 ICOM_METHOD1(HRESULT,GetPages, CAUUID*,pPages)
468 #define ISpecifyPropertyPages_IMETHODS \
470 ISpecifyPropertyPages_METHODS
471 ICOM_DEFINE(ISpecifyPropertyPages,IUnknown)
472 #undef ICOM_INTERFACE
474 /*** IUnknown methods ***/
475 #define ISpecifyPropertyPages_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
476 #define ISpecifyPropertyPages_AddRef(p) ICOM_CALL (AddRef,p)
477 #define ISpecifyPropertyPages_Release(p) ICOM_CALL (Release,p)
478 /*** ISpecifyPropertyPages methods ***/
479 #define ISpecifyPropertyPages_GetPages(p,a) ICOM_CALL1(GetPages,p,a)
482 /*****************************************************************************
483 * IPerPropertyBrowsing interface
485 #define ICOM_INTERFACE IPerPropertyBrowsing
486 #define IPerPropertyBrowsing_METHODS \
487 ICOM_METHOD2(HRESULT,GetDisplayString, DISPID,dispID, BSTR*,pBstr) \
488 ICOM_METHOD2(HRESULT,MapPropertyToPage, DISPID,dispID, CLSID*,pClsid) \
489 ICOM_METHOD3(HRESULT,GetPredefinedStrings, DISPID,dispID, CALPOLESTR*,pCaStringsOut, CADWORD*,pCaCookiesOut) \
490 ICOM_METHOD3(HRESULT,GetPredefinedValue, DISPID,dispID, DWORD,dwCookie, VARIANT*,pVarOut)
491 #define IPerPropertyBrowsing_IMETHODS \
493 IPerPropertyBrowsing_METHODS
494 ICOM_DEFINE(IPerPropertyBrowsing,IUnknown)
495 #undef ICOM_INTERFACE
497 /*** IUnknown methods ***/
498 #define IPerPropertyBrowsing_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
499 #define IPerPropertyBrowsing_AddRef(p) ICOM_CALL (AddRef,p)
500 #define IPerPropertyBrowsing_Release(p) ICOM_CALL (Release,p)
501 /*** IPerPropertyBrowsing methods ***/
502 #define IPerPropertyBrowsing_GetDisplayString(p,a,b) ICOM_CALL2(GetDisplayString,p,a,b)
503 #define IPerPropertyBrowsing_MapPropertyToPage(p,a,b) ICOM_CALL2(MapPropertyToPage,p,a,b)
504 #define IPerPropertyBrowsing_GetPredefinedStrings(p,a,b,c) ICOM_CALL3(GetPredefinedStrings,p,a,b,c)
505 #define IPerPropertyBrowsing_GetPredefinedValue(p,a,b,c) ICOM_CALL3(GetPredefinedValue,p,a,b,c)
509 #endif /* defined(__cplusplus) */
511 #endif /* __WINE_WINE_OBJ_PROPERTY_H */