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