• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cpp_quote("/**")
2cpp_quote(" * This file is part of the mingw-w64 runtime package.")
3cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
4cpp_quote(" */")
5cpp_quote("")
6cpp_quote("#include <winapifamily.h>")
7cpp_quote("")
8
9#ifndef DO_NO_IMPORTS
10import "oleidl.idl";
11import "oaidl.idl";
12import "oleidl.idl";
13import "servprov.idl";
14import "urlmon.idl";
15#endif
16
17cpp_quote("")
18cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
19interface IEnumConnections;
20interface IEnumConnectionPoints;
21interface IConnectionPoint;
22interface IConnectionPointContainer;
23cpp_quote("#endif")
24
25cpp_quote("")
26cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
27interface IBindHost;
28interface IClassFactory2;
29interface IDropTarget;
30interface IProvideClassInfo;
31interface IProvideClassInfo2;
32interface IProvideMultipleClassInfo;
33interface IOleClientSite;
34interface IOleControl;
35interface IOleControlSite;
36interface IPropertyPage;
37interface IPropertyPage2;
38interface IPropertyPageSite;
39interface IPropertyNotifySink;
40interface ISpecifyPropertyPages;
41interface IPersistMemory;
42interface IPersistStreamInit;
43interface IPersistPropertyBag;
44interface ISimpleFrameSite;
45interface IFont;
46interface IPicture;
47interface IFontEventsDisp;
48interface IFontDisp;
49interface IPictureDisp;
50interface IAdviseSinkEx;
51interface IOleInPlaceObjectWindowless;
52interface IOleInPlaceSite;
53interface IOleInPlaceSiteEx;
54interface IOleInPlaceSiteWindowless;
55interface IViewObject2;
56interface IViewObjectEx;
57interface IOleUndoUnit;
58interface IOleParentUndoUnit;
59interface IEnumOleUndoUnits;
60interface IOleUndoManager;
61interface IPointerInactive;
62interface IObjectWithSite;
63interface IErrorLog;
64interface IPropertyBag;
65interface IPerPropertyBrowsing;
66interface IPropertyBag2;
67interface IPersistPropertyBag2;
68interface IQuickActivate;
69cpp_quote("#endif")
70
71cpp_quote("")
72#if !defined (_DCOM_OA_REMOTING_) && !defined (_DCOM_OC_REMOTING_)
73cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
74[version (1.0), pointer_default (unique)]
75interface IOleControlTypes {
76  typedef [v1_enum] enum tagUASFLAGS {
77    UAS_NORMAL = 0x00,
78    UAS_BLOCKED = 0x01,
79    UAS_NOPARENTENABLE = 0x02,
80    UAS_MASK = 0x03
81  } UASFLAGS;
82  cpp_quote("")
83  typedef [v1_enum] enum tagREADYSTATE {
84    READYSTATE_UNINITIALIZED= 0,
85    READYSTATE_LOADING = 1,
86    READYSTATE_LOADED = 2,
87    READYSTATE_INTERACTIVE = 3,
88    READYSTATE_COMPLETE = 4
89  } READYSTATE;
90}
91cpp_quote("#endif")
92
93cpp_quote("")
94cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
95[object, uuid (B196B287-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
96interface IEnumConnections : IUnknown {
97  typedef IEnumConnections *PENUMCONNECTIONS;
98  typedef IEnumConnections *LPENUMCONNECTIONS;
99  typedef struct tagCONNECTDATA {
100    IUnknown *pUnk;
101    DWORD dwCookie;
102  } CONNECTDATA;
103
104cpp_quote("")
105  typedef struct tagCONNECTDATA *PCONNECTDATA;
106  typedef struct tagCONNECTDATA *LPCONNECTDATA;
107cpp_quote("")
108  [local] HRESULT Next ([in] ULONG cConnections,[out, size_is (cConnections), length_is (*pcFetched)]LPCONNECTDATA rgcd,[out] ULONG *pcFetched);
109  [call_as (Next)] HRESULT RemoteNext ([in] ULONG cConnections,[out, size_is (cConnections), length_is (*pcFetched)]LPCONNECTDATA rgcd,[out] ULONG *pcFetched);
110  HRESULT Skip ([in] ULONG cConnections);
111  HRESULT Reset (void);
112  HRESULT Clone ([out] IEnumConnections **ppEnum);
113}
114
115cpp_quote("")
116[object, uuid (B196B286-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
117interface IConnectionPoint : IUnknown {
118  typedef IConnectionPoint *PCONNECTIONPOINT;
119  typedef IConnectionPoint *LPCONNECTIONPOINT;
120cpp_quote("")
121  HRESULT GetConnectionInterface ([out] IID *pIID);
122  HRESULT GetConnectionPointContainer ([out] IConnectionPointContainer **ppCPC);
123  HRESULT Advise ([in] IUnknown *pUnkSink,[out] DWORD *pdwCookie);
124  HRESULT Unadvise ([in] DWORD dwCookie);
125  HRESULT EnumConnections ([out] IEnumConnections **ppEnum);
126}
127
128cpp_quote("")
129[object, uuid (B196B285-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
130interface IEnumConnectionPoints : IUnknown {
131  typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS;
132  typedef IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
133cpp_quote("")
134  [local] HRESULT Next ([in] ULONG cConnections,[out, size_is (cConnections), length_is (*pcFetched)]LPCONNECTIONPOINT *ppCP,[out] ULONG *pcFetched);
135  [call_as (Next)] HRESULT RemoteNext ([in] ULONG cConnections,[out, size_is (cConnections), length_is (*pcFetched)]LPCONNECTIONPOINT *ppCP,[out] ULONG *pcFetched);
136  HRESULT Skip ([in] ULONG cConnections);
137  HRESULT Reset (void);
138  HRESULT Clone ([out] IEnumConnectionPoints **ppEnum);
139}
140
141cpp_quote("")
142[object, uuid (B196B284-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
143interface IConnectionPointContainer : IUnknown {
144  typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER;
145  typedef IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
146cpp_quote("")
147  HRESULT EnumConnectionPoints ([out] IEnumConnectionPoints **ppEnum);
148  HRESULT FindConnectionPoint ([in] REFIID riid,[out] IConnectionPoint **ppCP);
149}
150cpp_quote("#endif")
151
152cpp_quote("")
153cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
154[object, uuid (B196B28F-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
155interface IClassFactory2 : IClassFactory {
156  typedef IClassFactory2 *LPCLASSFACTORY2;
157cpp_quote("")
158  typedef struct tagLICINFO {
159    LONG cbLicInfo;
160    BOOL fRuntimeKeyAvail;
161    BOOL fLicVerified;
162  } LICINFO;
163
164cpp_quote("")
165  typedef struct tagLICINFO *LPLICINFO;
166cpp_quote("")
167  HRESULT GetLicInfo ([in, out] LICINFO *pLicInfo);
168  HRESULT RequestLicKey ([in] DWORD dwReserved,[out] BSTR *pBstrKey);
169  [local] HRESULT CreateInstanceLic ([in] IUnknown *pUnkOuter,[in] IUnknown *pUnkReserved,[in] REFIID riid,[in] BSTR bstrKey,[out, iid_is (riid)] PVOID *ppvObj);
170  [call_as (CreateInstanceLic)] HRESULT RemoteCreateInstanceLic ([in] REFIID riid,[in] BSTR bstrKey,[out, iid_is (riid)] IUnknown **ppvObj);
171}
172
173cpp_quote("")
174[object, uuid (B196B283-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
175interface IProvideClassInfo : IUnknown {
176  typedef IProvideClassInfo *LPPROVIDECLASSINFO;
177cpp_quote("")
178  HRESULT GetClassInfo ([out] ITypeInfo **ppTI);
179}
180
181cpp_quote("")
182[object, uuid (A6BC3AC0-DBAA-11ce-9de3-00aa004bb851), pointer_default (unique)]
183interface IProvideClassInfo2 : IProvideClassInfo {
184  typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
185cpp_quote("")
186  typedef enum tagGUIDKIND {
187    GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
188  } GUIDKIND;
189cpp_quote("")
190  HRESULT GetGUID ([in] DWORD dwGuidKind,[out] GUID *pGUID);
191}
192
193cpp_quote("")
194[object, uuid (A7ABA9C1-8983-11cf-8f20-00805f2cd064), pointer_default (unique)]
195interface IProvideMultipleClassInfo : IProvideClassInfo2 {
196  cpp_quote("#define MULTICLASSINFO_GETTYPEINFO 0x1")
197  cpp_quote("#define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x2")
198  cpp_quote("#define MULTICLASSINFO_GETIIDPRIMARY 0x4")
199  cpp_quote("#define MULTICLASSINFO_GETIIDSOURCE 0x8")
200  cpp_quote("")
201cpp_quote("#define TIFLAGS_EXTENDDISPATCHONLY 0x1")
202
203cpp_quote("")
204  typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
205cpp_quote("")
206  HRESULT GetMultiTypeInfoCount ([out] ULONG *pcti);
207  HRESULT GetInfoOfIndex ([in] ULONG iti,[in] DWORD dwFlags,[out] ITypeInfo **pptiCoClass,[out] DWORD *pdwTIFlags,[out] ULONG *pcdispidReserved,[out] IID *piidPrimary,[out] IID *piidSource);
208}
209
210cpp_quote("")
211[object, uuid (B196B288-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
212interface IOleControl : IUnknown {
213  typedef IOleControl *LPOLECONTROL;
214cpp_quote("")
215  typedef struct tagCONTROLINFO {
216    ULONG cb;
217    HACCEL hAccel;
218    USHORT cAccel;
219    DWORD dwFlags;
220  } CONTROLINFO;
221cpp_quote("")
222  typedef struct tagCONTROLINFO *LPCONTROLINFO;
223cpp_quote("")
224  typedef enum tagCTRLINFO {
225    CTRLINFO_EATS_RETURN = 1,
226    CTRLINFO_EATS_ESCAPE = 2
227  } CTRLINFO;
228cpp_quote("")
229  HRESULT GetControlInfo ([in, out] CONTROLINFO *pCI);
230  HRESULT OnMnemonic ([in] MSG *pMsg);
231  HRESULT OnAmbientPropertyChange ([in] DISPID dispID);
232  HRESULT FreezeEvents ([in] BOOL bFreeze);
233}
234
235cpp_quote("")
236[object, uuid (B196B289-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
237interface IOleControlSite : IUnknown {
238  typedef IOleControlSite *LPOLECONTROLSITE;
239cpp_quote("")
240  typedef struct tagPOINTF {
241    FLOAT x;
242    FLOAT y;
243  } POINTF;
244cpp_quote("")
245  typedef struct tagPOINTF *LPPOINTF;
246cpp_quote("")
247  typedef enum tagXFORMCOORDS {
248    XFORMCOORDS_POSITION = 0x1,
249    XFORMCOORDS_SIZE = 0x2,
250    XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
251    XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
252    XFORMCOORDS_EVENTCOMPAT = 0x10
253  } XFORMCOORDS;
254cpp_quote("")
255  HRESULT OnControlInfoChanged (void);
256  HRESULT LockInPlaceActive ([in] BOOL fLock);
257  HRESULT GetExtendedControl ([out] IDispatch **ppDisp);
258  HRESULT TransformCoords ([in, out] POINTL *pPtlHimetric,[in, out] POINTF *pPtfContainer,[in] DWORD dwFlags);
259  HRESULT TranslateAccelerator ([in] MSG *pMsg,[in] DWORD grfModifiers);
260  HRESULT OnFocus ([in] BOOL fGotFocus);
261  HRESULT ShowPropertyFrame (void);
262}
263
264cpp_quote("")
265[object, uuid (B196B28D-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
266interface IPropertyPage : IUnknown {
267  typedef IPropertyPage *LPPROPERTYPAGE;
268cpp_quote("")
269  typedef struct tagPROPPAGEINFO {
270    ULONG cb;
271    LPOLESTR pszTitle;
272    SIZE size;
273    LPOLESTR pszDocString;
274    LPOLESTR pszHelpFile;
275    DWORD dwHelpContext;
276  } PROPPAGEINFO;
277cpp_quote("")
278  typedef struct tagPROPPAGEINFO *LPPROPPAGEINFO;
279cpp_quote("")
280  HRESULT SetPageSite ([in] IPropertyPageSite *pPageSite);
281  HRESULT Activate ([in] HWND hWndParent,[in] LPCRECT pRect,[in] BOOL bModal);
282  HRESULT Deactivate (void);
283  HRESULT GetPageInfo ([out] PROPPAGEINFO *pPageInfo);
284  HRESULT SetObjects ([in] ULONG cObjects,[in, size_is (cObjects)] IUnknown **ppUnk);
285  HRESULT Show ([in] UINT nCmdShow);
286  HRESULT Move ([in] LPCRECT pRect);
287  HRESULT IsPageDirty (void);
288  HRESULT Apply (void);
289  HRESULT Help ([in] LPCOLESTR pszHelpDir);
290  HRESULT TranslateAccelerator ([in] MSG *pMsg);
291}
292
293cpp_quote("")
294[object, uuid (01e44665-24ac-101b-84ed-08002b2ec713), pointer_default (unique)]
295interface IPropertyPage2 : IPropertyPage {
296  typedef IPropertyPage2 *LPPROPERTYPAGE2;
297cpp_quote("")
298  HRESULT EditProperty ([in] DISPID dispID);
299}
300
301cpp_quote("")
302[object, uuid (B196B28C-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
303interface IPropertyPageSite : IUnknown {
304  typedef IPropertyPageSite *LPPROPERTYPAGESITE;
305cpp_quote("")
306  typedef enum tagPROPPAGESTATUS {
307    PROPPAGESTATUS_DIRTY = 0x01,
308    PROPPAGESTATUS_VALIDATE = 0x02,
309    PROPPAGESTATUS_CLEAN = 0x04
310  } PROPPAGESTATUS;
311cpp_quote("")
312  HRESULT OnStatusChange ([in] DWORD dwFlags);
313  HRESULT GetLocaleID ([out] LCID *pLocaleID);
314  HRESULT GetPageContainer ([out] IUnknown **ppUnk);
315  HRESULT TranslateAccelerator ([in] MSG *pMsg);
316}
317
318cpp_quote("")
319[object, uuid (9bfbbc02-EFF1-101a-84ed-00aa00341d07), pointer_default (unique)]
320interface IPropertyNotifySink : IUnknown {
321  typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
322cpp_quote("")
323  HRESULT OnChanged ([in] DISPID dispID);
324  HRESULT OnRequestEdit ([in] DISPID dispID);
325}
326
327cpp_quote("")
328[object, uuid (B196B28B-BAB4-101a-B69C-00aa00341d07), pointer_default (unique)]
329interface ISpecifyPropertyPages : IUnknown {
330  typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
331cpp_quote("")
332  typedef struct tagCAUUID {
333    ULONG cElems;
334    [size_is (cElems)] GUID *pElems;
335  } CAUUID;
336cpp_quote("")
337  typedef struct tagCAUUID *LPCAUUID;
338cpp_quote("")
339  HRESULT GetPages ([out] CAUUID *pPages);
340}
341
342cpp_quote("")
343[object, uuid (BD1AE5E0-A6AE-11ce-BD37-504200c10000), pointer_default (unique)]
344interface IPersistMemory : IPersist {
345  typedef IPersistMemory *LPPERSISTMEMORY;
346cpp_quote("")
347  HRESULT IsDirty (void);
348  [local] HRESULT Load ([in, size_is (cbSize)] LPVOID pMem,[in] ULONG cbSize);
349  [call_as (Load)] HRESULT RemoteLoad ([in, size_is (cbSize)] BYTE *pMem,[in] ULONG cbSize);
350  [local] HRESULT Save ([out, size_is (cbSize)] LPVOID pMem,[in] BOOL fClearDirty,[in] ULONG cbSize);
351  [call_as (Save)] HRESULT RemoteSave ([out, size_is (cbSize)] BYTE *pMem,[in] BOOL fClearDirty,[in] ULONG cbSize);
352  HRESULT GetSizeMax ([out] ULONG *pCbSize);
353  HRESULT InitNew (void);
354}
355
356cpp_quote("")
357[object, uuid (7fd52380-4e07-101b-AE2D-08002b2ec713), pointer_default (unique)]
358interface IPersistStreamInit : IPersist {
359  typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
360cpp_quote("")
361  HRESULT IsDirty (void);
362  HRESULT Load ([in] LPSTREAM pStm);
363  HRESULT Save ([in] LPSTREAM pStm,[in] BOOL fClearDirty);
364  HRESULT GetSizeMax ([out] ULARGE_INTEGER *pCbSize);
365  HRESULT InitNew (void);
366}
367
368cpp_quote("")
369[object, uuid (37d84f60-42cb-11ce-8135-00aa004bb851), pointer_default (unique)]
370interface IPersistPropertyBag : IPersist {
371  typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
372cpp_quote("")
373  HRESULT InitNew (void);
374  HRESULT Load ([in] IPropertyBag *pPropBag,[in, unique] IErrorLog *pErrorLog);
375  HRESULT Save ([in] IPropertyBag *pPropBag,[in] BOOL fClearDirty,[in] BOOL fSaveAllProperties);
376}
377
378cpp_quote("")
379[object, uuid (742b0e01-14e6-101b-914e-00aa00300cab), pointer_default (unique)]
380interface ISimpleFrameSite : IUnknown {
381  typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
382cpp_quote("")
383  HRESULT PreMessageFilter ([in] HWND hWnd,[in] UINT msg,[in] WPARAM wp,[in] LPARAM lp,[out] LRESULT *plResult,[out] DWORD *pdwCookie);
384  HRESULT PostMessageFilter ([in] HWND hWnd,[in] UINT msg,[in] WPARAM wp,[in] LPARAM lp,[out] LRESULT *plResult,[in] DWORD dwCookie);
385}
386
387cpp_quote("")
388[object, uuid (BEF6E002-A874-101a-8bba-00aa00300cab), pointer_default (unique)]
389interface IFont : IUnknown {
390  typedef IFont *LPFONT;
391cpp_quote("")
392  cpp_quote("#ifndef OLE2ANSI")
393  typedef TEXTMETRICW TEXTMETRICOLE;
394  cpp_quote("#else")
395  cpp_quote("typedef TEXTMETRIC TEXTMETRICOLE;")
396  cpp_quote("#endif")
397
398cpp_quote("")
399  typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
400cpp_quote("")
401  HRESULT get_Name ([out] BSTR *pName);
402  HRESULT put_Name ([in] BSTR name);
403  HRESULT get_Size ([out] CY *pSize);
404  HRESULT put_Size ([in] CY size);
405  HRESULT get_Bold ([out] BOOL *pBold);
406  HRESULT put_Bold ([in] BOOL bold);
407  HRESULT get_Italic ([out] BOOL *pItalic);
408  HRESULT put_Italic ([in] BOOL italic);
409  HRESULT get_Underline ([out] BOOL *pUnderline);
410  HRESULT put_Underline ([in] BOOL underline);
411  HRESULT get_Strikethrough ([out] BOOL *pStrikethrough);
412  HRESULT put_Strikethrough ([in] BOOL strikethrough);
413  HRESULT get_Weight ([out] SHORT *pWeight);
414  HRESULT put_Weight ([in] SHORT weight);
415  HRESULT get_Charset ([out] SHORT *pCharset);
416  HRESULT put_Charset ([in] SHORT charset);
417  HRESULT get_hFont ([out] HFONT *phFont);
418  HRESULT Clone ([out] IFont **ppFont);
419  HRESULT IsEqual ([in] IFont *pFontOther);
420  HRESULT SetRatio ([in] LONG cyLogical,[in] LONG cyHimetric);
421  HRESULT QueryTextMetrics ([out] TEXTMETRICOLE *pTM);
422  HRESULT AddRefHfont ([in] HFONT hFont);
423  HRESULT ReleaseHfont ([in] HFONT hFont);
424  HRESULT SetHdc ([in] HDC hDC);
425}
426
427cpp_quote("")
428[object, uuid (7bf80980-BF32-101a-8bbb-00aa00300cab), pointer_default (unique)]
429interface IPicture : IUnknown {
430  typedef IPicture *LPPICTURE;
431cpp_quote("")
432  typedef enum tagPictureAttributes {
433    PICTURE_SCALABLE = 0x1,
434    PICTURE_TRANSPARENT = 0x2
435  } PICTUREATTRIBUTES;
436cpp_quote("")
437  typedef [uuid (66504313-BE0F-101a-8bbb-00aa00300cab), public] UINT OLE_HANDLE;
438  typedef [uuid (66504306-BE0F-101a-8bbb-00aa00300cab), hidden] LONG OLE_XPOS_HIMETRIC;
439  typedef [uuid (66504307-BE0F-101a-8bbb-00aa00300cab), hidden] LONG OLE_YPOS_HIMETRIC;
440  typedef [uuid (66504308-BE0F-101a-8bbb-00aa00300cab), hidden] LONG OLE_XSIZE_HIMETRIC;
441  typedef [uuid (66504309-BE0F-101a-8bbb-00aa00300cab), hidden] LONG OLE_YSIZE_HIMETRIC;
442cpp_quote("")
443  HRESULT get_Handle ([out] OLE_HANDLE *pHandle);
444  HRESULT get_hPal ([out] OLE_HANDLE *phPal);
445  HRESULT get_Type ([out] SHORT *pType);
446  HRESULT get_Width ([out] OLE_XSIZE_HIMETRIC *pWidth);
447  HRESULT get_Height ([out] OLE_YSIZE_HIMETRIC *pHeight);
448  HRESULT Render ([in] HDC hDC,[in] LONG x,[in] LONG y,[in] LONG cx,[in] LONG cy,[in] OLE_XPOS_HIMETRIC xSrc,[in] OLE_YPOS_HIMETRIC ySrc,[in] OLE_XSIZE_HIMETRIC cxSrc,[in] OLE_YSIZE_HIMETRIC cySrc,[in] LPCRECT pRcWBounds);
449  HRESULT set_hPal ([in] OLE_HANDLE hPal);
450  HRESULT get_CurDC ([out] HDC *phDC);
451  HRESULT SelectPicture ([in] HDC hDCIn,[out] HDC *phDCOut,[out] OLE_HANDLE *phBmpOut);
452  HRESULT get_KeepOriginalFormat ([out] BOOL *pKeep);
453  HRESULT put_KeepOriginalFormat ([in] BOOL keep);
454  HRESULT PictureChanged (void);
455  HRESULT SaveAsFile ([in] LPSTREAM pStream,[in] BOOL fSaveMemCopy,[out] LONG *pCbSize);
456  HRESULT get_Attributes ([out] DWORD *pDwAttr);
457}
458
459cpp_quote("")
460[object, uuid (F5185DD8-2012-4b0b-AAD9-F052C6BD482B), pointer_default (unique)]
461interface IPicture2 : IUnknown {
462  typedef IPicture2 *LPPICTURE2;
463  typedef UINT_PTR HHANDLE;
464cpp_quote("")
465  HRESULT get_Handle ([out] HHANDLE *pHandle);
466  HRESULT get_hPal ([out] HHANDLE *phPal);
467  HRESULT get_Type ([out] SHORT *pType);
468  HRESULT get_Width ([out] OLE_XSIZE_HIMETRIC *pWidth);
469  HRESULT get_Height ([out] OLE_YSIZE_HIMETRIC *pHeight);
470  HRESULT Render ([in] HDC hDC,[in] LONG x,[in] LONG y,[in] LONG cx,[in] LONG cy,[in] OLE_XPOS_HIMETRIC xSrc,[in] OLE_YPOS_HIMETRIC ySrc,[in] OLE_XSIZE_HIMETRIC cxSrc,[in] OLE_YSIZE_HIMETRIC cySrc,[in] LPCRECT pRcWBounds);
471  HRESULT set_hPal ([in] HHANDLE hPal);
472  HRESULT get_CurDC ([out] HDC *phDC);
473  HRESULT SelectPicture ([in] HDC hDCIn,[out] HDC *phDCOut,[out] HHANDLE *phBmpOut);
474  HRESULT get_KeepOriginalFormat ([out] BOOL *pKeep);
475  HRESULT put_KeepOriginalFormat ([in] BOOL keep);
476  HRESULT PictureChanged (void);
477  HRESULT SaveAsFile ([in] LPSTREAM pStream,[in] BOOL fSaveMemCopy,[out] LONG *pCbSize);
478  HRESULT get_Attributes ([out] DWORD *pDwAttr);
479}
480
481cpp_quote("")
482[object, uuid (4ef6100a-AF88-11d0-9846-00c04fc29993), pointer_default (unique)]
483interface IFontEventsDisp : IDispatch {
484  typedef IFontEventsDisp *LPFONTEVENTS;
485}
486
487cpp_quote("")
488[object, uuid (BEF6E003-A874-101a-8bba-00aa00300cab), pointer_default (unique)]
489interface IFontDisp : IDispatch {
490  typedef IFontDisp *LPFONTDISP;
491}
492
493cpp_quote("")
494[object, uuid (7bf80981-BF32-101a-8bbb-00aa00300cab), pointer_default (unique)]
495interface IPictureDisp : IDispatch {
496  typedef IPictureDisp *LPPICTUREDISP;
497}
498
499cpp_quote("")
500[object, pointer_default (unique), uuid (1c2056cc-5ef4-101b-8bc8-00aa003e3b29)]
501interface IOleInPlaceObjectWindowless : IOleInPlaceObject {
502  typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
503cpp_quote("")
504  HRESULT OnWindowMessage ([in] UINT msg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult);
505  HRESULT GetDropTarget ([out] IDropTarget **ppDropTarget);
506}
507
508cpp_quote("")
509[object, pointer_default (unique), uuid (9c2cad80-3424-11cf-B670-00aa004cd6d8)]
510interface IOleInPlaceSiteEx : IOleInPlaceSite {
511  typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
512cpp_quote("")
513  typedef [v1_enum] enum tagACTIVATEFLAGS {
514    ACTIVATE_WINDOWLESS = 1,
515  } ACTIVATEFLAGS;
516cpp_quote("")
517  HRESULT OnInPlaceActivateEx ([out] BOOL *pfNoRedraw,[in] DWORD dwFlags);
518  HRESULT OnInPlaceDeactivateEx ([in] BOOL fNoRedraw);
519  HRESULT RequestUIActivate (void);
520}
521
522cpp_quote("")
523[object, pointer_default (unique), uuid (922eada0-3424-11cf-B670-00aa004cd6d8)]
524interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx {
525  typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
526cpp_quote("")
527  typedef [v1_enum] enum tagOLEDCFLAGS {
528    OLEDC_NODRAW = 0x01,
529    OLEDC_PAINTBKGND = 0x02,
530    OLEDC_OFFSCREEN = 0x04
531  } OLEDCFLAGS;
532cpp_quote("")
533  HRESULT CanWindowlessActivate (void);
534  HRESULT GetCapture (void);
535  HRESULT SetCapture ([in] BOOL fCapture);
536  HRESULT GetFocus (void);
537  HRESULT SetFocus ([in] BOOL fFocus);
538  HRESULT GetDC ([in, unique] LPCRECT pRect,[in] DWORD grfFlags,[out] HDC *phDC);
539  HRESULT ReleaseDC ([in] HDC hDC);
540  HRESULT InvalidateRect ([in, unique] LPCRECT pRect,[in] BOOL fErase);
541  HRESULT InvalidateRgn ([in] HRGN hRGN,[in] BOOL fErase);
542  HRESULT ScrollRect ([in] INT dx,[in] INT dy,[in] LPCRECT pRectScroll,[in] LPCRECT pRectClip);
543  HRESULT AdjustRect ([in, out] LPRECT prc);
544  HRESULT OnDefWindowMessage ([in] UINT msg,[in] WPARAM wParam,[in] LPARAM lParam,[out] LRESULT *plResult);
545}
546
547cpp_quote("")
548[object, pointer_default (unique), uuid (3af24292-0c96-11ce-A0CF-00aa00600ab8)]
549interface IViewObjectEx : IViewObject2 {
550  typedef IViewObjectEx *LPVIEWOBJECTEX;
551cpp_quote("")
552  typedef [v1_enum] enum tagVIEWSTATUS {
553    VIEWSTATUS_OPAQUE = 1,
554    VIEWSTATUS_SOLIDBKGND = 2,
555    VIEWSTATUS_DVASPECTOPAQUE = 4,
556    VIEWSTATUS_DVASPECTTRANSPARENT = 8,
557    VIEWSTATUS_SURFACE = 16,
558    VIEWSTATUS_3DSURFACE = 32
559  } VIEWSTATUS;
560cpp_quote("")
561  typedef [v1_enum] enum tagHITRESULT {
562    HITRESULT_OUTSIDE = 0,
563    HITRESULT_TRANSPARENT = 1,
564    HITRESULT_CLOSE = 2,
565    HITRESULT_HIT = 3
566  } HITRESULT;
567cpp_quote("")
568  typedef [v1_enum] enum tagDVASPECT2 {
569    DVASPECT_OPAQUE = 16,
570    DVASPECT_TRANSPARENT = 32,
571  } DVASPECT2;
572cpp_quote("")
573  typedef struct tagExtentInfo {
574    ULONG cb;
575    DWORD dwExtentMode;
576    SIZEL sizelProposed;
577  } DVEXTENTINFO;
578cpp_quote("")
579  typedef [v1_enum] enum tagExtentMode {
580    DVEXTENT_CONTENT,
581    DVEXTENT_INTEGRAL
582  } DVEXTENTMODE;
583cpp_quote("")
584  typedef [v1_enum] enum tagAspectInfoFlag {
585    DVASPECTINFOFLAG_CANOPTIMIZE = 1
586  } DVASPECTINFOFLAG;
587cpp_quote("")
588  typedef struct tagAspectInfo {
589    ULONG cb;
590    DWORD dwFlags;
591  } DVASPECTINFO;
592cpp_quote("")
593  HRESULT GetRect ([in] DWORD dwAspect,[out] LPRECTL pRect);
594  HRESULT GetViewStatus ([out] DWORD *pdwStatus);
595  HRESULT QueryHitPoint ([in] DWORD dwAspect,[in] LPCRECT pRectBounds,[in] POINT ptlLoc,[in] LONG lCloseHint,[out] DWORD *pHitResult);
596  HRESULT QueryHitRect ([in] DWORD dwAspect,[in] LPCRECT pRectBounds,[in] LPCRECT pRectLoc,[in] LONG lCloseHint,[out] DWORD *pHitResult);
597  HRESULT GetNaturalExtent ([in] DWORD dwAspect,[in] LONG lindex,[in] DVTARGETDEVICE *ptd,[in] HDC hicTargetDev,[in] DVEXTENTINFO *pExtentInfo,[out] LPSIZEL pSizel);
598}
599
600cpp_quote("")
601[object, pointer_default (unique), uuid (894ad3b0-EF97-11ce-9bc9-00aa00608e01)]
602interface IOleUndoUnit : IUnknown {
603  typedef IOleUndoUnit *LPOLEUNDOUNIT;
604cpp_quote("")
605  HRESULT Do ([in] IOleUndoManager *pUndoManager);
606  HRESULT GetDescription ([out] BSTR *pBstr);
607  HRESULT GetUnitType ([out] CLSID *pClsid,[out] LONG *plID);
608  HRESULT OnNextAdd (void);
609}
610
611cpp_quote("")
612[object, pointer_default (unique), uuid (A1FAF330-EF97-11ce-9bc9-00aa00608e01)]
613interface IOleParentUndoUnit : IOleUndoUnit {
614  typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
615cpp_quote("")
616  HRESULT Open ([in] IOleParentUndoUnit *pPUU);
617  HRESULT Close ([in] IOleParentUndoUnit *pPUU,[in] BOOL fCommit);
618  HRESULT Add ([in] IOleUndoUnit *pUU);
619  HRESULT FindUnit ([in] IOleUndoUnit *pUU);
620  HRESULT GetParentState ([out] DWORD *pdwState);
621}
622
623cpp_quote("")
624[object, pointer_default (unique), uuid (B3E7C340-EF97-11ce-9bc9-00aa00608e01)]
625interface IEnumOleUndoUnits : IUnknown {
626  typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
627cpp_quote("")
628  [local] HRESULT Next ([in] ULONG cElt,[out, size_is (cElt), length_is (*pcEltFetched)]IOleUndoUnit **rgElt,[out] ULONG *pcEltFetched);
629  [call_as (Next)] HRESULT RemoteNext ([in] ULONG cElt,[out, size_is (cElt), length_is (*pcEltFetched)]IOleUndoUnit **rgElt,[out] ULONG *pcEltFetched);
630  HRESULT Skip ([in] ULONG cElt);
631  HRESULT Reset (void);
632  HRESULT Clone ([out] IEnumOleUndoUnits **ppEnum);
633}
634
635cpp_quote("")
636[object, pointer_default (unique), uuid (D001F200-EF97-11ce-9bc9-00aa00608e01)]
637interface IOleUndoManager : IUnknown {
638cpp_quote("#define SID_SOleUndoManager IID_IOleUndoManager")
639cpp_quote("")
640  typedef IOleUndoManager *LPOLEUNDOMANAGER;
641cpp_quote("")
642  HRESULT Open ([in] IOleParentUndoUnit *pPUU);
643  HRESULT Close ([in] IOleParentUndoUnit *pPUU,[in] BOOL fCommit);
644  HRESULT Add ([in] IOleUndoUnit *pUU);
645  HRESULT GetOpenParentState ([out] DWORD *pdwState);
646  HRESULT DiscardFrom ([in] IOleUndoUnit *pUU);
647  HRESULT UndoTo ([in] IOleUndoUnit *pUU);
648  HRESULT RedoTo ([in] IOleUndoUnit *pUU);
649  HRESULT EnumUndoable ([out] IEnumOleUndoUnits **ppEnum);
650  HRESULT EnumRedoable ([out] IEnumOleUndoUnits **ppEnum);
651  HRESULT GetLastUndoDescription ([out] BSTR *pBstr);
652  HRESULT GetLastRedoDescription ([out] BSTR *pBstr);
653  HRESULT Enable ([in] BOOL fEnable);
654}
655
656cpp_quote("")
657[object, pointer_default (unique), uuid (55980ba0-35aa-11cf-B671-00aa004cd6d8)]
658interface IPointerInactive : IUnknown {
659  typedef IPointerInactive *LPPOINTERINACTIVE;
660cpp_quote("")
661  typedef [v1_enum] enum tagPOINTERINACTIVE {
662    POINTERINACTIVE_ACTIVATEONENTRY = 1,
663    POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
664    POINTERINACTIVE_ACTIVATEONDRAG = 4
665  } POINTERINACTIVE;
666cpp_quote("")
667  HRESULT GetActivationPolicy ([out] DWORD *pdwPolicy);
668  HRESULT OnInactiveMouseMove ([in] LPCRECT pRectBounds,[in] LONG x,[in] LONG y,[in] DWORD grfKeyState);
669  HRESULT OnInactiveSetCursor ([in] LPCRECT pRectBounds,[in] LONG x,[in] LONG y,[in] DWORD dwMouseMsg,[in] BOOL fSetAlways);
670}
671
672cpp_quote("")
673[object, uuid (FC4801A3-2ba9-11cf-A229-00aa003d7352), pointer_default (unique)]
674interface IObjectWithSite : IUnknown {
675  typedef IObjectWithSite *LPOBJECTWITHSITE;
676cpp_quote("")
677  HRESULT SetSite ([in] IUnknown *pUnkSite);
678  HRESULT GetSite ([in] REFIID riid,[out, iid_is (riid)] void **ppvSite);
679}
680cpp_quote("#endif")
681#endif
682
683#if !defined (_DCOM_OC_REMOTING_)
684cpp_quote("")
685cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
686[object, uuid (376bd3aa-3845-101b-84ed-08002b2ec713), pointer_default (unique)]
687interface IPerPropertyBrowsing : IUnknown {
688  typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
689cpp_quote("")
690  typedef struct tagCALPOLESTR {
691    ULONG cElems;
692    [size_is (cElems)] LPOLESTR *pElems;
693  } CALPOLESTR;
694cpp_quote("")
695  typedef struct tagCALPOLESTR *LPCALPOLESTR;
696cpp_quote("")
697  typedef struct tagCADWORD {
698    ULONG cElems;
699    [size_is (cElems)] DWORD *pElems;
700  } CADWORD;
701cpp_quote("")
702  typedef struct tagCADWORD *LPCADWORD;
703cpp_quote("")
704  HRESULT GetDisplayString ([in] DISPID dispID,[out] BSTR *pBstr);
705  HRESULT MapPropertyToPage ([in] DISPID dispID,[out] CLSID *pClsid);
706  HRESULT GetPredefinedStrings ([in] DISPID dispID,[out] CALPOLESTR *pCaStringsOut,[out] CADWORD *pCaCookiesOut);
707  HRESULT GetPredefinedValue ([in] DISPID dispID,[in] DWORD dwCookie,[out] VARIANT *pVarOut);
708}
709cpp_quote("#endif")
710#endif
711
712#if !defined (_NON_DCOM_REMOTING_) && !defined (_DCOM_OC_REMOTING_)
713cpp_quote("")
714cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
715[object, uuid (22f55882-280b-11d0-A8A9-00a0c90c2004), pointer_default (unique)]
716interface IPropertyBag2 : IUnknown {
717  typedef IPropertyBag2 *LPPROPERTYBAG2;
718cpp_quote("")
719  typedef [v1_enum] enum tagPROPBAG2_TYPE {
720    PROPBAG2_TYPE_UNDEFINED = 0,
721    PROPBAG2_TYPE_DATA = 1,
722    PROPBAG2_TYPE_URL = 2,
723    PROPBAG2_TYPE_OBJECT = 3,
724    PROPBAG2_TYPE_STREAM = 4,
725    PROPBAG2_TYPE_STORAGE = 5,
726    PROPBAG2_TYPE_MONIKER = 6
727  } PROPBAG2_TYPE;
728cpp_quote("")
729  typedef struct tagPROPBAG2 {
730    DWORD dwType;
731    VARTYPE vt;
732    CLIPFORMAT cfType;
733    DWORD dwHint;
734    LPOLESTR pstrName;
735    CLSID clsid;
736  } PROPBAG2;
737cpp_quote("")
738  HRESULT Read ([in] ULONG cProperties,[in, size_is (cProperties)] PROPBAG2 *pPropBag,[in, unique] IErrorLog *pErrLog,[out, size_is (cProperties)] VARIANT *pvarValue,[in, out, unique, size_is (cProperties)] HRESULT *phrError);
739  HRESULT Write ([in] ULONG cProperties,[in, size_is (cProperties)] PROPBAG2 *pPropBag,[in, size_is (cProperties)] VARIANT *pvarValue);
740  HRESULT CountProperties ([out] ULONG *pcProperties);
741  HRESULT GetPropertyInfo ([in] ULONG iProperty,[in] ULONG cProperties,[out, size_is (cProperties)] PROPBAG2 *pPropBag,[out] ULONG *pcProperties);
742  HRESULT LoadObject ([in] LPCOLESTR pstrName,[in] DWORD dwHint,[in] IUnknown *pUnkObject,[in, unique] IErrorLog *pErrLog);
743}
744cpp_quote("#endif")
745cpp_quote("")
746cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
747[object, uuid (22f55881-280b-11d0-A8A9-00a0c90c2004), pointer_default (unique)]
748interface IPersistPropertyBag2 : IPersist {
749  typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
750cpp_quote("")
751  HRESULT InitNew (void);
752  HRESULT Load ([in] IPropertyBag2 *pPropBag,[in, unique] IErrorLog *pErrLog);
753  HRESULT Save ([in] IPropertyBag2 *pPropBag,[in] BOOL fClearDirty,[in] BOOL fSaveAllProperties);
754  HRESULT IsDirty (void);
755}
756cpp_quote("#endif")
757#endif
758
759#if !defined (_NON_DCOM_REMOTING_) && !defined (_DCOM_OA_REMOTING_)
760#if !defined (_DCOM_OC_REMOTING_)
761cpp_quote("")
762cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
763[object, pointer_default (unique), uuid (3af24290-0c96-11ce-A0CF-00aa00600ab8)]
764interface IAdviseSinkEx : IAdviseSink {
765  typedef IAdviseSinkEx *LPADVISESINKEX;
766cpp_quote("")
767  [local] void OnViewStatusChange ([in] DWORD dwViewStatus);
768  [call_as (OnViewStatusChange)] HRESULT RemoteOnViewStatusChange ([in] DWORD dwViewStatus);
769}
770cpp_quote("#endif")
771#endif
772
773cpp_quote("")
774cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
775[object, pointer_default (unique), uuid (CF51ED10-62fe-11cf-BF86-00a0c9034836)]
776interface IQuickActivate : IUnknown {
777  typedef IQuickActivate *LPQUICKACTIVATE;
778cpp_quote("")
779  typedef [v1_enum] enum tagQACONTAINERFLAGS {
780    QACONTAINER_SHOWHATCHING = 0x0001,
781    QACONTAINER_SHOWGRABHANDLES = 0x0002,
782    QACONTAINER_USERMODE = 0x0004,
783    QACONTAINER_DISPLAYASDEFAULT = 0x0008,
784    QACONTAINER_UIDEAD = 0x0010,
785    QACONTAINER_AUTOCLIP = 0x0020,
786    QACONTAINER_MESSAGEREFLECT = 0x0040,
787    QACONTAINER_SUPPORTSMNEMONICS = 0x0080
788  } QACONTAINERFLAGS;
789cpp_quote("")
790  typedef [uuid (66504301-BE0F-101a-8bbb-00aa00300cab), public] DWORD OLE_COLOR;
791cpp_quote("")
792  typedef struct tagQACONTAINER {
793    ULONG cbSize;
794    IOleClientSite *pClientSite;
795    IAdviseSinkEx *pAdviseSink;
796    IPropertyNotifySink *pPropertyNotifySink;
797    IUnknown *pUnkEventSink;
798    DWORD dwAmbientFlags;
799    OLE_COLOR colorFore;
800    OLE_COLOR colorBack;
801    IFont *pFont;
802    IOleUndoManager *pUndoMgr;
803    DWORD dwAppearance;
804    LONG lcid;
805    HPALETTE hpal;
806    IBindHost *pBindHost;
807    IOleControlSite *pOleControlSite;
808    IServiceProvider *pServiceProvider;
809  } QACONTAINER;
810cpp_quote("")
811  typedef struct tagQACONTROL {
812    ULONG cbSize;
813    DWORD dwMiscStatus;
814    DWORD dwViewStatus;
815    DWORD dwEventCookie;
816    DWORD dwPropNotifyCookie;
817    DWORD dwPointerActivationPolicy;
818  } QACONTROL;
819cpp_quote("")
820  [local] HRESULT QuickActivate ([in] QACONTAINER *pQaContainer,[in, out] QACONTROL *pQaControl);
821  [call_as (QuickActivate)] HRESULT RemoteQuickActivate ([in] QACONTAINER *pQaContainer,[out] QACONTROL *pQaControl);
822  HRESULT SetContentExtent ([in] LPSIZEL pSizel);
823  HRESULT GetContentExtent ([out] LPSIZEL pSizel);
824}
825cpp_quote("#endif")
826#endif
827