oleidl.idl 18 KB

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