• 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("")
6#ifndef DO_NO_IMPORTS
7import "objidl.idl";
8
9cpp_quote("")
10#endif
11
12cpp_quote("#include <winapifamily.h>")
13cpp_quote("")
14cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
15
16interface IOleInPlaceActiveObject;
17interface IEnumOLEVERB;
18
19cpp_quote("")
20[local, object, uuid (00000111-0000-0000-C000-000000000046)]
21interface IOleAdviseHolder : IUnknown {
22  typedef [unique] IOleAdviseHolder *LPOLEADVISEHOLDER;
23cpp_quote("")
24  HRESULT Advise ([in, unique] IAdviseSink *pAdvise,[out] DWORD *pdwConnection);
25  HRESULT Unadvise ([in] DWORD dwConnection);
26  HRESULT EnumAdvise ([out] IEnumSTATDATA **ppenumAdvise);
27  HRESULT SendOnRename ([in, unique] IMoniker *pmk);
28  HRESULT SendOnSave (void);
29  HRESULT SendOnClose (void);
30}
31cpp_quote("#endif")
32
33cpp_quote("")
34cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
35[object, uuid (0000011e-0000-0000-C000-000000000046), pointer_default (unique)]
36interface IOleCache : IUnknown {
37  typedef [unique] IOleCache *LPOLECACHE;
38cpp_quote("")
39  HRESULT Cache ([in, unique] FORMATETC *pformatetc,[in] DWORD advf,[out] DWORD *pdwConnection);
40  HRESULT Uncache ([in] DWORD dwConnection);
41  HRESULT EnumCache ([out] IEnumSTATDATA **ppenumSTATDATA);
42  HRESULT InitCache ([in, unique] IDataObject *pDataObject);
43  HRESULT SetData ([in, unique] FORMATETC *pformatetc,[in, unique] STGMEDIUM *pmedium,[in] BOOL fRelease);
44}
45
46cpp_quote("")
47[object, uuid (00000128-0000-0000-C000-000000000046), pointer_default (unique)]
48interface IOleCache2 : IOleCache {
49  typedef [unique] IOleCache2 *LPOLECACHE2;
50cpp_quote("")
51  const DWORD UPDFCACHE_NODATACACHE = 0x00000001;
52  const DWORD UPDFCACHE_ONSAVECACHE = 0x00000002;
53  const DWORD UPDFCACHE_ONSTOPCACHE = 0x00000004;
54  const DWORD UPDFCACHE_NORMALCACHE = 0x00000008;
55  const DWORD UPDFCACHE_IFBLANK = 0x00000010;
56  const DWORD UPDFCACHE_ONLYIFBLANK = 0x80000000;
57  const DWORD UPDFCACHE_IFBLANKORONSAVECACHE = (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE);
58  const DWORD UPDFCACHE_ALL = ((DWORD) (~ (UPDFCACHE_ONLYIFBLANK)));
59  const DWORD UPDFCACHE_ALLBUTNODATACACHE = (UPDFCACHE_ALL &((DWORD) (~UPDFCACHE_NODATACACHE)));
60cpp_quote("")
61  typedef [v1_enum] enum tagDISCARDCACHE {
62    DISCARDCACHE_SAVEIFDIRTY = 0,
63    DISCARDCACHE_NOSAVE = 1
64  } DISCARDCACHE;
65cpp_quote("")
66  [local] HRESULT UpdateCache ([in] LPDATAOBJECT pDataObject,[in] DWORD grfUpdf,[in] LPVOID pReserved);
67  [call_as (UpdateCache)] HRESULT RemoteUpdateCache ([in] LPDATAOBJECT pDataObject,[in] DWORD grfUpdf,[in] LONG_PTR pReserved);
68  HRESULT DiscardCache ([in] DWORD dwDiscardOptions);
69}
70cpp_quote("#endif")
71
72cpp_quote("")
73cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
74[object, uuid (00000129-0000-0000-C000-000000000046)]
75interface IOleCacheControl : IUnknown {
76  typedef [unique] IOleCacheControl *LPOLECACHECONTROL;
77cpp_quote("")
78  HRESULT OnRun (LPDATAOBJECT pDataObject);
79  HRESULT OnStop (void);
80}
81
82cpp_quote("")
83[object, uuid (0000011a-0000-0000-C000-000000000046), pointer_default (unique)]
84interface IParseDisplayName : IUnknown {
85  typedef [unique] IParseDisplayName *LPPARSEDISPLAYNAME;
86cpp_quote("")
87  HRESULT ParseDisplayName ([in, unique] IBindCtx *pbc,[in] LPOLESTR pszDisplayName,[out] ULONG *pchEaten,[out] IMoniker **ppmkOut);
88}
89
90cpp_quote("")
91[object, uuid (0000011b-0000-0000-C000-000000000046), pointer_default (unique)]
92interface IOleContainer : IParseDisplayName {
93  typedef [unique] IOleContainer *LPOLECONTAINER;
94cpp_quote("")
95  HRESULT EnumObjects ([in] DWORD grfFlags,[out] IEnumUnknown **ppenum);
96  HRESULT LockContainer ([in] BOOL fLock);
97}
98
99cpp_quote("")
100[object, uuid (00000118-0000-0000-C000-000000000046), pointer_default (unique)]
101interface IOleClientSite : IUnknown {
102  typedef [unique] IOleClientSite *LPOLECLIENTSITE;
103cpp_quote("")
104  HRESULT SaveObject (void);
105  HRESULT GetMoniker ([in] DWORD dwAssign,[in] DWORD dwWhichMoniker,[out] IMoniker **ppmk);
106  HRESULT GetContainer ([out] IOleContainer **ppContainer);
107  HRESULT ShowObject (void);
108  HRESULT OnShowWindow ([in] BOOL fShow);
109  HRESULT RequestNewObjectLayout (void);
110}
111
112cpp_quote("")
113[object, uuid (00000112-0000-0000-C000-000000000046), pointer_default (unique)]
114interface IOleObject : IUnknown {
115  typedef [unique] IOleObject *LPOLEOBJECT;
116cpp_quote("")
117  typedef enum tagOLEGETMONIKER {
118    OLEGETMONIKER_ONLYIFTHERE = 1,
119    OLEGETMONIKER_FORCEASSIGN = 2,
120    OLEGETMONIKER_UNASSIGN = 3,
121    OLEGETMONIKER_TEMPFORUSER = 4
122  } OLEGETMONIKER;
123cpp_quote("")
124  typedef enum tagOLEWHICHMK {
125    OLEWHICHMK_CONTAINER = 1,
126    OLEWHICHMK_OBJREL = 2,
127    OLEWHICHMK_OBJFULL = 3
128  } OLEWHICHMK;
129cpp_quote("")
130  typedef enum tagUSERCLASSTYPE {
131    USERCLASSTYPE_FULL = 1,
132    USERCLASSTYPE_SHORT = 2,
133    USERCLASSTYPE_APPNAME = 3,
134  } USERCLASSTYPE;
135cpp_quote("")
136  typedef enum tagOLEMISC {
137    OLEMISC_RECOMPOSEONRESIZE = 0x00000001,
138    OLEMISC_ONLYICONIC = 0x00000002,
139    OLEMISC_INSERTNOTREPLACE = 0x00000004,
140    OLEMISC_STATIC = 0x00000008,
141    OLEMISC_CANTLINKINSIDE = 0x00000010,
142    OLEMISC_CANLINKBYOLE1 = 0x00000020,
143    OLEMISC_ISLINKOBJECT = 0x00000040,
144    OLEMISC_INSIDEOUT = 0x00000080,
145    OLEMISC_ACTIVATEWHENVISIBLE = 0x00000100,
146    OLEMISC_RENDERINGISDEVICEINDEPENDENT= 0x00000200,
147    OLEMISC_INVISIBLEATRUNTIME = 0x00000400,
148    OLEMISC_ALWAYSRUN = 0x00000800,
149    OLEMISC_ACTSLIKEBUTTON = 0x00001000,
150    OLEMISC_ACTSLIKELABEL = 0x00002000,
151    OLEMISC_NOUIACTIVATE = 0x00004000,
152    OLEMISC_ALIGNABLE = 0x00008000,
153    OLEMISC_SIMPLEFRAME = 0x00010000,
154    OLEMISC_SETCLIENTSITEFIRST = 0x00020000,
155    OLEMISC_IMEMODE = 0x00040000,
156    OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x00080000,
157    OLEMISC_WANTSTOMENUMERGE = 0x00100000,
158    OLEMISC_SUPPORTSMULTILEVELUNDO = 0x00200000
159  } OLEMISC;
160  typedef enum tagOLECLOSE {
161    OLECLOSE_SAVEIFDIRTY = 0,
162    OLECLOSE_NOSAVE = 1,
163    OLECLOSE_PROMPTSAVE = 2
164  } OLECLOSE;
165cpp_quote("")
166  HRESULT SetClientSite ([in, unique] IOleClientSite *pClientSite);
167  HRESULT GetClientSite ([out] IOleClientSite **ppClientSite);
168  HRESULT SetHostNames ([in] LPCOLESTR szContainerApp,[in, unique] LPCOLESTR szContainerObj);
169  HRESULT Close ([in] DWORD dwSaveOption);
170  HRESULT SetMoniker ([in] DWORD dwWhichMoniker,[in, unique] IMoniker *pmk);
171  HRESULT GetMoniker ([in] DWORD dwAssign,[in] DWORD dwWhichMoniker,[out] IMoniker **ppmk);
172  HRESULT InitFromData ([in, unique] IDataObject *pDataObject,[in] BOOL fCreation,[in] DWORD dwReserved);
173  HRESULT GetClipboardData ([in] DWORD dwReserved,[out] IDataObject **ppDataObject);
174  HRESULT DoVerb ([in] LONG iVerb,[in, unique] LPMSG lpmsg,[in, unique] IOleClientSite *pActiveSite,[in] LONG lindex,[in] HWND hwndParent,[in, unique] LPCRECT lprcPosRect);
175  HRESULT EnumVerbs ([out] IEnumOLEVERB **ppEnumOleVerb);
176  HRESULT Update (void);
177  HRESULT IsUpToDate (void);
178  HRESULT GetUserClassID ([out] CLSID *pClsid);
179  HRESULT GetUserType ([in] DWORD dwFormOfType,[out] LPOLESTR *pszUserType);
180  HRESULT SetExtent ([in] DWORD dwDrawAspect,[in] SIZEL *psizel);
181  HRESULT GetExtent ([in] DWORD dwDrawAspect,[out] SIZEL *psizel);
182  HRESULT Advise ([in, unique] IAdviseSink *pAdvSink,[out] DWORD *pdwConnection);
183  HRESULT Unadvise ([in] DWORD dwConnection);
184  HRESULT EnumAdvise ([out] IEnumSTATDATA **ppenumAdvise);
185  HRESULT GetMiscStatus ([in] DWORD dwAspect,[out] DWORD *pdwStatus);
186  HRESULT SetColorScheme ([in] LOGPALETTE *pLogpal);
187}
188
189cpp_quote("")
190[uuid (B0916C84-7416-101a-BCEA-08002b2b79ef)]
191interface IOLETypes {
192  typedef enum tagOLERENDER {
193    OLERENDER_NONE = 0,
194    OLERENDER_DRAW = 1,
195    OLERENDER_FORMAT = 2,
196    OLERENDER_ASIS = 3
197  } OLERENDER;
198cpp_quote("")
199  typedef OLERENDER *LPOLERENDER;
200cpp_quote("")
201  typedef struct tagOBJECTDESCRIPTOR {
202    ULONG cbSize;
203    CLSID clsid;
204    DWORD dwDrawAspect;
205    SIZEL sizel;
206    POINTL pointl;
207    DWORD dwStatus;
208    DWORD dwFullUserTypeName;
209    DWORD dwSrcOfCopy;
210  } OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR;
211}
212
213cpp_quote("")
214[object, uuid (00000114-0000-0000-C000-000000000046), pointer_default (unique)]
215interface IOleWindow : IUnknown {
216  typedef [unique] IOleWindow *LPOLEWINDOW;
217cpp_quote("")
218  [input_sync] HRESULT GetWindow ([out] HWND *phwnd);
219  HRESULT ContextSensitiveHelp ([in] BOOL fEnterMode);
220}
221
222cpp_quote("")
223[object, uuid (0000011d-0000-0000-C000-000000000046)]
224interface IOleLink : IUnknown {
225  typedef [unique] IOleLink *LPOLELINK;
226cpp_quote("")
227  typedef enum tagOLEUPDATE {
228    OLEUPDATE_ALWAYS=1,
229    OLEUPDATE_ONCALL=3
230  } OLEUPDATE;
231cpp_quote("")
232  typedef OLEUPDATE *LPOLEUPDATE;
233  typedef OLEUPDATE *POLEUPDATE;
234cpp_quote("")
235  typedef enum tagOLELINKBIND {
236    OLELINKBIND_EVENIFCLASSDIFF = 1,
237  } OLELINKBIND;
238cpp_quote("")
239  HRESULT SetUpdateOptions ([in] DWORD dwUpdateOpt);
240  HRESULT GetUpdateOptions ([out] DWORD *pdwUpdateOpt);
241  HRESULT SetSourceMoniker ([in, unique] IMoniker *pmk,[in] REFCLSID rclsid);
242  HRESULT GetSourceMoniker ([out] IMoniker **ppmk);
243  HRESULT SetSourceDisplayName ([in]LPCOLESTR pszStatusText);
244  HRESULT GetSourceDisplayName ([out] LPOLESTR *ppszDisplayName);
245  HRESULT BindToSource ([in] DWORD bindflags,[in, unique] IBindCtx *pbc);
246  HRESULT BindIfRunning (void);
247  HRESULT GetBoundSource ([out] IUnknown **ppunk);
248  HRESULT UnbindSource (void);
249  HRESULT Update ([in, unique] IBindCtx *pbc);
250}
251
252cpp_quote("")
253[object, uuid (0000011c-0000-0000-C000-000000000046), pointer_default (unique)]
254interface IOleItemContainer : IOleContainer {
255  typedef [unique] IOleItemContainer *LPOLEITEMCONTAINER;
256cpp_quote("")
257  typedef enum tagBINDSPEED {
258    BINDSPEED_INDEFINITE = 1,
259    BINDSPEED_MODERATE = 2,
260    BINDSPEED_IMMEDIATE = 3
261  } BINDSPEED;
262cpp_quote("")
263  typedef [v1_enum] enum tagOLECONTF {
264    OLECONTF_EMBEDDINGS = 1,
265    OLECONTF_LINKS = 2,
266    OLECONTF_OTHERS = 4,
267    OLECONTF_ONLYUSER = 8,
268    OLECONTF_ONLYIFRUNNING = 16
269  } OLECONTF;
270cpp_quote("")
271  HRESULT GetObject ([in] LPOLESTR pszItem,[in] DWORD dwSpeedNeeded,[in, unique] IBindCtx *pbc,[in] REFIID riid,[out, iid_is (riid)] void **ppvObject);
272  HRESULT GetObjectStorage ([in] LPOLESTR pszItem,[in, unique] IBindCtx *pbc,[in] REFIID riid,[out, iid_is (riid)] void **ppvStorage);
273  HRESULT IsRunning ([in] LPOLESTR pszItem);
274}
275
276cpp_quote("")
277[object, uuid (00000115-0000-0000-C000-000000000046), pointer_default (unique)]
278interface IOleInPlaceUIWindow : IOleWindow {
279  typedef [unique] IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
280  typedef RECT BORDERWIDTHS;
281  typedef LPRECT LPBORDERWIDTHS;
282  typedef LPCRECT LPCBORDERWIDTHS;
283cpp_quote("")
284  [input_sync] HRESULT GetBorder ([out] LPRECT lprectBorder);
285  [input_sync] HRESULT RequestBorderSpace ([in, unique] LPCBORDERWIDTHS pborderwidths);
286  [input_sync] HRESULT SetBorderSpace ([in, unique] LPCBORDERWIDTHS pborderwidths);
287  HRESULT SetActiveObject ([in, unique] IOleInPlaceActiveObject *pActiveObject,[in, string, unique] LPCOLESTR pszObjName);
288}
289
290cpp_quote("")
291[object, uuid (00000117-0000-0000-C000-000000000046)]
292interface IOleInPlaceActiveObject : IOleWindow {
293  typedef [unique] IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
294cpp_quote("")
295  [local] HRESULT TranslateAccelerator ([in] LPMSG lpmsg);
296  [call_as (TranslateAccelerator)] HRESULT RemoteTranslateAccelerator ();
297  [input_sync] HRESULT OnFrameWindowActivate ([in] BOOL fActivate);
298  [input_sync] HRESULT OnDocWindowActivate ([in] BOOL fActivate);
299  [local] HRESULT ResizeBorder ([in] LPCRECT prcBorder,[in, unique] IOleInPlaceUIWindow *pUIWindow,[in] BOOL fFrameWindow);
300  [call_as (ResizeBorder), input_sync] HRESULT RemoteResizeBorder ([in] LPCRECT prcBorder,[in] REFIID riid,[in, unique, iid_is (riid)] IOleInPlaceUIWindow *pUIWindow,[in] BOOL fFrameWindow);
301  HRESULT EnableModeless ([in] BOOL fEnable);
302}
303
304cpp_quote("")
305[object, uuid (00000116-0000-0000-C000-000000000046), pointer_default (unique)]
306interface IOleInPlaceFrame : IOleInPlaceUIWindow {
307  typedef [unique] IOleInPlaceFrame *LPOLEINPLACEFRAME;
308cpp_quote("")
309  typedef struct tagOIFI {
310    UINT cb;
311    BOOL fMDIApp;
312    HWND hwndFrame;
313    HACCEL haccel;
314    UINT cAccelEntries;
315  } OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
316cpp_quote("")
317  typedef struct tagOleMenuGroupWidths {
318    LONG width[6];
319  } OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
320cpp_quote("")
321  typedef HGLOBAL HOLEMENU;
322cpp_quote("")
323  HRESULT InsertMenus ([in] HMENU hmenuShared,[in, out] LPOLEMENUGROUPWIDTHS lpMenuWidths);
324  [input_sync] HRESULT SetMenu ([in] HMENU hmenuShared,[in] HOLEMENU holemenu,[in] HWND hwndActiveObject);
325  HRESULT RemoveMenus ([in] HMENU hmenuShared);
326  [input_sync] HRESULT SetStatusText ([in, unique] LPCOLESTR pszStatusText);
327  HRESULT EnableModeless ([in] BOOL fEnable);
328  HRESULT TranslateAccelerator ([in] LPMSG lpmsg,[in] WORD wID);
329}
330
331cpp_quote("")
332[object, uuid (00000113-0000-0000-C000-000000000046), pointer_default (unique)]
333interface IOleInPlaceObject : IOleWindow {
334  typedef [unique] IOleInPlaceObject *LPOLEINPLACEOBJECT;
335cpp_quote("")
336  HRESULT InPlaceDeactivate (void);
337  HRESULT UIDeactivate (void);
338  [input_sync] HRESULT SetObjectRects ([in] LPCRECT lprcPosRect,[in] LPCRECT lprcClipRect);
339  HRESULT ReactivateAndUndo (void);
340}
341
342cpp_quote("")
343[object, uuid (00000119-0000-0000-C000-000000000046), pointer_default (unique)]
344interface IOleInPlaceSite : IOleWindow {
345  typedef [unique] IOleInPlaceSite *LPOLEINPLACESITE;
346cpp_quote("")
347  HRESULT CanInPlaceActivate (void);
348  HRESULT OnInPlaceActivate (void);
349  HRESULT OnUIActivate (void);
350  HRESULT GetWindowContext ([out] IOleInPlaceFrame **ppFrame,[out] IOleInPlaceUIWindow **ppDoc,[out] LPRECT lprcPosRect,[out] LPRECT lprcClipRect,[in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo);
351  HRESULT Scroll ([in] SIZE scrollExtant);
352  HRESULT OnUIDeactivate ([in] BOOL fUndoable);
353  HRESULT OnInPlaceDeactivate (void);
354  HRESULT DiscardUndoState (void);
355  HRESULT DeactivateAndUndo (void);
356  HRESULT OnPosRectChange ([in] LPCRECT lprcPosRect);
357}
358
359cpp_quote("")
360[object, uuid (0000012a-0000-0000-C000-000000000046)]
361interface IContinue : IUnknown {
362  HRESULT FContinue ();
363}
364
365cpp_quote("")
366[object, uuid (0000010d-0000-0000-C000-000000000046)]
367interface IViewObject : IUnknown {
368  typedef [unique] IViewObject *LPVIEWOBJECT;
369cpp_quote("")
370  [local] HRESULT Draw ([in] DWORD dwDrawAspect,[in] LONG lindex,[in, unique] void *pvAspect,[in, unique] DVTARGETDEVICE *ptd,[in] HDC hdcTargetDev,[in] HDC hdcDraw,[in] LPCRECTL lprcBounds,[in, unique] LPCRECTL lprcWBounds,[in] BOOL (*pfnContinue) (ULONG_PTR dwContinue),[in] ULONG_PTR dwContinue);
371  [call_as (Draw)] HRESULT RemoteDraw ([in] DWORD dwDrawAspect,[in] LONG lindex,[in] ULONG_PTR pvAspect,[in, unique] DVTARGETDEVICE *ptd,[in] HDC hdcTargetDev,[in] HDC hdcDraw,[in, unique] LPCRECTL lprcBounds,[in, unique] LPCRECTL lprcWBounds,[in] IContinue *pContinue);
372  [local] HRESULT GetColorSet ([in] DWORD dwDrawAspect,[in] LONG lindex,[in, unique] void *pvAspect,[in, unique] DVTARGETDEVICE *ptd,[in] HDC hicTargetDev,[out] LOGPALETTE **ppColorSet);
373  [call_as (GetColorSet)] HRESULT RemoteGetColorSet ([in] DWORD dwDrawAspect,[in] LONG lindex,[in] ULONG_PTR pvAspect,[in, unique] DVTARGETDEVICE *ptd,[in] ULONG_PTR hicTargetDev,[out] LOGPALETTE **ppColorSet);
374  [local] HRESULT Freeze ([in] DWORD dwDrawAspect,[in] LONG lindex,[in, unique] void *pvAspect,[out] DWORD *pdwFreeze);
375  [call_as (Freeze)] HRESULT RemoteFreeze ([in] DWORD dwDrawAspect,[in] LONG lindex,[in] ULONG_PTR pvAspect,[out] DWORD *pdwFreeze);
376  HRESULT Unfreeze ([in] DWORD dwFreeze);
377  HRESULT SetAdvise ([in] DWORD aspects,[in] DWORD advf,[in, unique] IAdviseSink *pAdvSink);
378  [local] HRESULT GetAdvise ([out, unique] DWORD *pAspects,[out, unique] DWORD *pAdvf,[out] IAdviseSink **ppAdvSink);
379  [call_as (GetAdvise)] HRESULT RemoteGetAdvise ([out] DWORD *pAspects,[out] DWORD *pAdvf,[out] IAdviseSink **ppAdvSink);
380}
381
382cpp_quote("")
383[object, uuid (00000127-0000-0000-C000-000000000046)]
384interface IViewObject2 : IViewObject {
385  typedef [unique] IViewObject2 *LPVIEWOBJECT2;
386cpp_quote("")
387  HRESULT GetExtent ([in] DWORD dwDrawAspect,[in] LONG lindex,[in, unique] DVTARGETDEVICE *ptd,[out] LPSIZEL lpsizel);
388}
389
390cpp_quote("")
391[local, object, uuid (00000121-0000-0000-C000-000000000046)]
392interface IDropSource : IUnknown {
393  typedef [unique] IDropSource *LPDROPSOURCE;
394cpp_quote("")
395  HRESULT QueryContinueDrag ([in] BOOL fEscapePressed,[in] DWORD grfKeyState);
396  HRESULT GiveFeedback ([in] DWORD dwEffect);
397}
398
399cpp_quote("")
400[object, uuid (00000122-0000-0000-C000-000000000046), pointer_default (unique)]
401interface IDropTarget : IUnknown {
402  typedef [unique] IDropTarget *LPDROPTARGET;
403cpp_quote("")
404  const DWORD MK_ALT = 0x0020;
405  const DWORD DROPEFFECT_NONE = 0;
406  const DWORD DROPEFFECT_COPY = 1;
407  const DWORD DROPEFFECT_MOVE = 2;
408  const DWORD DROPEFFECT_LINK = 4;
409  const DWORD DROPEFFECT_SCROLL = 0x80000000;
410  cpp_quote("")
411  const DWORD DD_DEFSCROLLINSET = 11;
412  cpp_quote("")
413  const DWORD DD_DEFSCROLLDELAY = 50;
414  cpp_quote("")
415  const DWORD DD_DEFSCROLLINTERVAL = 50;
416  cpp_quote("")
417  const DWORD DD_DEFDRAGDELAY = 200;
418  cpp_quote("")
419  const DWORD DD_DEFDRAGMINDIST = 2;
420cpp_quote("")
421  HRESULT DragEnter ([in, unique] IDataObject *pDataObj,[in] DWORD grfKeyState,[in] POINTL pt,[in, out] DWORD *pdwEffect);
422  HRESULT DragOver ([in] DWORD grfKeyState,[in] POINTL pt,[in, out] DWORD *pdwEffect);
423  HRESULT DragLeave (void);
424  HRESULT Drop ([in, unique] IDataObject *pDataObj,[in] DWORD grfKeyState,[in] POINTL pt,[in, out] DWORD *pdwEffect);
425}
426
427cpp_quote("")
428[local, object, uuid (0000012b-0000-0000-C000-000000000046), pointer_default (unique)]
429interface IDropSourceNotify : IUnknown {
430  HRESULT DragEnterTarget ([in] HWND hwndTarget);
431  HRESULT DragLeaveTarget (void);
432}
433cpp_quote("#endif")
434
435cpp_quote("")
436cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
437[object, uuid (00000104-0000-0000-C000-000000000046), pointer_default (unique)]
438interface IEnumOLEVERB : IUnknown {
439  typedef [unique] IEnumOLEVERB *LPENUMOLEVERB;
440cpp_quote("")
441  typedef struct tagOLEVERB {
442    LONG lVerb;
443    LPOLESTR lpszVerbName;
444    DWORD fuFlags;
445    DWORD grfAttribs;
446  } OLEVERB,*LPOLEVERB;
447cpp_quote("")
448  typedef [v1_enum] enum tagOLEVERBATTRIB {
449    OLEVERBATTRIB_NEVERDIRTIES = 1,
450    OLEVERBATTRIB_ONCONTAINERMENU = 2
451  } OLEVERBATTRIB;
452cpp_quote("")
453  [local] HRESULT Next ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]LPOLEVERB rgelt,[out] ULONG *pceltFetched);
454  [call_as (Next)] HRESULT RemoteNext ([in] ULONG celt,[out, size_is (celt), length_is (*pceltFetched)]LPOLEVERB rgelt,[out] ULONG *pceltFetched);
455  HRESULT Skip ([in] ULONG celt);
456  HRESULT Reset ();
457  HRESULT Clone ([out] IEnumOLEVERB **ppenum);
458}
459cpp_quote("#endif")
460