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