2 * Defines the COM interfaces and APIs from ocidl.h related to property
4 * Depends on 'obj_base.h'.
7 #ifndef __WINE_WINE_OBJ_PROPERTY_H
8 #define __WINE_WINE_OBJ_PROPERTY_H
12 #include "wine/obj_oleaut.h" /* for DISPID */
16 #endif /* defined(__cplusplus) */
18 /*****************************************************************************
19 * Declare the structures
21 typedef struct tagPROPPAGEINFO
26 LPOLESTR pszDocString;
29 } PROPPAGEINFO, *LPPROPPAGEINFO;
31 typedef enum tagPROPPAGESTATUS
33 PROPPAGESTATUS_DIRTY = 0x1,
34 PROPPAGESTATUS_VALIDATE = 0x2,
35 PROPPAGESTATUS_CLEAN = 0x4
38 typedef struct tagCAUUID
44 typedef struct tagCALPOLESTR
48 } CALPOLESTR, *LPCALPOLESTR;
50 typedef struct tagCADWORD
54 } CADWORD, *LPCADWORD;
57 /*****************************************************************************
58 * Predeclare the interfaces
60 DEFINE_GUID(IID_IPropertyPage, 0xb196b28dL, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
61 typedef struct IPropertyPage IPropertyPage, *LPPROPERTYPAGE;
63 DEFINE_GUID(IID_IPropertyPage2, 0x01e44665L, 0x24ac, 0x101b, 0x84, 0xed, 0x08, 0x00, 0x2b, 0x2e, 0xc7, 0x13);
64 typedef struct IPropertyPage2 IPropertyPage2, *LPPROPERTYPAGE2;
66 DEFINE_GUID(IID_IPropertyPageSite, 0xb196b28cL, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
67 typedef struct IPropertyPageSite IPropertyPageSite, *LPPROPERTYPAGESITE;
69 DEFINE_GUID(IID_IPropertyNotifySink, 0x9bfbbc02L, 0xeff1, 0x101a, 0x84, 0xed, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
70 typedef struct IPropertyNotifySink IPropertyNotifySink, *LPPROPERTYNOTIFYSINK;
72 DEFINE_GUID(IID_ISimpleFrameSite, 0x742b0e01L, 0x14e6, 0x101b, 0x91, 0x4e, 0x00, 0xaa, 0x00, 0x30, 0x0c, 0xab);
73 typedef struct ISimpleFrameSite ISimpleFrameSite, *LPSIMPLEFRAMESITE;
75 DEFINE_GUID(IID_IPersistStreamInit, 0x7fd52380L, 0x4e07, 0x101b, 0xae, 0x2d, 0x08, 0x00, 0x2b, 0x2e, 0xc7, 0x13);
76 typedef struct IPersistStreamInit IPersistStreamInit,*LPPERSISTSTREAMINIT;
78 DEFINE_GUID(IID_IPersistMemory, 0xbd1ae5e0L, 0xa6ae, 0x11ce, 0xbd, 0x37, 0x50, 0x42, 0x00, 0xc1, 0x00, 0x00);
79 typedef struct IPersistMemory IPersistMemory,*LPPERSISTMEMORY;
81 DEFINE_GUID(IID_IPersistPropertyBag, 0x37d84f60, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
82 typedef struct IPersistPropertyBag IPersistPropertyBag,*LPPERSISTPROPERTYBAG;
84 DEFINE_GUID(IID_IErrorLog, 0x3127ca40L, 0x446e, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
85 typedef struct IErrorLog IErrorLog,*LPERRORLOG;
87 DEFINE_GUID(IID_IPropertyBag, 0x55272a00L, 0x42cb, 0x11ce, 0x81, 0x35, 0x00, 0xaa, 0x00, 0x4b, 0xb8, 0x51);
88 typedef struct IPropertyBag IPropertyBag,*LPPROPERTYBAG;
90 DEFINE_GUID(IID_ISpecifyPropertyPages, 0xb196b28b, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
91 typedef struct ISpecifyPropertyPages ISpecifyPropertyPages,*LPSPECIFYPROPERTYPAGES;
93 DEFINE_GUID(IID_IPerPropertyBrowsing, 0xb196b28b, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
94 typedef struct IPerPropertyBrowsing IPerPropertyBrowsing,*LPPERPROPERTYBROWSING;
97 /*****************************************************************************
98 * IPropertPage interface
100 #define ICOM_INTERFACE IPropertyPage
101 #define IPropertyPage_METHODS \
102 ICOM_METHOD1(HRESULT,SetPageSite, IPropertyPageSite*,pPageSite) \
103 ICOM_METHOD3(HRESULT,Activate, HWND,hWndParent, LPCRECT,pRect, BOOL,bModal) \
104 ICOM_METHOD (HRESULT,Deactivate) \
105 ICOM_METHOD1(HRESULT,GetPageInfo, PROPPAGEINFO*,pPageInfo) \
106 ICOM_METHOD2(HRESULT,SetObjects, ULONG,cObjects, IUnknown**,ppUnk) \
107 ICOM_METHOD1(HRESULT,Show, UINT,nCmdShow) \
108 ICOM_METHOD1(HRESULT,Move, LPCRECT,pRect) \
109 ICOM_METHOD (HRESULT,IsPageDirty) \
110 ICOM_METHOD (HRESULT,Apply) \
111 ICOM_METHOD1(HRESULT,Help, LPCOLESTR,pszHelpDir) \
112 ICOM_METHOD1(HRESULT,TranslateAccelerator, MSG*,pMsg)
113 #define IPropertyPage_IMETHODS \
115 IPropertyPage_METHODS
116 ICOM_DEFINE(IPropertyPage,IUnknown)
117 #undef ICOM_INTERFACE
119 #ifdef ICOM_CINTERFACE
120 /*** IUnknown methods ***/
121 #define IPropertyPage_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
122 #define IPropertyPage_AddRef(p) ICOM_CALL (AddRef,p)
123 #define IPropertyPage_Release(p) ICOM_CALL (Release,p)
124 /*** IPropertyPage methods ***/
125 #define IPropertyPage_SetPageSite(p,a) ICOM_CALL1(SetPageSite,p,a)
126 #define IPropertyPage_Activate(p,a,b,c) ICOM_CALL3(Activate,p,a,b,c)
127 #define IPropertyPage_Deactivate(p) ICOM_CALL (Deactivate,p)
128 #define IPropertyPage_GetPageInfo(p,a) ICOM_CALL1(GetPageInfo,p,a)
129 #define IPropertyPage_SetObjects(p,a,b) ICOM_CALL2(SetObjects,p,a,b)
130 #define IPropertyPage_Show(p,a) ICOM_CALL1(Show,p,a)
131 #define IPropertyPage_Move(p,a) ICOM_CALL1(Move,p,a)
132 #define IPropertyPage_IsPageDirty(p) ICOM_CALL (IsPageDirty,p)
133 #define IPropertyPage_Apply(p) ICOM_CALL (Apply,p)
134 #define IPropertyPage_Help(p,a) ICOM_CALL1(Help,p,a)
135 #define IPropertyPage_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
139 /*****************************************************************************
140 * IPropertPage2 interface
142 #define ICOM_INTERFACE IPropertyPage2
143 #define IPropertyPage2_METHODS \
144 ICOM_METHOD1(HRESULT,EditProperty, DISPID,dispID)
145 #define IPropertyPage2_IMETHODS \
146 IPropertyPage_IMETHODS \
147 IPropertyPage2_METHODS
148 ICOM_DEFINE(IPropertyPage2,IPropertyPage)
149 #undef ICOM_INTERFACE
151 #ifdef ICOM_CINTERFACE
152 /*** IUnknown methods ***/
153 #define IPropertyPage2_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
154 #define IPropertyPage2_AddRef(p) ICOM_CALL (AddRef,p)
155 #define IPropertyPage2_Release(p) ICOM_CALL (Release,p)
156 /*** IPropertyPage methods ***/
157 #define IPropertyPage2_SetPageSite(p,a) ICOM_CALL1(SetPageSite,p,a)
158 #define IPropertyPage2_Activate(p,a,b,c) ICOM_CALL3(Activate,p,a,b,c)
159 #define IPropertyPage2_Deactivate(p) ICOM_CALL (Deactivate,p)
160 #define IPropertyPage2_GetPageInfo(p,a) ICOM_CALL1(GetPageInfo,p,a)
161 #define IPropertyPage2_SetObjects(p,a,b) ICOM_CALL2(SetObjects,p,a,b)
162 #define IPropertyPage2_Show(p,a) ICOM_CALL1(Show,p,a)
163 #define IPropertyPage2_Move(p,a) ICOM_CALL1(Move,p,a)
164 #define IPropertyPage2_IsPageDirty(p) ICOM_CALL (IsPageDirty,p)
165 #define IPropertyPage2_Apply(p) ICOM_CALL (Apply,p)
166 #define IPropertyPage2_Help(p,a) ICOM_CALL1(Help,p,a)
167 #define IPropertyPage2_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
168 /*** IPropertyPage2 methods ***/
169 #define IPropertyPage2_EditProperty(p,a) ICOM_CALL1(EditProperty,p,a)
173 /*****************************************************************************
174 * IPropertPageSite interface
176 #define ICOM_INTERFACE IPropertyPageSite
177 #define IPropertyPageSite_METHODS \
178 ICOM_METHOD1(HRESULT,OnStatusChange, DWORD,dwFlags) \
179 ICOM_METHOD1(HRESULT,GetLocaleID, LCID*,pLocaleID) \
180 ICOM_METHOD1(HRESULT,GetPageContainer, IUnknown**,ppUnk) \
181 ICOM_METHOD1(HRESULT,TranslateAccelerator, MSG*,pMsg)
182 #define IPropertyPageSite_IMETHODS \
184 IPropertyPageSite_METHODS
185 ICOM_DEFINE(IPropertyPageSite,IUnknown)
186 #undef ICOM_INTERFACE
188 #ifdef ICOM_CINTERFACE
189 /*** IUnknown methods ***/
190 #define IPropertyPageSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
191 #define IPropertyPageSite_AddRef(p) ICOM_CALL (AddRef,p)
192 #define IPropertyPageSite_Release(p) ICOM_CALL (Release,p)
193 /*** IPropertyPageSite methods ***/
194 #define IPropertyPageSite_OnStatusChange(p,a) ICOM_CALL1(OnStatusChange,p,a)
195 #define IPropertyPageSite_GetLocaleID(p,a) ICOM_CALL1(GetLocaleID,p,a)
196 #define IPropertyPageSite_GetPageContainer(p,a) ICOM_CALL1(GetPageContainer,p,a)
197 #define IPropertyPageSite_TranslateAccelerator(p,a) ICOM_CALL1(TranslateAccelerator,p,a)
201 /*****************************************************************************
202 * IPropertyNotifySink interface
204 #define ICOM_INTERFACE IPropertyNotifySink
205 #define IPropertyNotifySink_METHODS \
206 ICOM_METHOD1(HRESULT,OnChanged, DISPID,dispID) \
207 ICOM_METHOD1(HRESULT,OnRequestEdit, DISPID,dispID)
208 #define IPropertyNotifySink_IMETHODS \
210 IPropertyNotifySink_METHODS
211 ICOM_DEFINE(IPropertyNotifySink,IUnknown)
212 #undef ICOM_INTERFACE
214 #ifdef ICOM_CINTERFACE
215 /*** IUnknown methods ***/
216 #define IPropertyNotifySink_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
217 #define IPropertyNotifySink_AddRef(p) ICOM_CALL (AddRef,p)
218 #define IPropertyNotifySink_Release(p) ICOM_CALL (Release,p)
219 /*** IPropertyNotifySink methods ***/
220 #define IPropertyNotifySink_OnChanged(p,a) ICOM_CALL1(OnChanged,p,a)
221 #define IPropertyNotifySink_OnRequestEdit(p,a) ICOM_CALL1(OnRequestEdit,p,a)
225 /*****************************************************************************
226 * IPropertyNotifySink interface
228 #define ICOM_INTERFACE ISimpleFrameSite
229 #define ISimpleFrameSite_METHODS \
230 ICOM_METHOD6(HRESULT,PreMessageFilter, HWND,hWnd, UINT,msg, WPARAM,wp, LPARAM,lp, LRESULT*,plResult, DWORD*,pwdCookie) \
231 ICOM_METHOD6(HRESULT,PostMessageFilter, HWND,hWnd, UINT,msg, WPARAM,wp, LPARAM,lp, LRESULT*,plResult, DWORD,pwdCookie)
232 #define ISimpleFrameSite_IMETHODS \
234 ISimpleFrameSite_METHODS
235 ICOM_DEFINE(ISimpleFrameSite,IUnknown)
236 #undef ICOM_INTERFACE
238 #ifdef ICOM_CINTERFACE
239 /*** IUnknown methods ***/
240 #define ISimpleFrameSite_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
241 #define ISimpleFrameSite_AddRef(p) ICOM_CALL (AddRef,p)
242 #define ISimpleFrameSite_Release(p) ICOM_CALL (Release,p)
243 /*** IPropertyNotifySink methods ***/
244 #define ISimpleFrameSite_PreMessageFilter(p,a,b,c,d,e,f) ICOM_CALL1(PreMessageFilter,p,a,b,c,d,e,f)
245 #define ISimpleFrameSite_PostMessageFilter(p,a,b,c,d,e,f) ICOM_CALL1(PostMessageFilter,p,a,b,c,d,e,f)
249 /*****************************************************************************
250 * IPersistStreamInit interface
252 #define ICOM_INTERFACE IPersistStreamInit
253 #define IPersistStreamInit_METHODS \
254 ICOM_METHOD (HRESULT,IsDirty) \
255 ICOM_METHOD1(HRESULT,Load, LPSTREAM,pStm) \
256 ICOM_METHOD2(HRESULT,Save, LPSTREAM,pStm, BOOL,fClearDirty) \
257 ICOM_METHOD1(HRESULT,GetSizeMax, ULARGE_INTEGER*,pcbSize) \
258 ICOM_METHOD (HRESULT,InitNew)
259 #define IPersistStreamInit_IMETHODS \
261 IPersistStreamInit_METHODS
262 ICOM_DEFINE(IPersistStreamInit,IPersist)
263 #undef ICOM_INTERFACE
265 #ifdef ICOM_CINTERFACE
266 /*** IUnknown methods ***/
267 #define IPersistStreamInit_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
268 #define IPersistStreamInit_AddRef(p) ICOM_CALL (AddRef,p)
269 #define IPersistStreamInit_Release(p) ICOM_CALL (Release,p)
270 /*** IPersist methods ***/
271 #define IPersistStreamInit_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
272 /*** IPersistStreamInit methods ***/
273 #define IPersistStreamInit_IsDirty(p) ICOM_CALL (IsDirty,p)
274 #define IPersistStreamInit_Load(p,a) ICOM_CALL1(Load,p,a)
275 #define IPersistStreamInit_Save(p,a,b) ICOM_CALL2(Save,p,a,b)
276 #define IPersistStreamInit_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
277 #define IPersistStreamInit_InitNew(p) ICOM_CALL (InitNew,p)
281 /*****************************************************************************
282 * IPersistMemory interface
284 #define ICOM_INTERFACE IPersistMemory
285 #define IPersistMemory_METHODS \
286 ICOM_METHOD (HRESULT,IsDirty) \
287 ICOM_METHOD2(HRESULT,Load, LPVOID,pMem, ULONG,cbSize) \
288 ICOM_METHOD3(HRESULT,Save, LPVOID,pMem, BOOL,fClearDirty, ULONG,cbSize) \
289 ICOM_METHOD1(HRESULT,GetSizeMax, ULONG*,pCbSize) \
290 ICOM_METHOD (HRESULT,InitNew)
291 #define IPersistMemory_IMETHODS \
293 IPersistMemory_METHODS
294 ICOM_DEFINE(IPersistMemory,IPersist)
295 #undef ICOM_INTERFACE
297 #ifdef ICOM_CINTERFACE
298 /*** IUnknown methods ***/
299 #define IPersistMemory_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
300 #define IPersistMemory_AddRef(p) ICOM_CALL (AddRef,p)
301 #define IPersistMemory_Release(p) ICOM_CALL (Release,p)
302 /*** IPersist methods ***/
303 #define IPersistMemory_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
304 /*** IPersistMemory methods ***/
305 #define IPersistMemory_IsDirty(p) ICOM_CALL (IsDirty,p)
306 #define IPersistMemory_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
307 #define IPersistMemory_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
308 #define IPersistMemory_GetSizeMax(p,a) ICOM_CALL1(GetSizeMax,p,a)
309 #define IPersistMemory_InitNew(p) ICOM_CALL (InitNew,p)
313 /*****************************************************************************
314 * IPersistPropertyBag interface
316 #define ICOM_INTERFACE IPersistPropertyBag
317 #define IPersistPropertyBag_METHODS \
318 ICOM_METHOD (HRESULT,InitNew) \
319 ICOM_METHOD2(HRESULT,Load, IPropertyBag*,pPropBag, IErrorLog*,pErrorLog) \
320 ICOM_METHOD3(HRESULT,Save, IPropertyBag*,pPropBag, BOOL,fClearDirty, BOOL,fSaveAllProperties)
321 #define IPersistPropertyBag_IMETHODS \
323 IPersistPropertyBag_METHODS
324 ICOM_DEFINE(IPersistPropertyBag,IPersist)
325 #undef ICOM_INTERFACE
327 #ifdef ICOM_CINTERFACE
328 /*** IUnknown methods ***/
329 #define IPersistPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
330 #define IPersistPropertyBag_AddRef(p) ICOM_CALL (AddRef,p)
331 #define IPersistPropertyBag_Release(p) ICOM_CALL (Release,p)
332 /*** IPersist methods ***/
333 #define IPersistPropertyBag_GetClassID(p,a) ICOM_CALL1(GetClassID,p,a)
334 /*** IPersistPropertyBag methods ***/
335 #define IPersistPropertyBag_InitNew(p) ICOM_CALL (InitNew,p)
336 #define IPersistPropertyBag_Load(p,a,b) ICOM_CALL2(Load,p,a,b)
337 #define IPersistPropertyBag_Save(p,a,b,c) ICOM_CALL3(Save,p,a,b,c)
341 /*****************************************************************************
342 * IErrorLog interface
344 #define ICOM_INTERFACE IErrorLog
345 #define IErrorLog_METHODS \
346 ICOM_METHOD2(HRESULT,AddError, LPCOLESTR,pszPropName, EXCEPINFO*,pExcepInfo)
347 #define IErrorLog_IMETHODS \
350 ICOM_DEFINE(IErrorLog,IUnknown)
351 #undef ICOM_INTERFACE
353 #ifdef ICOM_CINTERFACE
354 /*** IUnknown methods ***/
355 #define IErrorLog_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
356 #define IErrorLog_AddRef(p) ICOM_CALL (AddRef,p)
357 #define IErrorLog_Release(p) ICOM_CALL (Release,p)
358 /*** IErrorLog methods ***/
359 #define IErrorLog_AddError(p,a,b) ICOM_CALL2(GetClassID,p,a,b)
363 /*****************************************************************************
364 * IPropertyBag interface
366 #define ICOM_INTERFACE IPropertyBag
367 #define IPropertyBag_METHODS \
368 ICOM_METHOD3(HRESULT,Read, LPCOLESTR,pszPropName, VARIANT*,pVar, IErrorLog*,pErrorLog) \
369 ICOM_METHOD2(HRESULT,Write, LPCOLESTR,pszPropName, VARIANT*,pVar)
370 #define IPropertyBag_IMETHODS \
373 ICOM_DEFINE(IPropertyBag,IUnknown)
374 #undef ICOM_INTERFACE
376 #ifdef ICOM_CINTERFACE
377 /*** IUnknown methods ***/
378 #define IPropertyBag_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
379 #define IPropertyBag_AddRef(p) ICOM_CALL (AddRef,p)
380 #define IPropertyBag_Release(p) ICOM_CALL (Release,p)
381 /*** IPropertyBag methods ***/
382 #define IPropertyBag_Read(p,a,b,c) ICOM_CALL3(Read,p,a,b,c)
383 #define IPropertyBag_Write(p,a,b) ICOM_CALL2(Write,p,a,b)
387 /*****************************************************************************
388 * ISpecifyPropertyPages interface
390 #define ICOM_INTERFACE ISpecifyPropertyPages
391 #define ISpecifyPropertyPages_METHODS \
392 ICOM_METHOD1(HRESULT,GetPages, CAUUID*,pPages)
393 #define ISpecifyPropertyPages_IMETHODS \
395 ISpecifyPropertyPages_METHODS
396 ICOM_DEFINE(ISpecifyPropertyPages,IUnknown)
397 #undef ICOM_INTERFACE
399 #ifdef ICOM_CINTERFACE
400 /*** IUnknown methods ***/
401 #define ISpecifyPropertyPages_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
402 #define ISpecifyPropertyPages_AddRef(p) ICOM_CALL (AddRef,p)
403 #define ISpecifyPropertyPages_Release(p) ICOM_CALL (Release,p)
404 /*** ISpecifyPropertyPages methods ***/
405 #define ISpecifyPropertyPages_GetPages(p,a) ICOM_CALL3(GetPages,p,a)
409 /*****************************************************************************
410 * IPerPropertyBrowsing interface
412 #define ICOM_INTERFACE IPerPropertyBrowsing
413 #define IPerPropertyBrowsing_METHODS \
414 ICOM_METHOD2(HRESULT,GetDisplayString, DISPID,dispID, BSTR*,pBstr) \
415 ICOM_METHOD2(HRESULT,MapPropertyToPage, DISPID,dispID, CLSID*,pClsid) \
416 ICOM_METHOD3(HRESULT,GetPredefinedStrings, DISPID,dispID, CALPOLESTR*,pCaStringsOut, CADWORD*,pCaCookiesOut) \
417 ICOM_METHOD3(HRESULT,GetPredefinedValue, DISPID,dispID, DWORD,dwCookie, VARIANT*,pVarOut)
418 #define IPerPropertyBrowsing_IMETHODS \
420 IPerPropertyBrowsing_METHODS
421 ICOM_DEFINE(IPerPropertyBrowsing,IUnknown)
422 #undef ICOM_INTERFACE
424 #ifdef ICOM_CINTERFACE
425 /*** IUnknown methods ***/
426 #define IPerPropertyBrowsing_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
427 #define IPerPropertyBrowsing_AddRef(p) ICOM_CALL (AddRef,p)
428 #define IPerPropertyBrowsing_Release(p) ICOM_CALL (Release,p)
429 /*** IPerPropertyBrowsing methods ***/
430 #define IPerPropertyBrowsing_GetDisplayString(p,a,b) ICOM_CALL2(GetDisplayString,p,a,b)
431 #define IPerPropertyBrowsing_MapPropertyToPage(p,a,b) ICOM_CALL2(MapPropertyToPage,p,a,b)
432 #define IPerPropertyBrowsing_GetPredefinedStrings(p,a,b,c) ICOM_CALL3(GetPredefinedStrings,p,a,b,c)
433 #define IPerPropertyBrowsing_GetPredefinedValue(p,a,b,c) ICOM_CALL3(GetPredefinedValue,p,a,b,c)
438 #endif /* defined(__cplusplus) */
440 #endif /* __WINE_WINE_OBJ_PROPERTY_H */