Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 1999 Paul Quinn |
| 3 | * Copyright (C) 1999 Francis Beaudet |
| 4 | * Copyright (C) 2003 Alexandre Julliard |
| 5 | * |
| 6 | * This library is free software; you can redistribute it and/or |
| 7 | * modify it under the terms of the GNU Lesser General Public |
| 8 | * License as published by the Free Software Foundation; either |
| 9 | * version 2.1 of the License, or (at your option) any later version. |
| 10 | * |
| 11 | * This library is distributed in the hope that it will be useful, |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 14 | * Lesser General Public License for more details. |
| 15 | * |
| 16 | * You should have received a copy of the GNU Lesser General Public |
| 17 | * License along with this library; if not, write to the Free Software |
Jonathan Ernst | 360a3f9 | 2006-05-18 14:49:52 +0200 | [diff] [blame] | 18 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 19 | */ |
| 20 | |
Alexandre Julliard | 9719bca | 2007-06-08 15:49:36 +0200 | [diff] [blame] | 21 | #ifndef DO_NO_IMPORTS |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 22 | import "objidl.idl"; |
Alexandre Julliard | 9719bca | 2007-06-08 15:49:36 +0200 | [diff] [blame] | 23 | #endif |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 24 | |
Robert Shearman | 35302b4 | 2005-08-26 08:48:06 +0000 | [diff] [blame] | 25 | interface IOleInPlaceActiveObject; |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 26 | |
Rob Shearman | 4a67e7a | 2008-12-29 12:05:12 +0000 | [diff] [blame] | 27 | cpp_quote("#include <winuser.h>") |
| 28 | |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 29 | /***************************************************************************** |
| 30 | * IOleTypes interface |
| 31 | */ |
| 32 | [ |
| 33 | uuid(b0916c84-7416-101a-bcea-08002b2b79ef) |
| 34 | ] |
| 35 | interface IOLETypes |
| 36 | { |
| 37 | typedef enum tagOLERENDER |
| 38 | { |
| 39 | OLERENDER_NONE = 0, |
| 40 | OLERENDER_DRAW = 1, |
| 41 | OLERENDER_FORMAT = 2, |
| 42 | OLERENDER_ASIS = 3 |
| 43 | } OLERENDER, *LPOLERENDER; |
| 44 | |
| 45 | typedef struct tagOBJECTDESCRIPTOR |
| 46 | { |
| 47 | ULONG cbSize; |
| 48 | CLSID clsid; |
| 49 | DWORD dwDrawAspect; |
| 50 | SIZEL sizel; |
| 51 | POINTL pointl; |
| 52 | DWORD dwStatus; |
| 53 | DWORD dwFullUserTypeName; |
| 54 | DWORD dwSrcOfCopy; |
| 55 | } OBJECTDESCRIPTOR, *POBJECTDESCRIPTOR, *LPOBJECTDESCRIPTOR, |
| 56 | LINKSRCDESCRIPTOR, *PLINKSRCDESCRIPTOR, *LPLINKSRCDESCRIPTOR; |
| 57 | } |
| 58 | |
| 59 | |
| 60 | /***************************************************************************** |
| 61 | * IOleWindow interface |
| 62 | */ |
| 63 | [ |
| 64 | object, |
| 65 | uuid(00000114-0000-0000-c000-000000000046), |
| 66 | pointer_default(unique) |
| 67 | ] |
| 68 | interface IOleWindow : IUnknown |
| 69 | { |
| 70 | typedef [unique] IOleWindow *LPOLEWINDOW; |
| 71 | |
| 72 | HRESULT GetWindow( |
| 73 | [out] HWND *phwnd); |
| 74 | |
| 75 | HRESULT ContextSensitiveHelp( |
| 76 | [in] BOOL fEnterMode); |
| 77 | } |
| 78 | |
| 79 | |
| 80 | /***************************************************************************** |
| 81 | * IOleInPlaceObject interface |
| 82 | */ |
| 83 | [ |
| 84 | object, |
| 85 | uuid(00000113-0000-0000-c000-000000000046), |
| 86 | pointer_default(unique) |
| 87 | ] |
| 88 | interface IOleInPlaceObject : IOleWindow |
| 89 | { |
| 90 | typedef [unique] IOleInPlaceObject *LPOLEINPLACEOBJECT; |
| 91 | |
| 92 | HRESULT InPlaceDeactivate(); |
| 93 | |
| 94 | HRESULT UIDeactivate(); |
| 95 | |
| 96 | HRESULT SetObjectRects( |
| 97 | [in] LPCRECT lprcPosRect, |
| 98 | [in] LPCRECT lprcClipRect); |
| 99 | |
| 100 | HRESULT ReactivateAndUndo(); |
| 101 | } |
| 102 | |
| 103 | |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 104 | /***************************************************************************** |
| 105 | * IOleInPlaceUIWindow interface |
| 106 | */ |
| 107 | [ |
| 108 | object, |
| 109 | uuid(00000115-0000-0000-c000-000000000046), |
| 110 | pointer_default(unique) |
| 111 | ] |
| 112 | |
| 113 | interface IOleInPlaceUIWindow : IOleWindow |
| 114 | { |
| 115 | typedef [unique] IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW; |
| 116 | |
| 117 | typedef RECT BORDERWIDTHS; |
| 118 | typedef LPRECT LPBORDERWIDTHS; |
| 119 | typedef LPCRECT LPCBORDERWIDTHS; |
| 120 | |
| 121 | HRESULT GetBorder( |
| 122 | [out] LPRECT lprectBorder); |
| 123 | |
| 124 | HRESULT RequestBorderSpace( |
| 125 | [in, unique] LPCBORDERWIDTHS pborderwidths); |
| 126 | |
| 127 | HRESULT SetBorderSpace( |
| 128 | [in, unique] LPCBORDERWIDTHS pborderwidths); |
| 129 | |
| 130 | HRESULT SetActiveObject( |
| 131 | [in, unique] IOleInPlaceActiveObject *pActiveObject, |
| 132 | [in, string, unique] LPCOLESTR pszObjName); |
| 133 | } |
| 134 | |
| 135 | |
Robert Shearman | 35302b4 | 2005-08-26 08:48:06 +0000 | [diff] [blame] | 136 | /* avoid conflict with Wine Unicode macros */ |
| 137 | cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") |
| 138 | cpp_quote("#undef TranslateAccelerator") |
| 139 | cpp_quote("#endif") |
| 140 | |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 141 | /***************************************************************************** |
| 142 | * IOleInPlaceFrame interface |
| 143 | */ |
| 144 | [ |
| 145 | object, |
| 146 | uuid(00000116-0000-0000-c000-000000000046), |
| 147 | pointer_default(unique) |
| 148 | ] |
| 149 | interface IOleInPlaceFrame : IOleInPlaceUIWindow |
| 150 | { |
| 151 | typedef [unique] IOleInPlaceFrame *LPOLEINPLACEFRAME; |
| 152 | |
| 153 | typedef struct tagOleInPlaceFrameInfo |
| 154 | { |
| 155 | UINT cb; |
| 156 | BOOL fMDIApp; |
| 157 | HWND hwndFrame; |
| 158 | HACCEL haccel; |
| 159 | UINT cAccelEntries; |
| 160 | } OLEINPLACEFRAMEINFO, *LPOLEINPLACEFRAMEINFO; |
| 161 | |
| 162 | typedef struct tagOleMenuGroupWidths |
| 163 | { |
| 164 | LONG width[ 6 ]; |
| 165 | } OLEMENUGROUPWIDTHS, *LPOLEMENUGROUPWIDTHS; |
| 166 | |
| 167 | typedef HGLOBAL HOLEMENU; |
| 168 | |
| 169 | HRESULT InsertMenus( |
| 170 | [in] HMENU hmenuShared, |
| 171 | [in,out] LPOLEMENUGROUPWIDTHS lpMenuWidths); |
| 172 | |
| 173 | HRESULT SetMenu( |
| 174 | [in] HMENU hmenuShared, |
| 175 | [in] HOLEMENU holemenu, |
| 176 | [in] HWND hwndActiveObject); |
| 177 | |
| 178 | HRESULT RemoveMenus( |
| 179 | [in] HMENU hmenuShared); |
| 180 | |
| 181 | HRESULT SetStatusText( |
| 182 | [in, unique] LPCOLESTR pszStatusText); |
| 183 | |
| 184 | HRESULT EnableModeless( |
| 185 | [in] BOOL fEnable); |
| 186 | |
| 187 | HRESULT TranslateAccelerator( |
Alexandre Julliard | 20c169e | 2003-09-09 19:39:31 +0000 | [diff] [blame] | 188 | [in] LPMSG lpmsg, |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 189 | [in] WORD wID); |
| 190 | } |
| 191 | |
| 192 | |
| 193 | /***************************************************************************** |
Robert Shearman | 35302b4 | 2005-08-26 08:48:06 +0000 | [diff] [blame] | 194 | * IOleInPlaceActiveObject interface |
| 195 | */ |
| 196 | [ |
| 197 | object, |
| 198 | uuid(00000117-0000-0000-c000-000000000046) |
| 199 | ] |
| 200 | interface IOleInPlaceActiveObject : IOleWindow |
| 201 | { |
| 202 | typedef [unique] IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT; |
| 203 | |
| 204 | [local] |
| 205 | HRESULT TranslateAccelerator( |
| 206 | [in] LPMSG lpmsg); |
| 207 | |
| 208 | [call_as(TranslateAccelerator)] |
| 209 | HRESULT RemoteTranslateAccelerator(); |
| 210 | |
| 211 | HRESULT OnFrameWindowActivate( |
| 212 | [in] BOOL fActivate); |
| 213 | |
| 214 | HRESULT OnDocWindowActivate( |
| 215 | [in] BOOL fActivate); |
| 216 | |
| 217 | [local] |
| 218 | HRESULT ResizeBorder( |
| 219 | [in] LPCRECT prcBorder, |
| 220 | [in, unique] IOleInPlaceUIWindow *pUIWindow, |
| 221 | [in] BOOL fFrameWindow); |
| 222 | |
| 223 | [call_as(ResizeBorder)] |
| 224 | HRESULT RemoteResizeBorder( |
| 225 | [in] LPCRECT prcBorder, |
| 226 | [in] REFIID riid, |
| 227 | [in, unique, iid_is(riid)] IOleInPlaceUIWindow *pUIWindow, |
| 228 | [in] BOOL fFrameWindow); |
| 229 | |
| 230 | HRESULT EnableModeless( |
| 231 | [in] BOOL fEnable); |
| 232 | } |
| 233 | |
| 234 | |
| 235 | /***************************************************************************** |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 236 | * IOleInPlaceSite interface |
| 237 | */ |
| 238 | [ |
| 239 | object, |
| 240 | uuid(00000119-0000-0000-c000-000000000046), |
| 241 | pointer_default(unique) |
| 242 | ] |
| 243 | interface IOleInPlaceSite : IOleWindow |
| 244 | { |
| 245 | typedef [unique] IOleInPlaceSite *LPOLEINPLACESITE; |
| 246 | |
| 247 | HRESULT CanInPlaceActivate(); |
| 248 | HRESULT OnInPlaceActivate(); |
| 249 | HRESULT OnUIActivate(); |
| 250 | |
| 251 | HRESULT GetWindowContext( |
| 252 | [out] IOleInPlaceFrame **ppFrame, |
| 253 | [out] IOleInPlaceUIWindow **ppDoc, |
| 254 | [out] LPRECT lprcPosRect, |
| 255 | [out] LPRECT lprcClipRect, |
| 256 | [in, out] LPOLEINPLACEFRAMEINFO lpFrameInfo); |
| 257 | |
| 258 | HRESULT Scroll( |
Mike McCormack | f400a1c | 2005-09-07 11:25:59 +0000 | [diff] [blame] | 259 | [in] SIZE scrollExtent); |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 260 | |
| 261 | HRESULT OnUIDeactivate( |
| 262 | [in] BOOL fUndoable); |
| 263 | |
| 264 | HRESULT OnInPlaceDeactivate(); |
| 265 | HRESULT DiscardUndoState(); |
| 266 | HRESULT DeactivateAndUndo(); |
| 267 | |
| 268 | HRESULT OnPosRectChange( |
| 269 | [in] LPCRECT lprcPosRect); |
| 270 | } |
| 271 | |
| 272 | |
| 273 | /***************************************************************************** |
| 274 | * IParseDisplayName interface |
| 275 | */ |
| 276 | [ |
| 277 | object, |
| 278 | uuid(0000011a-0000-0000-c000-000000000046), |
| 279 | pointer_default(unique) |
| 280 | ] |
| 281 | interface IParseDisplayName : IUnknown |
| 282 | { |
| 283 | typedef [unique] IParseDisplayName *LPPARSEDISPLAYNAME; |
| 284 | |
| 285 | HRESULT ParseDisplayName( |
| 286 | [in, unique] IBindCtx *pbc, |
| 287 | [in] LPOLESTR pszDisplayName, |
| 288 | [out] ULONG *pchEaten, |
| 289 | [out] IMoniker **ppmkOut); |
| 290 | } |
| 291 | |
| 292 | |
| 293 | /***************************************************************************** |
| 294 | * IOleContainer interface |
| 295 | */ |
| 296 | [ |
| 297 | object, |
| 298 | uuid(0000011b-0000-0000-c000-000000000046), |
| 299 | pointer_default(unique) |
| 300 | ] |
| 301 | interface IOleContainer : IParseDisplayName |
| 302 | { |
| 303 | typedef [unique] IOleContainer *LPOLECONTAINER; |
| 304 | |
| 305 | HRESULT EnumObjects( |
| 306 | [in] DWORD grfFlags, |
| 307 | [out] IEnumUnknown **ppenum); |
| 308 | |
| 309 | HRESULT LockContainer( |
| 310 | [in] BOOL fLock); |
| 311 | } |
| 312 | |
| 313 | |
| 314 | /***************************************************************************** |
| 315 | * IOleItemContainer interface |
| 316 | */ |
| 317 | [ |
| 318 | object, |
| 319 | uuid(0000011c-0000-0000-c000-000000000046), |
| 320 | pointer_default(unique) |
| 321 | ] |
| 322 | interface IOleItemContainer : IOleContainer |
| 323 | { |
| 324 | typedef [unique] IOleItemContainer *LPOLEITEMCONTAINER; |
| 325 | |
| 326 | typedef enum tagBINDSPEED |
| 327 | { |
| 328 | BINDSPEED_INDEFINITE = 1, |
| 329 | BINDSPEED_MODERATE = 2, |
| 330 | BINDSPEED_IMMEDIATE = 3 |
| 331 | } BINDSPEED; |
| 332 | |
| 333 | typedef enum tagOLECONTF |
| 334 | { |
| 335 | OLECONTF_EMBEDDINGS = 1, |
| 336 | OLECONTF_LINKS = 2, |
| 337 | OLECONTF_OTHERS = 4, |
Jon Griffiths | c399581 | 2008-06-18 18:57:15 -0700 | [diff] [blame] | 338 | OLECONTF_ONLYUSER = 8, |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 339 | OLECONTF_ONLYIFRUNNING = 16 |
| 340 | } OLECONTF; |
| 341 | |
Alexandre Julliard | d59ba4c | 2005-08-15 20:53:40 +0000 | [diff] [blame] | 342 | cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 343 | cpp_quote("#undef GetObject") |
| 344 | cpp_quote("#endif") |
| 345 | HRESULT GetObject( |
| 346 | [in] LPOLESTR pszItem, |
| 347 | [in] DWORD dwSpeedNeeded, |
| 348 | [in, unique] IBindCtx *pbc, |
| 349 | [in] REFIID riid, |
| 350 | [out, iid_is(riid)] void **ppvObject); |
| 351 | |
| 352 | HRESULT GetObjectStorage( |
| 353 | [in] LPOLESTR pszItem, |
| 354 | [in, unique] IBindCtx *pbc, |
| 355 | [in] REFIID riid, |
| 356 | [out, iid_is(riid)] void **ppvStorage); |
| 357 | |
| 358 | HRESULT IsRunning( |
| 359 | [in] LPOLESTR pszItem); |
| 360 | } |
| 361 | |
| 362 | |
| 363 | /***************************************************************************** |
| 364 | * IOleLink interface |
| 365 | */ |
| 366 | [ |
| 367 | object, |
| 368 | uuid(0000011d-0000-0000-c000-000000000046) |
| 369 | ] |
| 370 | interface IOleLink : IUnknown |
| 371 | { |
| 372 | typedef [unique] IOleLink *LPOLELINK; |
| 373 | |
| 374 | typedef enum tagOLEUPDATE |
| 375 | { |
| 376 | OLEUPDATE_ALWAYS = 1, |
| 377 | OLEUPDATE_ONCALL = 3 |
| 378 | } OLEUPDATE, *POLEUPDATE, *LPOLEUPDATE; |
| 379 | |
| 380 | typedef enum tagOLELINKBIND |
| 381 | { |
| 382 | OLELINKBIND_EVENIFCLASSDIFF = 1 |
| 383 | } OLELINKBIND; |
| 384 | |
| 385 | HRESULT SetUpdateOptions( |
| 386 | [in] DWORD dwUpdateOpt); |
| 387 | |
| 388 | HRESULT GetUpdateOptions( |
| 389 | [out] DWORD *pdwUpdateOpt); |
| 390 | |
| 391 | HRESULT SetSourceMoniker( |
| 392 | [in, unique] IMoniker *pmk, |
| 393 | [in] REFCLSID rclsid); |
| 394 | |
| 395 | HRESULT GetSourceMoniker( |
| 396 | [out] IMoniker **ppmk); |
| 397 | |
| 398 | HRESULT SetSourceDisplayName( |
| 399 | [in]LPCOLESTR pszStatusText); |
| 400 | |
| 401 | HRESULT GetSourceDisplayName( |
| 402 | [out] LPOLESTR *ppszDisplayName); |
| 403 | |
| 404 | HRESULT BindToSource( |
| 405 | [in] DWORD bindflags, |
| 406 | [in, unique] IBindCtx *pbc); |
| 407 | |
| 408 | HRESULT BindIfRunning(); |
| 409 | |
| 410 | HRESULT GetBoundSource( |
| 411 | [out] IUnknown **ppunk); |
| 412 | |
| 413 | HRESULT UnbindSource(); |
| 414 | |
| 415 | HRESULT Update( |
| 416 | [in, unique] IBindCtx *pbc); |
| 417 | } |
| 418 | |
| 419 | |
| 420 | /***************************************************************************** |
| 421 | * IOleClientSite interface |
| 422 | */ |
| 423 | [ |
| 424 | object, |
| 425 | uuid(00000118-0000-0000-c000-000000000046), |
| 426 | pointer_default(unique) |
| 427 | ] |
| 428 | interface IOleClientSite : IUnknown |
| 429 | { |
| 430 | typedef [unique] IOleClientSite * LPOLECLIENTSITE; |
| 431 | |
| 432 | HRESULT SaveObject(); |
| 433 | |
| 434 | HRESULT GetMoniker( |
| 435 | [in] DWORD dwAssign, |
| 436 | [in] DWORD dwWhichMoniker, |
| 437 | [out] IMoniker **ppmk); |
| 438 | |
| 439 | HRESULT GetContainer( |
| 440 | [out] IOleContainer **ppContainer); |
| 441 | |
| 442 | HRESULT ShowObject(); |
| 443 | |
| 444 | HRESULT OnShowWindow( |
| 445 | [in] BOOL fShow); |
| 446 | |
| 447 | HRESULT RequestNewObjectLayout(); |
| 448 | } |
| 449 | |
| 450 | |
| 451 | /***************************************************************************** |
| 452 | * IOleCache interface |
| 453 | */ |
| 454 | [ |
| 455 | object, |
| 456 | uuid(0000011e-0000-0000-c000-000000000046), |
| 457 | pointer_default(unique) |
| 458 | ] |
| 459 | interface IOleCache : IUnknown |
| 460 | { |
| 461 | typedef [unique] IOleCache *LPOLECACHE; |
| 462 | |
| 463 | HRESULT Cache( |
| 464 | [in, unique] FORMATETC *pformatetc, |
| 465 | [in] DWORD advf, |
| 466 | [out] DWORD *pdwConnection); |
| 467 | |
| 468 | HRESULT Uncache( |
| 469 | [in] DWORD dwConnection); |
| 470 | |
| 471 | HRESULT EnumCache( |
| 472 | [out] IEnumSTATDATA **ppenumSTATDATA); |
| 473 | |
| 474 | HRESULT InitCache( |
| 475 | [in, unique] IDataObject *pDataObject); |
| 476 | |
| 477 | HRESULT SetData( |
| 478 | [in, unique] FORMATETC *pformatetc, |
| 479 | [in, unique] STGMEDIUM *pmedium, |
| 480 | [in] BOOL fRelease); |
| 481 | } |
| 482 | |
| 483 | |
| 484 | /***************************************************************************** |
| 485 | * IOleCache2 interface |
| 486 | */ |
| 487 | [ |
| 488 | object, |
| 489 | uuid(00000128-0000-0000-c000-000000000046), |
| 490 | pointer_default(unique) |
| 491 | ] |
| 492 | interface IOleCache2 : IOleCache |
| 493 | { |
| 494 | typedef [unique] IOleCache2 *LPOLECACHE2; |
| 495 | |
| 496 | const DWORD UPDFCACHE_NODATACACHE = 0x00000001; |
| 497 | const DWORD UPDFCACHE_ONSAVECACHE = 0x00000002; |
| 498 | const DWORD UPDFCACHE_ONSTOPCACHE = 0x00000004; |
| 499 | const DWORD UPDFCACHE_NORMALCACHE = 0x00000008; |
| 500 | const DWORD UPDFCACHE_IFBLANK = 0x00000010; |
| 501 | const DWORD UPDFCACHE_ONLYIFBLANK = 0x80000000; |
| 502 | |
| 503 | const DWORD UPDFCACHE_IFBLANKORONSAVECACHE = (UPDFCACHE_IFBLANK | UPDFCACHE_ONSAVECACHE); |
| 504 | const DWORD UPDFCACHE_ALL = ((DWORD)(~(UPDFCACHE_ONLYIFBLANK))); |
| 505 | const DWORD UPDFCACHE_ALLBUTNODATACACHE = (UPDFCACHE_ALL & ((DWORD)(~UPDFCACHE_NODATACACHE))); |
| 506 | |
| 507 | typedef enum tagDISCARDCACHE |
| 508 | { |
| 509 | DISCARDCACHE_SAVEIFDIRTY = 0, |
| 510 | DISCARDCACHE_NOSAVE = 1 |
| 511 | } DISCARDCACHE; |
| 512 | |
| 513 | [local] |
| 514 | HRESULT UpdateCache( |
| 515 | [in] LPDATAOBJECT pDataObject, |
| 516 | [in] DWORD grfUpdf, |
| 517 | [in] LPVOID pReserved); |
| 518 | |
| 519 | [call_as(UpdateCache)] |
| 520 | HRESULT RemoteUpdateCache( |
| 521 | [in] LPDATAOBJECT pDataObject, |
| 522 | [in] DWORD grfUpdf, |
| 523 | [in] LONG_PTR pReserved); |
| 524 | |
| 525 | HRESULT DiscardCache( |
| 526 | [in] DWORD dwDiscardOptions); |
| 527 | } |
| 528 | |
| 529 | |
| 530 | /***************************************************************************** |
| 531 | * IOleCacheControl interface |
| 532 | */ |
| 533 | [ |
| 534 | object, |
| 535 | uuid(00000129-0000-0000-c000-000000000046) |
| 536 | ] |
| 537 | interface IOleCacheControl : IUnknown |
| 538 | { |
| 539 | typedef [unique] IOleCacheControl *LPOLECACHECONTROL; |
| 540 | |
| 541 | HRESULT OnRun( |
| 542 | LPDATAOBJECT pDataObject); |
| 543 | |
| 544 | HRESULT OnStop(); |
| 545 | } |
| 546 | |
| 547 | |
| 548 | /***************************************************************************** |
| 549 | * IEnumOLEVERB interface |
| 550 | */ |
| 551 | [ |
| 552 | object, |
| 553 | uuid(00000104-0000-0000-c000-000000000046), |
| 554 | pointer_default(unique) |
| 555 | ] |
| 556 | interface IEnumOLEVERB : IUnknown |
| 557 | { |
| 558 | typedef [unique] IEnumOLEVERB *LPENUMOLEVERB; |
| 559 | |
| 560 | typedef struct tagOLEVERB |
| 561 | { |
| 562 | LONG lVerb; |
| 563 | LPOLESTR lpszVerbName; |
| 564 | DWORD fuFlags; |
| 565 | DWORD grfAttribs; |
| 566 | } OLEVERB, *LPOLEVERB; |
| 567 | |
| 568 | typedef enum tagOLEVERBATTRIB |
| 569 | { |
| 570 | OLEVERBATTRIB_NEVERDIRTIES = 1, |
| 571 | OLEVERBATTRIB_ONCONTAINERMENU = 2 |
| 572 | } OLEVERBATTRIB; |
| 573 | |
| 574 | [local] |
| 575 | HRESULT Next( |
| 576 | [in] ULONG celt, |
| 577 | [out, size_is(celt), length_is(*pceltFetched)] LPOLEVERB rgelt, |
| 578 | [out] ULONG *pceltFetched); |
| 579 | |
| 580 | [call_as(Next)] |
| 581 | HRESULT RemoteNext( |
| 582 | [in] ULONG celt, |
| 583 | [out, size_is(celt), length_is(*pceltFetched)] LPOLEVERB rgelt, |
| 584 | [out] ULONG *pceltFetched); |
| 585 | |
| 586 | HRESULT Skip( |
| 587 | [in] ULONG celt); |
| 588 | |
| 589 | HRESULT Reset(); |
| 590 | |
| 591 | HRESULT Clone( |
| 592 | [out] IEnumOLEVERB **ppenum); |
| 593 | } |
| 594 | |
| 595 | |
| 596 | /***************************************************************************** |
| 597 | * IOleObject interface |
| 598 | */ |
| 599 | [ |
| 600 | object, |
| 601 | uuid(00000112-0000-0000-c000-000000000046), |
| 602 | pointer_default(unique) |
| 603 | ] |
| 604 | interface IOleObject : IUnknown |
| 605 | { |
| 606 | typedef [unique] IOleObject *LPOLEOBJECT; |
| 607 | |
| 608 | typedef enum tagOLEGETMONIKER |
| 609 | { |
| 610 | OLEGETMONIKER_ONLYIFTHERE = 1, |
| 611 | OLEGETMONIKER_FORCEASSIGN = 2, |
| 612 | OLEGETMONIKER_UNASSIGN = 3, |
| 613 | OLEGETMONIKER_TEMPFORUSER = 4 |
| 614 | } OLEGETMONIKER; |
| 615 | |
| 616 | typedef enum tagOLEWHICHMK |
| 617 | { |
| 618 | OLEWHICHMK_CONTAINER = 1, |
| 619 | OLEWHICHMK_OBJREL = 2, |
| 620 | OLEWHICHMK_OBJFULL = 3 |
| 621 | } OLEWHICHMK; |
| 622 | |
| 623 | typedef enum tagUSERCLASSTYPE |
| 624 | { |
| 625 | USERCLASSTYPE_FULL = 1, |
| 626 | USERCLASSTYPE_SHORT = 2, |
| 627 | USERCLASSTYPE_APPNAME = 3 |
| 628 | } USERCLASSTYPE; |
| 629 | |
| 630 | typedef enum tagOLEMISC |
| 631 | { |
| 632 | OLEMISC_RECOMPOSEONRESIZE = 0x1, |
| 633 | OLEMISC_ONLYICONIC = 0x2, |
| 634 | OLEMISC_INSERTNOTREPLACE = 0x4, |
| 635 | OLEMISC_STATIC = 0x8, |
| 636 | OLEMISC_CANTLINKINSIDE = 0x10, |
| 637 | OLEMISC_CANLINKBYOLE1 = 0x20, |
| 638 | OLEMISC_ISLINKOBJECT = 0x40, |
| 639 | OLEMISC_INSIDEOUT = 0x80, |
| 640 | OLEMISC_ACTIVATEWHENVISIBLE = 0x100, |
| 641 | OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200, |
| 642 | OLEMISC_INVISIBLEATRUNTIME = 0x400, |
| 643 | OLEMISC_ALWAYSRUN = 0x800, |
| 644 | OLEMISC_ACTSLIKEBUTTON = 0x1000, |
| 645 | OLEMISC_ACTSLIKELABEL = 0x2000, |
| 646 | OLEMISC_NOUIACTIVATE = 0x4000, |
| 647 | OLEMISC_ALIGNABLE = 0x8000, |
| 648 | OLEMISC_SIMPLEFRAME = 0x10000, |
| 649 | OLEMISC_SETCLIENTSITEFIRST = 0x20000, |
| 650 | OLEMISC_IMEMODE = 0x40000, |
| 651 | OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000, |
| 652 | OLEMISC_WANTSTOMENUMERGE = 0x100000, |
| 653 | OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000 |
| 654 | } OLEMISC; |
| 655 | |
| 656 | typedef enum tagOLECLOSE |
| 657 | { |
| 658 | OLECLOSE_SAVEIFDIRTY = 0, |
| 659 | OLECLOSE_NOSAVE = 1, |
| 660 | OLECLOSE_PROMPTSAVE = 2 |
| 661 | } OLECLOSE; |
| 662 | |
| 663 | HRESULT SetClientSite( |
| 664 | [in, unique] IOleClientSite *pClientSite); |
| 665 | |
| 666 | HRESULT GetClientSite( |
| 667 | [out] IOleClientSite **ppClientSite); |
| 668 | |
| 669 | HRESULT SetHostNames( |
| 670 | [in] LPCOLESTR szContainerApp, |
| 671 | [in, unique] LPCOLESTR szContainerObj); |
| 672 | |
| 673 | HRESULT Close( |
| 674 | [in] DWORD dwSaveOption); |
| 675 | |
| 676 | HRESULT SetMoniker( |
| 677 | [in] DWORD dwWhichMoniker, |
| 678 | [in, unique] IMoniker *pmk); |
| 679 | |
| 680 | HRESULT GetMoniker( |
| 681 | [in] DWORD dwAssign, |
| 682 | [in] DWORD dwWhichMoniker, |
| 683 | [out] IMoniker **ppmk); |
| 684 | |
| 685 | HRESULT InitFromData( |
| 686 | [in, unique] IDataObject *pDataObject, |
| 687 | [in] BOOL fCreation, |
| 688 | [in] DWORD dwReserved); |
| 689 | |
| 690 | HRESULT GetClipboardData( |
| 691 | [in] DWORD dwReserved, |
| 692 | [out] IDataObject **ppDataObject); |
| 693 | |
| 694 | HRESULT DoVerb( |
| 695 | [in] LONG iVerb, |
Alexandre Julliard | 20c169e | 2003-09-09 19:39:31 +0000 | [diff] [blame] | 696 | [in, unique] LPMSG lpmsg, |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 697 | [in, unique] IOleClientSite *pActiveSite, |
| 698 | [in] LONG lindex, |
| 699 | [in] HWND hwndParent, |
| 700 | [in, unique] LPCRECT lprcPosRect); |
| 701 | |
| 702 | HRESULT EnumVerbs( |
| 703 | [out] IEnumOLEVERB **ppEnumOleVerb); |
| 704 | |
| 705 | HRESULT Update(); |
| 706 | |
| 707 | HRESULT IsUpToDate(); |
| 708 | |
| 709 | HRESULT GetUserClassID( |
| 710 | [out] CLSID *pClsid); |
| 711 | |
| 712 | HRESULT GetUserType( |
| 713 | [in] DWORD dwFormOfType, |
| 714 | [out] LPOLESTR *pszUserType); |
| 715 | |
| 716 | HRESULT SetExtent( |
| 717 | [in] DWORD dwDrawAspect, |
| 718 | [in] SIZEL *psizel); |
| 719 | |
| 720 | HRESULT GetExtent( |
| 721 | [in] DWORD dwDrawAspect, |
| 722 | [out] SIZEL *psizel); |
| 723 | |
| 724 | HRESULT Advise( |
| 725 | [in, unique] IAdviseSink *pAdvSink, |
| 726 | [out] DWORD *pdwConnection); |
| 727 | |
| 728 | HRESULT Unadvise( |
| 729 | [in] DWORD dwConnection); |
| 730 | |
| 731 | HRESULT EnumAdvise( |
| 732 | [out] IEnumSTATDATA **ppenumAdvise); |
| 733 | |
| 734 | HRESULT GetMiscStatus( |
| 735 | [in] DWORD dwAspect, |
| 736 | [out] DWORD *pdwStatus); |
| 737 | |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 738 | HRESULT SetColorScheme( |
Alexandre Julliard | 8da94c9 | 2003-09-04 00:03:48 +0000 | [diff] [blame] | 739 | [in] LOGPALETTE *pLogpal); |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 740 | } |
| 741 | |
| 742 | |
| 743 | /***************************************************************************** |
| 744 | * IOleAdviseHolder interface |
| 745 | */ |
| 746 | [ |
| 747 | local, |
| 748 | object, |
| 749 | uuid(00000111-0000-0000-c000-000000000046) |
| 750 | ] |
| 751 | interface IOleAdviseHolder : IUnknown |
| 752 | { |
| 753 | typedef [unique] IOleAdviseHolder * LPOLEADVISEHOLDER; |
| 754 | |
| 755 | HRESULT Advise( |
| 756 | [in, unique] IAdviseSink *pAdvise, |
| 757 | [out] DWORD *pdwConnection); |
| 758 | |
| 759 | HRESULT Unadvise( |
| 760 | [in] DWORD dwConnection); |
| 761 | |
| 762 | HRESULT EnumAdvise( |
| 763 | [out] IEnumSTATDATA **ppenumAdvise); |
| 764 | |
| 765 | HRESULT SendOnRename( |
| 766 | [in, unique] IMoniker *pmk); |
| 767 | |
| 768 | HRESULT SendOnSave(); |
| 769 | HRESULT SendOnClose(); |
| 770 | } |
| 771 | |
| 772 | |
| 773 | /***************************************************************************** |
| 774 | * IContinue interface |
| 775 | */ |
| 776 | [ |
| 777 | object, |
| 778 | uuid(0000012a-0000-0000-c000-000000000046) |
| 779 | ] |
| 780 | interface IContinue : IUnknown |
| 781 | { |
| 782 | HRESULT FContinue(); |
| 783 | } |
| 784 | |
| 785 | |
| 786 | /***************************************************************************** |
| 787 | * IViewObject interface |
| 788 | */ |
| 789 | [ |
| 790 | object, |
| 791 | uuid(0000010d-0000-0000-c000-000000000046) |
| 792 | ] |
| 793 | interface IViewObject : IUnknown |
| 794 | { |
| 795 | typedef [unique] IViewObject *LPVIEWOBJECT; |
| 796 | |
| 797 | [local] |
| 798 | HRESULT Draw( |
| 799 | [in] DWORD dwDrawAspect, |
| 800 | [in] LONG lindex, |
| 801 | [in, unique] void * pvAspect, |
| 802 | [in, unique] DVTARGETDEVICE *ptd, |
| 803 | [in] HDC hdcTargetDev, |
| 804 | [in] HDC hdcDraw, |
| 805 | [in] LPCRECTL lprcBounds, |
| 806 | [in, unique] LPCRECTL lprcWBounds, |
| 807 | [in] BOOL (*pfnContinue)(ULONG_PTR dwContinue), |
| 808 | [in] ULONG_PTR dwContinue); |
| 809 | |
| 810 | [call_as(Draw)] |
| 811 | HRESULT RemoteDraw( |
| 812 | [in] DWORD dwDrawAspect, |
| 813 | [in] LONG lindex, |
| 814 | [in] ULONG_PTR pvAspect, |
| 815 | [in, unique] DVTARGETDEVICE *ptd, |
| 816 | [in] ULONG_PTR hdcTargetDev, |
| 817 | [in] ULONG_PTR hdcDraw, |
| 818 | [in] LPCRECTL lprcBounds, |
| 819 | [in, unique] LPCRECTL lprcWBounds, |
| 820 | [in] IContinue *pContinue); |
| 821 | |
| 822 | [local] |
| 823 | HRESULT GetColorSet( |
| 824 | [in] DWORD dwDrawAspect, |
| 825 | [in] LONG lindex, |
| 826 | [in, unique] void *pvAspect, |
| 827 | [in, unique] DVTARGETDEVICE *ptd, |
| 828 | [in] HDC hicTargetDev, |
Alexandre Julliard | 8da94c9 | 2003-09-04 00:03:48 +0000 | [diff] [blame] | 829 | [out] LOGPALETTE **ppColorSet); |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 830 | |
| 831 | [call_as(GetColorSet)] |
| 832 | HRESULT RemoteGetColorSet( |
| 833 | [in] DWORD dwDrawAspect, |
| 834 | [in] LONG lindex, |
| 835 | [in] ULONG_PTR pvAspect, |
| 836 | [in, unique] DVTARGETDEVICE *ptd, |
| 837 | [in] ULONG_PTR hicTargetDev, |
Alexandre Julliard | 8da94c9 | 2003-09-04 00:03:48 +0000 | [diff] [blame] | 838 | [out] LOGPALETTE **ppColorSet); |
Alexandre Julliard | 802ebc1 | 2003-09-03 20:17:39 +0000 | [diff] [blame] | 839 | |
| 840 | [local] |
| 841 | HRESULT Freeze( |
| 842 | [in] DWORD dwDrawAspect, |
| 843 | [in] LONG lindex, |
| 844 | [in, unique] void *pvAspect, |
| 845 | [out] DWORD *pdwFreeze); |
| 846 | |
| 847 | [call_as(Freeze)] |
| 848 | HRESULT RemoteFreeze( |
| 849 | [in] DWORD dwDrawAspect, |
| 850 | [in] LONG lindex, |
| 851 | [in] ULONG_PTR pvAspect, |
| 852 | [out] DWORD *pdwFreeze); |
| 853 | |
| 854 | HRESULT Unfreeze( |
| 855 | [in] DWORD dwFreeze); |
| 856 | |
| 857 | HRESULT SetAdvise( |
| 858 | [in] DWORD aspects, |
| 859 | [in] DWORD advf, |
| 860 | [in, unique] IAdviseSink *pAdvSink); |
| 861 | |
| 862 | [local] |
| 863 | HRESULT GetAdvise( |
| 864 | [out, unique] DWORD *pAspects, |
| 865 | [out, unique] DWORD *pAdvf, |
| 866 | [out] IAdviseSink **ppAdvSink); |
| 867 | |
| 868 | [call_as(GetAdvise)] |
| 869 | HRESULT RemoteGetAdvise( |
| 870 | [out] DWORD *pAspects, |
| 871 | [out] DWORD *pAdvf, |
| 872 | [out] IAdviseSink **ppAdvSink); |
| 873 | } |
| 874 | |
| 875 | |
| 876 | /***************************************************************************** |
| 877 | * IViewObject2 interface |
| 878 | */ |
| 879 | [ |
| 880 | object, |
| 881 | uuid(00000127-0000-0000-c000-000000000046) |
| 882 | ] |
| 883 | interface IViewObject2 : IViewObject |
| 884 | { |
| 885 | typedef [unique] IViewObject2 *LPVIEWOBJECT2; |
| 886 | |
| 887 | HRESULT GetExtent( |
| 888 | [in] DWORD dwDrawAspect, |
| 889 | [in] LONG lindex, |
| 890 | [in, unique] DVTARGETDEVICE* ptd, |
| 891 | [out] LPSIZEL lpsizel); |
| 892 | } |
| 893 | |
| 894 | |
| 895 | /***************************************************************************** |
| 896 | * IDropSource interface |
| 897 | */ |
| 898 | [ |
| 899 | local, |
| 900 | object, |
| 901 | uuid(00000121-0000-0000-c000-000000000046) |
| 902 | ] |
| 903 | interface IDropSource : IUnknown |
| 904 | { |
| 905 | typedef [unique] IDropSource *LPDROPSOURCE; |
| 906 | |
| 907 | HRESULT QueryContinueDrag( |
| 908 | [in] BOOL fEscapePressed, |
| 909 | [in] DWORD grfKeyState); |
| 910 | |
| 911 | HRESULT GiveFeedback( |
| 912 | [in] DWORD dwEffect); |
| 913 | } |
| 914 | |
| 915 | |
| 916 | /***************************************************************************** |
| 917 | * IDropTarget interface |
| 918 | */ |
| 919 | [ |
| 920 | object, |
| 921 | uuid(00000122-0000-0000-c000-000000000046), |
| 922 | pointer_default(unique) |
| 923 | ] |
| 924 | interface IDropTarget : IUnknown |
| 925 | { |
| 926 | typedef [unique] IDropTarget *LPDROPTARGET; |
| 927 | |
| 928 | const DWORD MK_ALT = 0x20; |
| 929 | const DWORD DROPEFFECT_NONE = 0; |
| 930 | const DWORD DROPEFFECT_COPY = 1; |
| 931 | const DWORD DROPEFFECT_MOVE = 2; |
| 932 | const DWORD DROPEFFECT_LINK = 4; |
| 933 | const DWORD DROPEFFECT_SCROLL = 0x80000000; |
| 934 | const DWORD DD_DEFSCROLLINSET = 11; |
| 935 | const DWORD DD_DEFSCROLLDELAY = 50; |
| 936 | const DWORD DD_DEFSCROLLINTERVAL = 50; |
| 937 | const DWORD DD_DEFDRAGDELAY = 200; |
| 938 | const DWORD DD_DEFDRAGMINDIST = 2; |
| 939 | |
| 940 | HRESULT DragEnter( |
| 941 | [in, unique] IDataObject *pDataObj, |
| 942 | [in] DWORD grfKeyState, |
| 943 | [in] POINTL pt, |
| 944 | [in, out] DWORD *pdwEffect); |
| 945 | |
| 946 | HRESULT DragOver( |
| 947 | [in] DWORD grfKeyState, |
| 948 | [in] POINTL pt, |
| 949 | [in, out] DWORD *pdwEffect); |
| 950 | |
| 951 | HRESULT DragLeave(); |
| 952 | |
| 953 | HRESULT Drop( |
| 954 | [in, unique] IDataObject *pDataObj, |
| 955 | [in] DWORD grfKeyState, |
| 956 | [in] POINTL pt, |
| 957 | [in, out] DWORD *pdwEffect); |
| 958 | } |