VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/oleidl.idl@ 35718

Last change on this file since 35718 was 33656, checked in by vboxsync, 14 years ago

*: rebrand Sun (L)GPL disclaimers

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette