83546f77f46a13bd7a70bd3b27589005810946cc
[reactos.git] / reactos / w32api / include / ocidl.h
1 #ifndef _OCIDL_H
2 #define _OCIDL_H
3 #if __GNUC__ >= 3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #include <ole2.h>
12 #include <urlmon.h>
13
14 typedef interface IErrorLog *LPERRORLOG;
15 typedef interface IPropertyBag *LPPROPERTYBAG;
16 typedef interface IPropertyBag2 *LPPROPERTYBAG2;
17 typedef interface IEnumConnections *LPENUMCONNECTIONS;
18 typedef interface IConnectionPoint *LPCONNECTIONPOINT;
19 typedef interface IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
20 typedef interface IPropertyPageSite *LPPROPERTYPAGESITE;
21 typedef interface IFont *LPFONT;
22 typedef interface IFontDisp *LPFONTDISP;
23 typedef interface IOleUndoManager *LPOLEUNDOMANAGER;
24 typedef interface IQuickActivate *LPQUICKACTIVATE;
25 typedef interface IObjectWithSite *LPOBJECTWITHSITE;
26
27 #ifndef OLE2ANSI
28 typedef TEXTMETRICW TEXTMETRICOLE;
29 #else
30 typedef TEXTMETRIC TEXTMETRICOLE;
31 #endif
32 typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
33 typedef DWORD OLE_COLOR;
34 typedef UINT OLE_HANDLE;
35 typedef long OLE_XPOS_HIMETRIC;
36 typedef long OLE_YPOS_HIMETRIC;
37 typedef long OLE_XSIZE_HIMETRIC;
38 typedef long OLE_YSIZE_HIMETRIC;
39
40 typedef enum tagREADYSTATE {
41 READYSTATE_UNINITIALIZED = 0,
42 READYSTATE_LOADING = 1,
43 READYSTATE_LOADED = 2,
44 READYSTATE_INTERACTIVE = 3,
45 READYSTATE_COMPLETE = 4
46 } READYSTATE;
47 typedef enum tagPROPBAG2_TYPE {
48 PROPBAG2_TYPE_UNDEFINED = 0,
49 PROPBAG2_TYPE_DATA = 1,
50 PROPBAG2_TYPE_URL = 2,
51 PROPBAG2_TYPE_OBJECT = 3,
52 PROPBAG2_TYPE_STREAM = 4,
53 PROPBAG2_TYPE_STORAGE = 5,
54 PROPBAG2_TYPE_MONIKER = 6
55 } PROPBAG2_TYPE;
56 typedef struct tagPROPBAG2
57 {
58 DWORD dwType;
59 VARTYPE vt;
60 CLIPFORMAT cfType;
61 DWORD dwHint;
62 LPOLESTR pstrName;
63 CLSID clsid;
64 } PROPBAG2;
65 enum tagQACONTAINERFLAGS
66 {
67 QACONTAINER_SHOWHATCHING = 1,
68 QACONTAINER_SHOWGRABHANDLES = 2,
69 QACONTAINER_USERMODE = 4,
70 QACONTAINER_DISPLAYASDEFAULT = 8,
71 QACONTAINER_UIDEAD = 16,
72 QACONTAINER_AUTOCLIP = 32,
73 QACONTAINER_MESSAGEREFLECT = 64,
74 QACONTAINER_SUPPORTSMNEMONICS = 128
75 } QACONTAINERFLAGS;
76 typedef struct tagQACONTAINER
77 {
78 ULONG cbSize;
79 interface IOleClientSite *pClientSite;
80 interface IAdviseSinkEx *pAdviseSink;
81 interface IPropertyNotifySink *pPropertyNotifySink;
82 IUnknown *pUnkEventSink;
83 DWORD dwAmbientFlags;
84 OLE_COLOR colorFore;
85 OLE_COLOR colorBack;
86 interface IFont *pFont;
87 interface IOleUndoManager *pUndoMgr;
88 DWORD dwAppearance;
89 LONG lcid;
90 HPALETTE hpal;
91 interface IBindHost *pBindHost;
92 interface IOleControlSite *pOleControlSite;
93 interface IServiceProvider *pServiceProvider;
94 } QACONTAINER;
95 typedef struct tagQACONTROL
96 {
97 ULONG cbSize;
98 DWORD dwMiscStatus;
99 DWORD dwViewStatus;
100 DWORD dwEventCookie;
101 DWORD dwPropNotifyCookie;
102 DWORD dwPointerActivationPolicy;
103 } QACONTROL;
104 typedef struct tagPOINTF {
105 float x;
106 float y;
107 } POINTF,*LPPOINTF;
108 typedef struct tagCONTROLINFO {
109 ULONG cb;
110 HACCEL hAccel;
111 USHORT cAccel;
112 DWORD dwFlags;
113 } CONTROLINFO,*LPCONTROLINFO;
114 typedef struct tagCONNECTDATA {
115 LPUNKNOWN pUnk;
116 DWORD dwCookie;
117 } CONNECTDATA,*LPCONNECTDATA;
118 typedef struct tagLICINFO {
119 long cbLicInfo;
120 BOOL fRuntimeKeyAvail;
121 BOOL fLicVerified;
122 } LICINFO,*LPLICINFO;
123 typedef struct tagCAUUID {
124 ULONG cElems;
125 GUID *pElems;
126 } CAUUID,*LPCAUUID;
127 typedef struct tagCALPOLESTR {
128 ULONG cElems;
129 LPOLESTR *pElems;
130 } CALPOLESTR,*LPCALPOLESTR;
131 typedef struct tagCADWORD {
132 ULONG cElems;
133 DWORD *pElems;
134 } CADWORD,*LPCADWORD;
135 typedef struct tagPROPPAGEINFO {
136 ULONG cb;
137 LPOLESTR pszTitle;
138 SIZE size;
139 LPOLESTR pszDocString;
140 LPOLESTR pszHelpFile;
141 DWORD dwHelpContext;
142 } PROPPAGEINFO,*LPPROPPAGEINFO;
143
144 EXTERN_C const IID IID_IOleControl;
145 #define INTERFACE IOleControl
146 DECLARE_INTERFACE_(IOleControl,IUnknown)
147 {
148 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
149 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
150 STDMETHOD_(ULONG,Release)(THIS) PURE;
151 STDMETHOD(GetControlInfo)(THIS_ LPCONTROLINFO) PURE;
152 STDMETHOD(OnMnemonic)(THIS_ LPMSG) PURE;
153 STDMETHOD(OnAmbientPropertyChange)(THIS_ DISPID) PURE;
154 STDMETHOD(FreezeEvents)(THIS_ BOOL) PURE;
155 };
156 #undef INTERFACE
157
158 EXTERN_C const IID IID_IOleControlSite;
159 #define INTERFACE IOleControlSite
160 DECLARE_INTERFACE_(IOleControlSite,IUnknown)
161 {
162 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
163 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
164 STDMETHOD_(ULONG,Release)(THIS) PURE;
165 STDMETHOD(OnControlInfoChanged)(THIS) PURE;
166 STDMETHOD(LockInPlaceActive)(THIS_ BOOL) PURE;
167 STDMETHOD(GetExtendedControl)(THIS_ LPDISPATCH*) PURE;
168 STDMETHOD(TransformCoords)(THIS_ POINTL*,POINTF*,DWORD) PURE;
169 STDMETHOD(TranslateAccelerator)(THIS_ LPMSG,DWORD) PURE;
170 STDMETHOD(OnFocus)(THIS_ BOOL) PURE;
171 STDMETHOD(ShowPropertyFrame)(THIS) PURE;
172 };
173 #undef INTERFACE
174
175 #ifdef COBJMACROS
176 #define IOleControlSite_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
177 #define IOleControlSite_AddRef(T) (T)->lpVtbl->AddRef(T)
178 #define IOleControlSite_Release(T) (T)->lpVtbl->Release(T)
179 #define IOleControlSite_OnControlInfoChanged(T) (T)->lpVtbl->OnControlInfoChanged(T)
180 #define IOleControlSite_LockInPlaceActive(T,a) (T)->lpVtbl->LockInPlaceActive(T,a)
181 #define IOleControlSite_GetExtendedControl(T,a) (T)->lpVtbl->GetExtendedControl(T,a)
182 #define IOleControlSite_TransformCoords(T,a,b,c) (T)->lpVtbl->TransformCoords(T,a,b,c)
183 #define IOleControlSite_TranslateAccelerator(T,a,b) (T)->lpVtbl->TranslateAccelerator(T,a,b)
184 #define IOleControlSite_OnFocus(T,a) (T)->lpVtbl->OnFocus(T,a)
185 #define IOleControlSite_ShowPropertyFrame(T) (T)->lpVtbl->ShowPropertyFrame(T)
186 #endif
187
188 EXTERN_C const IID IID_ISimpleFrameSite;
189 #define INTERFACE ISimpleFrameSite
190 DECLARE_INTERFACE_(ISimpleFrameSite,IUnknown)
191 {
192 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
193 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
194 STDMETHOD_(ULONG,Release)(THIS) PURE;
195 STDMETHOD(PreMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,PDWORD) PURE;
196 STDMETHOD(PostMessageFilter)(THIS_ HWND,UINT,WPARAM,LPARAM,LRESULT*,DWORD) PURE;
197 };
198 #undef INTERFACE
199
200 EXTERN_C const IID IID_IErrorLog;
201 #define INTERFACE IErrorLog
202 DECLARE_INTERFACE_(IErrorLog,IUnknown)
203 {
204 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
205 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
206 STDMETHOD_(ULONG,Release)(THIS) PURE;
207 STDMETHOD(AddError)(THIS_ LPCOLESTR,LPEXCEPINFO) PURE;
208 };
209 #undef INTERFACE
210
211 EXTERN_C const IID IID_IPropertyBag;
212 #define INTERFACE IPropertyBag
213 DECLARE_INTERFACE_(IPropertyBag,IUnknown)
214 {
215 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
216 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
217 STDMETHOD_(ULONG,Release)(THIS) PURE;
218 STDMETHOD(Read)(THIS_ LPCOLESTR,LPVARIANT,LPERRORLOG) PURE;
219 STDMETHOD(Write)(THIS_ LPCOLESTR,LPVARIANT) PURE;
220 };
221 #undef INTERFACE
222
223 #ifdef COBJMACROS
224 #define IPropertyBag_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
225 #define IPropertyBag_AddRef(p) (p)->lpVtbl->AddRef(p)
226 #define IPropertyBag_Release(p) (p)->lpVtbl->Release(p)
227 #define IPropertyBag_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
228 #define IPropertyBag_Write(p,a,b) (p)->lpVtbl->Write(p,a,b)
229 #endif
230
231 EXTERN_C const IID IID_IPropertyBag2;
232 #define INTERFACE IPropertyBag2
233 DECLARE_INTERFACE_(IPropertyBag2,IUnknown)
234 {
235 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
236 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
237 STDMETHOD_(ULONG,Release)(THIS) PURE;
238 STDMETHOD(Read)(THIS_ ULONG,PROPBAG2*,LPERRORLOG,VARIANT*,HRESULT*) PURE;
239 STDMETHOD(Write)(THIS_ ULONG,PROPBAG2*,VARIANT*) PURE;
240 STDMETHOD(CountProperties)(THIS_ ULONG*) PURE;
241 STDMETHOD(GetPropertyInfo)(THIS_ ULONG,ULONG,PROPBAG2*,ULONG*) PURE;
242 STDMETHOD(LoadObject)(THIS_ LPCOLESTR,DWORD,IUnknown*,LPERRORLOG) PURE;
243 };
244 #undef INTERFACE
245
246 #ifdef COBJMACROS
247 #define IPropertyBag2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
248 #define IPropertyBag2_AddRef(p) (p)->lpVtbl->AddRef(p)
249 #define IPropertyBag2_Release(p) (p)->lpVtbl->Release(p)
250 #define IPropertyBag2_Read(p,a,b,c) (p)->lpVtbl->Read(p,a,b,c)
251 #define IPropertyBag2_Write(p,a,b) (p)->lpVtbl->Write(p,a,b)
252 #define IPropertyBag2_CountProperties(p,a) (p)->lpVtbl->CountProperties(p,a)
253 #define IPropertyBag2_GetPropertyInfo(p,a,b,c,d) (p)->lpVtbl->GetPropertyInfo(p,a,b,c,d)
254 #define IPropertyBag2_LoadObject(p,a,b,c,d) (p)->lpVtbl->LoadObject(p,a,b,c,d)
255 #endif
256
257 EXTERN_C const IID IID_IPersistPropertyBag;
258 #define INTERFACE IPersistPropertyBag
259 DECLARE_INTERFACE_(IPersistPropertyBag,IPersist)
260 {
261 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
262 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
263 STDMETHOD_(ULONG,Release)(THIS) PURE;
264 STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
265 STDMETHOD(InitNew)(THIS) PURE;
266 STDMETHOD(Load)(THIS_ LPPROPERTYBAG,LPERRORLOG) PURE;
267 STDMETHOD(Save)(THIS_ LPPROPERTYBAG,BOOL,BOOL) PURE;
268 };
269 #undef INTERFACE
270
271 #ifdef COBJMACROS
272 #define IPersistPropertyBag_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
273 #define IPersistPropertyBag_AddRef(T) (T)->lpVtbl->AddRef(T)
274 #define IPersistPropertyBag_Release(T) (T)->lpVtbl->Release(T)
275 #define IPersistPropertyBag_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
276 #define IPersistPropertyBag_InitNew(T) (T)->lpVtbl->InitNew(T)
277 #define IPersistPropertyBag_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
278 #define IPersistPropertyBag_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
279 #endif
280
281 EXTERN_C const IID IID_IPersistPropertyBag2;
282 #define INTERFACE IPersistPropertyBag2
283 DECLARE_INTERFACE_(IPersistPropertyBag2,IPersist)
284 {
285 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
286 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
287 STDMETHOD_(ULONG,Release)(THIS) PURE;
288 STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
289 STDMETHOD(InitNew)(THIS) PURE;
290 STDMETHOD(Load)(THIS_ LPPROPERTYBAG2,LPERRORLOG) PURE;
291 STDMETHOD(Save)(THIS_ LPPROPERTYBAG2,BOOL,BOOL) PURE;
292 STDMETHOD(IsDirty)(THIS) PURE;
293 };
294 #undef INTERFACE
295
296 #ifdef COBJMACROS
297 #define IPersistPropertyBag2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
298 #define IPersistPropertyBag2_AddRef(T) (T)->lpVtbl->AddRef(T)
299 #define IPersistPropertyBag2_Release(T) (T)->lpVtbl->Release(T)
300 #define IPersistPropertyBag2_GetClassID(T,a) (T)->lpVtbl->GetClassID(T,a)
301 #define IPersistPropertyBag2_InitNew(T) (T)->lpVtbl->InitNew(T)
302 #define IPersistPropertyBag2_Load(T,a,b) (T)->lpVtbl->Load(T,a,b)
303 #define IPersistPropertyBag2_Save(T,a,b,c) (T)->lpVtbl->Save(T,a,b,c)
304 #define IPersistPropertyBag2_IsDirty(T) (T)->lpVtbl->IsDirty(T)
305 #endif
306
307 EXTERN_C const IID IID_IPersistStreamInit;
308 #define INTERFACE IPersistStreamInit
309 DECLARE_INTERFACE_(IPersistStreamInit,IPersist)
310 {
311 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
312 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
313 STDMETHOD_(ULONG,Release)(THIS) PURE;
314 STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
315 STDMETHOD(IsDirty)(THIS) PURE;
316 STDMETHOD(Load)(THIS_ LPSTREAM) PURE;
317 STDMETHOD(Save)(THIS_ LPSTREAM,BOOL) PURE;
318 STDMETHOD(GetSizeMax)(THIS_ PULARGE_INTEGER) PURE;
319 STDMETHOD(InitNew)(THIS) PURE;
320 };
321 #undef INTERFACE
322
323 EXTERN_C const IID IID_IPersistMemory;
324 #define INTERFACE IPersistMemory
325 DECLARE_INTERFACE_(IPersistMemory,IPersist)
326 {
327 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
328 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
329 STDMETHOD_(ULONG,Release)(THIS) PURE;
330 STDMETHOD(GetClassID)(THIS_ LPCLSID) PURE;
331 STDMETHOD(IsDirty)(THIS) PURE;
332 STDMETHOD(Load)(THIS_ PVOID,ULONG) PURE;
333 STDMETHOD(Save)(THIS_ PVOID,BOOL,ULONG) PURE;
334 STDMETHOD(GetSizeMax)(THIS_ PULONG) PURE;
335 STDMETHOD(InitNew)(THIS) PURE;
336 };
337 #undef INTERFACE
338
339 EXTERN_C const IID IID_IPropertyNotifySink;
340 #define INTERFACE IPropertyNotifySink
341 DECLARE_INTERFACE_(IPropertyNotifySink,IUnknown)
342 {
343 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
344 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
345 STDMETHOD_(ULONG,Release)(THIS) PURE;
346 STDMETHOD(OnChanged)(THIS_ DISPID) PURE;
347 STDMETHOD(OnRequestEdit)(THIS_ DISPID) PURE;
348 };
349 #undef INTERFACE
350
351 #ifdef COBJMACROS
352 #define IPropertyNotifySink_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
353 #define IPropertyNotifySink_AddRef(T) (T)->lpVtbl->AddRef(T)
354 #define IPropertyNotifySink_Release(T) (T)->lpVtbl->Release(T)
355 #define IPropertyNotifySink_OnChanged(T,a) (T)->lpVtbl->OnChanged(T,a)
356 #define IPropertyNotifySink_OnRequestEdit(T,a) (T)->lpVtbl->OnRequestEdit(T,a)
357 #endif
358
359 EXTERN_C const IID IID_IProvideClassInfo;
360 #define INTERFACE IProvideClassInfo
361 DECLARE_INTERFACE_(IProvideClassInfo,IUnknown)
362 {
363 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
364 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
365 STDMETHOD_(ULONG,Release)(THIS) PURE;
366 STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE;
367 };
368 #undef INTERFACE
369
370 EXTERN_C const IID IID_IProvideClassInfo2;
371 #define INTERFACE IProvideClassInfo2
372 DECLARE_INTERFACE_(IProvideClassInfo2,IProvideClassInfo)
373 {
374 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
375 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
376 STDMETHOD_(ULONG,Release)(THIS) PURE;
377 STDMETHOD(GetClassInfo)(THIS_ LPTYPEINFO*) PURE;
378 STDMETHOD(GetGUID)(THIS_ DWORD,GUID*) PURE;
379 };
380 #undef INTERFACE
381
382 EXTERN_C const IID IID_IConnectionPointContainer;
383 #define INTERFACE IConnectionPointContainer
384 DECLARE_INTERFACE_(IConnectionPointContainer,IUnknown)
385 {
386 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
387 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
388 STDMETHOD_(ULONG,Release)(THIS) PURE;
389 STDMETHOD(EnumConnectionPoints)(THIS_ LPENUMCONNECTIONPOINTS*) PURE;
390 STDMETHOD(FindConnectionPoint)(THIS_ REFIID,LPCONNECTIONPOINT*) PURE;
391 };
392 #undef INTERFACE
393
394 #ifdef COBJMACROS
395 #define IConnectionPointContainer_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
396 #define IConnectionPointContainer_AddRef(T) (T)->lpVtbl->AddRef(T)
397 #define IConnectionPointContainer_Release(T) (T)->lpVtbl->Release(T)
398 #define IConnectionPointContainer_EnumConnectionPoints(T,a) (T)->lpVtbl->EnumConnectionPoints(T,a)
399 #define IConnectionPointContainer_FindConnectionPoint(T,a,b) (T)->lpVtbl->FindConnectionPoint(T,a,b)
400 #endif
401
402 EXTERN_C const IID IID_IEnumConnectionPoints;
403 #define INTERFACE IEnumConnectionPoints
404 DECLARE_INTERFACE_(IEnumConnectionPoints,IUnknown)
405 {
406 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
407 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
408 STDMETHOD_(ULONG,Release)(THIS) PURE;
409 STDMETHOD(Next)(THIS_ ULONG,LPCONNECTIONPOINT*,ULONG*) PURE;
410 STDMETHOD(Skip)(THIS_ ULONG) PURE;
411 STDMETHOD(Reset)(THIS) PURE;
412 STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONPOINTS*) PURE;
413 };
414 #undef INTERFACE
415
416 EXTERN_C const IID IID_IConnectionPoint;
417 #define INTERFACE IConnectionPoint
418 DECLARE_INTERFACE_(IConnectionPoint,IUnknown)
419 {
420 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
421 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
422 STDMETHOD_(ULONG,Release)(THIS) PURE;
423 STDMETHOD(GetConnectionInterface)(THIS_ IID*) PURE;
424 STDMETHOD(GetConnectionPointContainer)(THIS_ IConnectionPointContainer**) PURE;
425 STDMETHOD(Advise)(THIS_ LPUNKNOWN,PDWORD) PURE;
426 STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
427 STDMETHOD(EnumConnections)(THIS_ LPENUMCONNECTIONS*) PURE;
428 };
429 #undef INTERFACE
430
431 #ifdef COBJMACROS
432 #define IConnectionPoint_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
433 #define IConnectionPoint_AddRef(T) (T)->lpVtbl->AddRef(T)
434 #define IConnectionPoint_Release(T) (T)->lpVtbl->Release(T)
435 #define IConnectionPoint_GetConnectionInterface(T,a) (T)->lpVtbl->GetConnectionInterface(T,a)
436 #define IConnectionPoint_GetConnectionPointContainer(T,a) (T)->lpVtbl->GetConnectionPointContainer(T,a)
437 #define IConnectionPoint_Advise(T,a,b) (T)->lpVtbl->Advise(T,a,b)
438 #define IConnectionPoint_Unadvise(T,a) (T)->lpVtbl->Unadvise(T,a)
439 #define IConnectionPoint_EnumConnections(T,a) (T)->lpVtbl->EnumConnections(T,a)
440 #endif
441
442 EXTERN_C const IID IID_IEnumConnections;
443 #define INTERFACE IEnumConnections
444 DECLARE_INTERFACE_(IEnumConnections,IUnknown)
445 {
446 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
447 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
448 STDMETHOD_(ULONG,Release)(THIS) PURE;
449 STDMETHOD(Next)(THIS_ ULONG,LPCONNECTDATA,PULONG) PURE;
450 STDMETHOD(Skip)(THIS_ ULONG) PURE;
451 STDMETHOD(Reset)(THIS) PURE;
452 STDMETHOD(Clone)(THIS_ LPENUMCONNECTIONS*) PURE;
453 };
454 #undef INTERFACE
455
456 #ifdef COBJMACROS
457 #define IEnumConnections_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
458 #define IEnumConnections_AddRef(T) (T)->lpVtbl->AddRef(T)
459 #define IEnumConnections_Release(T) (T)->lpVtbl->Release(T)
460 #define IEnumConnections_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c)
461 #define IEnumConnections_Skip(T,a) (T)->lpVtbl->Skip(T,a)
462 #define IEnumConnections_Reset(T) (T)->lpVtbl->Reset(T)
463 #define IEnumConnections_Clone(T,a) (T)->lpVtbl->Clone(T,a)
464 #endif
465
466 EXTERN_C const IID IID_IClassFactory2;
467 #define INTERFACE IClassFactory2
468 DECLARE_INTERFACE_(IClassFactory2,IClassFactory)
469 {
470 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
471 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
472 STDMETHOD_(ULONG,Release)(THIS) PURE;
473 STDMETHOD(CreateInstance)(THIS_ LPUNKNOWN,REFIID,PVOID*) PURE;
474 STDMETHOD(LockServer)(THIS_ BOOL) PURE;
475 STDMETHOD(GetLicInfo)(THIS_ LPLICINFO) PURE;
476 STDMETHOD(RequestLicKey)(THIS_ DWORD,BSTR*) PURE;
477 STDMETHOD(CreateInstanceLic)(THIS_ LPUNKNOWN,LPUNKNOWN,REFIID,BSTR,PVOID*) PURE;
478 };
479 #undef INTERFACE
480
481 EXTERN_C const IID IID_ISpecifyPropertyPages;
482 #define INTERFACE ISpecifyPropertyPages
483 DECLARE_INTERFACE_(ISpecifyPropertyPages,IUnknown)
484 {
485 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
486 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
487 STDMETHOD_(ULONG,Release)(THIS) PURE;
488 STDMETHOD(GetPages)(THIS_ CAUUID*) PURE;
489 };
490 #undef INTERFACE
491
492 EXTERN_C const IID IID_IPerPropertyBrowsing;
493 #define INTERFACE IPerPropertyBrowsing
494 DECLARE_INTERFACE_(IPerPropertyBrowsing,IUnknown)
495 {
496 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
497 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
498 STDMETHOD_(ULONG,Release)(THIS) PURE;
499 STDMETHOD(GetDisplayString)(THIS_ DISPID,BSTR*) PURE;
500 STDMETHOD(MapPropertyToPage)(THIS_ DISPID,LPCLSID) PURE;
501 STDMETHOD(GetPredefinedStrings)(THIS_ DISPID,CALPOLESTR*,CADWORD*) PURE;
502 STDMETHOD(GetPredefinedValue)(THIS_ DISPID,DWORD,VARIANT*) PURE;
503 };
504 #undef INTERFACE
505
506 EXTERN_C const IID IID_IPropertyPageSite;
507 #define INTERFACE IPropertyPageSite
508 DECLARE_INTERFACE_(IPropertyPageSite,IUnknown)
509 {
510 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
511 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
512 STDMETHOD_(ULONG,Release)(THIS) PURE;
513 STDMETHOD(OnStatusChange)(THIS_ DWORD) PURE;
514 STDMETHOD(GetLocaleID)(THIS_ LCID*) PURE;
515 STDMETHOD(GetPageContainer)(THIS_ LPUNKNOWN*) PURE;
516 STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
517 };
518 #undef INTERFACE
519
520 EXTERN_C const IID IID_IPropertyPage;
521 #define INTERFACE IPropertyPage
522 DECLARE_INTERFACE_(IPropertyPage,IUnknown)
523 {
524 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
525 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
526 STDMETHOD_(ULONG,Release)(THIS) PURE;
527 STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE;
528 STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE;
529 STDMETHOD(Deactivate)(THIS) PURE;
530 STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE;
531 STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE;
532 STDMETHOD(Show)(THIS_ UINT) PURE;
533 STDMETHOD(Move)(THIS_ LPCRECT) PURE;
534 STDMETHOD(IsPageDirty)(THIS) PURE;
535 STDMETHOD(Apply)(THIS) PURE;
536 STDMETHOD(Help)(THIS_ LPCOLESTR) PURE;
537 STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
538 };
539 #undef INTERFACE
540
541 EXTERN_C const IID IID_IPropertyPage2;
542 #define INTERFACE IPropertyPage2
543 DECLARE_INTERFACE_(IPropertyPage2,IPropertyPage)
544 {
545 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
546 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
547 STDMETHOD_(ULONG,Release)(THIS) PURE;
548 STDMETHOD(SetPageSite)(THIS_ LPPROPERTYPAGESITE) PURE;
549 STDMETHOD(Activate)(THIS_ HWND,LPCRECT,BOOL) PURE;
550 STDMETHOD(Deactivate)(THIS) PURE;
551 STDMETHOD(GetPageInfo)(THIS_ LPPROPPAGEINFO) PURE;
552 STDMETHOD(SetObjects)(THIS_ ULONG,LPUNKNOWN*) PURE;
553 STDMETHOD(Show)(THIS_ UINT) PURE;
554 STDMETHOD(Move)(THIS_ LPCRECT) PURE;
555 STDMETHOD(IsPageDirty)(THIS) PURE;
556 STDMETHOD(Apply)(THIS) PURE;
557 STDMETHOD(Help)(THIS_ LPCOLESTR) PURE;
558 STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
559 STDMETHOD(EditProperty)(THIS_ DISPID) PURE;
560 };
561 #undef INTERFACE
562
563 EXTERN_C const IID IID_IFont;
564 #define INTERFACE IFont
565 DECLARE_INTERFACE_(IFont,IUnknown)
566 {
567 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
568 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
569 STDMETHOD_(ULONG,Release)(THIS) PURE;
570 STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
571 STDMETHOD(put_Name)(THIS_ BSTR) PURE;
572 STDMETHOD(get_Size)(THIS_ CY*) PURE;
573 STDMETHOD(put_Size)(THIS_ CY) PURE;
574 STDMETHOD(get_Bold)(THIS_ BOOL*) PURE;
575 STDMETHOD(put_Bold)(THIS_ BOOL) PURE;
576 STDMETHOD(get_Italic)(THIS_ BOOL*) PURE;
577 STDMETHOD(put_Italic)(THIS_ BOOL) PURE;
578 STDMETHOD(get_Underline)(THIS_ BOOL*) PURE;
579 STDMETHOD(put_Underline)(THIS_ BOOL) PURE;
580 STDMETHOD(get_Strikethrough)(THIS_ BOOL*) PURE;
581 STDMETHOD(put_Strikethrough)(THIS_ BOOL) PURE;
582 STDMETHOD(get_Weight)(THIS_ short*) PURE;
583 STDMETHOD(put_Weight)(THIS_ short) PURE;
584 STDMETHOD(get_Charset)(THIS_ short*) PURE;
585 STDMETHOD(put_Charset)(THIS_ short) PURE;
586 STDMETHOD(get_hFont)(THIS_ HFONT*) PURE;
587 STDMETHOD(Clone)(THIS_ IFont**) PURE;
588 STDMETHOD(IsEqual)(THIS_ IFont*) PURE;
589 STDMETHOD(SetRatio)(THIS_ long,long) PURE;
590 STDMETHOD(QueryTextMetrics)(THIS_ LPTEXTMETRICOLE) PURE;
591 STDMETHOD(AddRefHfont)(THIS_ HFONT) PURE;
592 STDMETHOD(ReleaseHfont)(THIS_ HFONT) PURE;
593 STDMETHOD(SetHdc)(THIS_ HDC) PURE;
594 };
595 #undef INTERFACE
596
597 #ifdef COBJMACROS
598 #define IFont_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
599 #define IFont_AddRef(p) (p)->lpVtbl->AddRef(p)
600 #define IFont_Release(p) (p)->lpVtbl->Release(p)
601 #define IFont_get_Name(p,a) (p)->lpVtbl->get_Name(p,a)
602 #define IFont_put_Name(p,a) (p)->lpVtbl->put_Name(p,a)
603 #define IFont_get_Size(p,a) (p)->lpVtbl->get_Size(p,a)
604 #define IFont_put_Size(p,a) (p)->lpVtbl->put_Size(p,a)
605 #define IFont_get_Bold(p,a) (p)->lpVtbl->get_Bold(p,a)
606 #define IFont_put_Bold(p,a) (p)->lpVtbl->put_Bold(p,a)
607 #define IFont_get_Italic(p,a) (p)->lpVtbl->get_Italic(p,a)
608 #define IFont_put_Italic(p,a) (p)->lpVtbl->put_Italic(p,a)
609 #define IFont_get_Underline(p,a) (p)->lpVtbl->get_Underline(p,a)
610 #define IFont_put_Underline(p,a) (p)->lpVtbl->put_Underline(p,a)
611 #define IFont_get_Strikethrough(p,a) (p)->lpVtbl->get_Strikethrough(p,a)
612 #define IFont_put_Strikethrough(p,a) (p)->lpVtbl->put_Strikethrough(p,a)
613 #define IFont_get_Weight(p,a) (p)->lpVtbl->get_Weight(p,a)
614 #define IFont_put_Weight(p,a) (p)->lpVtbl->put_Weight(p,a)
615 #define IFont_get_Charset(p,a) (p)->lpVtbl->get_Charset(p,a)
616 #define IFont_put_Charset(p,a) (p)->lpVtbl->put_Charset(p,a)
617 #define IFont_get_hFont(p,a) (p)->lpVtbl->get_hFont(p,a)
618 #define IFont_Clone(p,a) (p)->lpVtbl->Clone(p,a)
619 #define IFont_IsEqual(p,a) (p)->lpVtbl->IsEqual(p,a)
620 #define IFont_SetRatio(p,a,b) (p)->lpVtbl->SetRatio(p,a,b)
621 #define IFont_QueryTextMetrics(p,a) (p)->lpVtbl->QueryTextMetrics(p,a)
622 #define IFont_AddRefHfont(p,a) (p)->lpVtbl->AddRefHfont(p,a)
623 #define IFont_ReleaseHfont(p,a) (p)->lpVtbl->ReleaseHfont(p,a)
624 #define IFont_SetHdc(p,a) (p)->lpVtbl->SetHdc(p,a)
625 #endif
626
627 EXTERN_C const IID IID_IFontDisp;
628 #define INTERFACE IFontDisp
629 DECLARE_INTERFACE_(IFontDisp,IDispatch)
630 {
631 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
632 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
633 STDMETHOD_(ULONG,Release)(THIS) PURE;
634 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
635 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
636 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
637 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
638 };
639 #undef INTERFACE
640
641 EXTERN_C const IID IID_IPicture;
642 #define INTERFACE IPicture
643 DECLARE_INTERFACE_(IPicture,IUnknown)
644 {
645 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
646 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
647 STDMETHOD_(ULONG,Release)(THIS) PURE;
648 STDMETHOD(get_Handle)(THIS_ OLE_HANDLE*) PURE;
649 STDMETHOD(get_hPal)(THIS_ OLE_HANDLE*) PURE;
650 STDMETHOD(get_Type)(THIS_ short*) PURE;
651 STDMETHOD(get_Width)(THIS_ OLE_XSIZE_HIMETRIC*) PURE;
652 STDMETHOD(get_Height)(THIS_ OLE_YSIZE_HIMETRIC*) PURE;
653 STDMETHOD(Render)(THIS_ HDC,long,long,long,long,OLE_XPOS_HIMETRIC,OLE_YPOS_HIMETRIC,OLE_XSIZE_HIMETRIC,OLE_YSIZE_HIMETRIC,LPCRECT) PURE;
654 STDMETHOD(set_hPal)(THIS_ OLE_HANDLE) PURE;
655 STDMETHOD(get_CurDC)(THIS_ HDC*) PURE;
656 STDMETHOD(SelectPicture)(THIS_ HDC,HDC*,OLE_HANDLE*) PURE;
657 STDMETHOD(get_KeepOriginalFormat)(THIS_ BOOL*) PURE;
658 STDMETHOD(put_KeepOriginalFormat)(THIS_ BOOL) PURE;
659 STDMETHOD(PictureChanged)(THIS) PURE;
660 STDMETHOD(SaveAsFile)(THIS_ LPSTREAM,BOOL,LONG*) PURE;
661 STDMETHOD(get_Attributes)(THIS_ PDWORD) PURE;
662 };
663 #undef INTERFACE
664
665 #ifdef COBJMACROS
666 #define IPicture_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
667 #define IPicture_AddRef(p) (p)->lpVtbl->AddRef(p)
668 #define IPicture_Release(p) (p)->lpVtbl->Release(p)
669 #define IPicture_get_Handle(p,a) (p)->lpVtbl->get_Handle(p,a)
670 #define IPicture_get_hPal(p,a) (p)->lpVtbl->get_hPal(p,a)
671 #define IPicture_get_Type(p,a) (p)->lpVtbl->get_Type(p,a)
672 #define IPicture_get_Width(p,a) (p)->lpVtbl->get_Width(p,a)
673 #define IPicture_get_Height(p,a) (p)->lpVtbl->get_Height(p,a)
674 #define IPicture_Render(p,a,b,c,d,e,f,g,h,i,j) (p)->lpVtbl->Render(p,a,b,c,d,e,f,g,h,i,j)
675 #define IPicture_set_hPal(p,a) (p)->lpVtbl->set_hPal(p,a)
676 #define IPicture_get_CurDC(p,a) (p)->lpVtbl->get_CurDC(p,a)
677 #define IPicture_SelectPicture(p,a,b,c) (p)->lpVtbl->SelectPicture(p,a,b,c)
678 #define IPicture_get_KeepOriginalFormat(p,a) (p)->lpVtbl->get_KeepOriginalFormat(p,a)
679 #define IPicture_put_KeepOriginalFormat(p,a) (p)->lpVtbl->put_KeepOriginalFormat(p,a)
680 #define IPicture_PictureChanged(p) (p)->lpVtbl->PictureChanged(p)
681 #define IPicture_SaveAsFile(p,a,b,c) (p)->lpVtbl->SaveAsFile(p,a,b,c)
682 #define IPicture_get_Attributes(p,a) (p)->lpVtbl->get_Attributes(p,a)
683 #endif
684
685 EXTERN_C const IID IID_IPictureDisp;
686 #define INTERFACE IPictureDisp
687 DECLARE_INTERFACE_(IPictureDisp,IDispatch)
688 {
689 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
690 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
691 STDMETHOD_(ULONG,Release)(THIS) PURE;
692 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
693 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
694 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
695 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
696 };
697 #undef INTERFACE
698
699 EXTERN_C const IID IID_IOleInPlaceSiteEx;
700 #define INTERFACE IOleInPlaceSiteEx
701 DECLARE_INTERFACE_(IOleInPlaceSiteEx,IOleInPlaceSite)
702 {
703 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
704 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
705 STDMETHOD_(ULONG,Release)(THIS) PURE;
706 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
707 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
708 STDMETHOD(CanInPlaceActivate)(THIS) PURE;
709 STDMETHOD(OnInPlaceActivate)(THIS) PURE;
710 STDMETHOD(OnUIActivate)(THIS) PURE;
711 STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
712 STDMETHOD(Scroll)(THIS_ SIZE) PURE;
713 STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
714 STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
715 STDMETHOD(DiscardUndoState)(THIS) PURE;
716 STDMETHOD(DeactivateAndUndo)(THIS) PURE;
717 STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
718 STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
719 STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
720 STDMETHOD(RequestUIActivate)(THIS) PURE;
721 };
722 #undef INTERFACE
723
724 EXTERN_C const IID IID_IObjectWithSite;
725 #define INTERFACE IObjectWithSite
726 DECLARE_INTERFACE_(IObjectWithSite,IUnknown)
727 {
728 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
729 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
730 STDMETHOD_(ULONG,Release)(THIS) PURE;
731 STDMETHOD(SetSite)(THIS_ IUnknown*) PURE;
732 STDMETHOD(GetSite)(THIS_ REFIID, void**) PURE;
733 };
734 #undef INTERFACE
735
736 #ifdef COBJMACROS
737 /*** IUnknown methods ***/
738 #define IObjectWithSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
739 #define IObjectWithSite_AddRef(p) (p)->lpVtbl->AddRef(p)
740 #define IObjectWithSite_Release(p) (p)->lpVtbl->Release(p)
741 /*** IObjectWithSite methods ***/
742 #define IObjectWithSite_SetSite(p,a) (p)->lpVtbl->SetSite(p,a)
743 #define IObjectWithSite_GetSite(p,a,b) (p)->lpVtbl->GetSite(p,a,b)
744 #endif
745
746 EXTERN_C const IID IID_IOleInPlaceSiteWindowless;
747 #define INTERFACE IOleInPlaceSiteWindowless
748 DECLARE_INTERFACE_(IOleInPlaceSiteWindowless,IOleInPlaceSiteEx)
749 {
750 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
751 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
752 STDMETHOD_(ULONG,Release)(THIS) PURE;
753 STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
754 STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
755 STDMETHOD(CanInPlaceActivate)(THIS) PURE;
756 STDMETHOD(OnInPlaceActivate)(THIS) PURE;
757 STDMETHOD(OnUIActivate)(THIS) PURE;
758 STDMETHOD(GetWindowContext)(THIS_ IOleInPlaceFrame**,IOleInPlaceUIWindow**,LPRECT,LPRECT,LPOLEINPLACEFRAMEINFO) PURE;
759 STDMETHOD(Scroll)(THIS_ SIZE) PURE;
760 STDMETHOD(OnUIDeactivate)(THIS_ BOOL) PURE;
761 STDMETHOD(OnInPlaceDeactivate)(THIS) PURE;
762 STDMETHOD(DiscardUndoState)(THIS) PURE;
763 STDMETHOD(DeactivateAndUndo)(THIS) PURE;
764 STDMETHOD(OnPosRectChange)(THIS_ LPCRECT) PURE;
765
766 STDMETHOD(OnInPlaceActivateEx)(THIS_ BOOL*,DWORD) PURE;
767 STDMETHOD(OnInPlaceDeactivateEx)(THIS_ BOOL) PURE;
768 STDMETHOD(RequestUIActivate)(THIS) PURE;
769
770 STDMETHOD(CanWindowlessActivate)(THIS) PURE;
771 STDMETHOD(GetCapture)(THIS) PURE;
772 STDMETHOD(SetCapture)(THIS_ BOOL) PURE;
773 STDMETHOD(GetFocus)(THIS) PURE;
774 STDMETHOD(SetFocus)(THIS_ BOOL) PURE;
775 STDMETHOD(GetDC)(THIS_ LPCRECT,DWORD,HDC*) PURE;
776 STDMETHOD(ReleaseDC)(THIS_ HDC) PURE;
777 STDMETHOD(InvalidateRect)(THIS_ LPCRECT,BOOL) PURE;
778 STDMETHOD(InvalidateRgn)(THIS_ HRGN,BOOL) PURE;
779 STDMETHOD(ScrollRect)(THIS_ INT,INT,LPCRECT,LPCRECT) PURE;
780 STDMETHOD(AdjustRect)(THIS_ LPCRECT) PURE;
781 STDMETHOD(OnDefWindowMessage)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE;
782 };
783 #undef INTERFACE
784
785 EXTERN_C const IID IID_IAdviseSinkEx;
786 #define INTERFACE IAdviseSinkEx
787 DECLARE_INTERFACE_(IAdviseSinkEx,IUnknown)
788 {
789 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
790 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
791 STDMETHOD_(ULONG,Release)(THIS) PURE;
792 STDMETHOD_(void,OnDataChange)(THIS_ FORMATETC*,STGMEDIUM*) PURE;
793 STDMETHOD_(void,OnViewChange)(THIS_ DWORD,LONG) PURE;
794 STDMETHOD_(void,OnRename)(THIS_ IMoniker*) PURE;
795 STDMETHOD_(void,OnSave)(THIS) PURE;
796 STDMETHOD_(void,OnClose)(THIS) PURE;
797 STDMETHOD(OnViewStatusChange)(THIS_ DWORD) PURE;
798 };
799 #undef INTERFACE
800
801 EXTERN_C const IID IID_IPointerInactive;
802 #define INTERFACE IPointerInactive
803 DECLARE_INTERFACE_(IPointerInactive,IUnknown)
804 {
805 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
806 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
807 STDMETHOD_(ULONG,Release)(THIS) PURE;
808 STDMETHOD(GetActivationPolicy)(THIS_ DWORD*) PURE;
809 STDMETHOD(OnInactiveMouseMove)(THIS_ LPCRECT,LONG,LONG,DWORD) PURE;
810 STDMETHOD(OnInactiveSetCursor)(THIS_ LPCRECT,LONG,LONG,DWORD,BOOL) PURE;
811 };
812 #undef INTERFACE
813
814 EXTERN_C const IID IID_IOleUndoUnit;
815 #define INTERFACE IOleUndoUnit
816 DECLARE_INTERFACE_(IOleUndoUnit,IUnknown)
817 {
818 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
819 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
820 STDMETHOD_(ULONG,Release)(THIS) PURE;
821 STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE;
822 STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
823 STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE;
824 STDMETHOD(OnNextAdd)(THIS) PURE;
825 };
826 #undef INTERFACE
827
828 EXTERN_C const IID IID_IOleParentUndoUnit;
829 #define INTERFACE IOleParentUndoUnit
830 DECLARE_INTERFACE_(IOleParentUndoUnit,IOleUndoUnit)
831 {
832 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
833 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
834 STDMETHOD_(ULONG,Release)(THIS) PURE;
835 STDMETHOD(Do)(THIS_ LPOLEUNDOMANAGER) PURE;
836 STDMETHOD(GetDescription)(THIS_ BSTR*) PURE;
837 STDMETHOD(GetUnitType)(THIS_ CLSID*,LONG*) PURE;
838 STDMETHOD(OnNextAdd)(THIS) PURE;
839 STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE;
840 STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE;
841 STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE;
842 STDMETHOD(FindUnit)(THIS_ IOleUndoUnit*) PURE;
843 STDMETHOD(GetParentState)(THIS_ DWORD*) PURE;
844 };
845 #undef INTERFACE
846
847 EXTERN_C const IID IID_IEnumOleUndoUnits;
848 #define INTERFACE IEnumOleUndoUnits
849 DECLARE_INTERFACE_(IEnumOleUndoUnits,IUnknown)
850 {
851 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
852 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
853 STDMETHOD_(ULONG,Release)(THIS) PURE;
854 STDMETHOD(Next)(THIS_ ULONG,IOleUndoUnit**,ULONG*) PURE;
855 STDMETHOD(Skip)(THIS_ ULONG) PURE;
856 STDMETHOD(Reset)(THIS) PURE;
857 STDMETHOD(Clone)(THIS_ IEnumOleUndoUnits**) PURE;
858 };
859 #undef INTERFACE
860
861 EXTERN_C const IID IID_IOleUndoManager;
862 #define INTERFACE IOleUndoManager
863 DECLARE_INTERFACE_(IOleUndoManager,IUnknown)
864 {
865 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
866 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
867 STDMETHOD_(ULONG,Release)(THIS) PURE;
868 STDMETHOD(Open)(THIS_ IOleParentUndoUnit*) PURE;
869 STDMETHOD(Close)(THIS_ IOleParentUndoUnit*,BOOL) PURE;
870 STDMETHOD(Add)(THIS_ IOleUndoUnit*) PURE;
871 STDMETHOD(GetOpenParentState)(THIS_ DWORD*) PURE;
872 STDMETHOD(DiscardFrom)(THIS_ IOleUndoUnit*) PURE;
873 STDMETHOD(UndoTo)(THIS_ IOleUndoUnit*) PURE;
874 STDMETHOD(RedoTo)(THIS_ IOleUndoUnit*) PURE;
875 STDMETHOD(EnumUndoable)(THIS_ IEnumOleUndoUnits**) PURE;
876 STDMETHOD(EnumRedoable)(THIS_ IEnumOleUndoUnits**) PURE;
877 STDMETHOD(GetLastUndoDescription)(THIS_ BSTR*) PURE;
878 STDMETHOD(GetLastRedoDescription)(THIS_ BSTR*) PURE;
879 STDMETHOD(Enable)(THIS_ BOOL) PURE;
880 };
881 #undef INTERFACE
882
883 EXTERN_C const IID IID_IQuickActivate;
884 #define INTERFACE IQuickActivate
885 DECLARE_INTERFACE_(IQuickActivate,IUnknown)
886 {
887 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
888 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
889 STDMETHOD_(ULONG,Release)(THIS) PURE;
890 STDMETHOD(QuickActivate)(THIS_ QACONTAINER*,QACONTROL*) PURE;
891 STDMETHOD(SetContentExtent)(THIS_ LPSIZEL) PURE;
892 STDMETHOD(GetContentExtent)(THIS_ LPSIZEL) PURE;
893 };
894 #undef INTERFACE
895
896 #ifdef __cplusplus
897 }
898 #endif
899 #endif