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