VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/ocidl.idl@ 33223

Last change on this file since 33223 was 19678, checked in by vboxsync, 16 years ago

opengl: update wine to 1.1.21, add d3d9.dll to build list

  • Property svn:eol-style set to native
File size: 32.9 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 * Sun 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, Sun 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 "oleidl.idl";
32import "oaidl.idl";
33import "servprov.idl";
34import "urlmon.idl";
35#endif
36
37/*****************************************************************************
38 * IOleControlTypes interface
39 */
40[
41 pointer_default(unique)
42]
43interface IOleControlTypes
44{
45 typedef [v1_enum] enum tagUASFLAGS
46 {
47 UAS_NORMAL = 0x0,
48 UAS_BLOCKED = 0x1,
49 UAS_NOPARENTABLE = 0x2,
50 UAS_MASK = 0x3
51 } UASFLAGS;
52
53 typedef enum tagREADYSTATE
54 {
55 READYSTATE_UNINITIALIZED = 0,
56 READYSTATE_LOADING = 1,
57 READYSTATE_LOADED = 2,
58 READYSTATE_INTERACTIVE = 3,
59 READYSTATE_COMPLETE = 4
60 } READYSTATE;
61
62 typedef struct tagVARIANT_BLOB
63 {
64 DWORD clSize;
65 DWORD rpcReserved;
66 [size_is(clSize-1)] ULONGLONG ahData[];
67 } wireVARIANT_BLOB;
68
69 typedef struct tagUserVARIANT
70 {
71 wireVARIANT_BLOB pVarBlob;
72 } UserVARIANT;
73}
74
75
76/*****************************************************************************
77 * IFont interface
78 */
79[
80 object,
81 uuid(bef6e002-a874-101a-8bba-00aa00300cab),
82 pointer_default(unique)
83]
84interface IFont : IUnknown
85{
86 typedef IFont *LPFONT;
87 typedef TEXTMETRICW TEXTMETRICOLE, *LPTEXTMETRICOLE;
88
89 [propget] HRESULT Name( [out] BSTR *pname);
90 [propput] HRESULT Name( [in] BSTR name );
91 [propget] HRESULT Size( [out] CY *psize );
92 [propput] HRESULT Size( [in] CY size );
93 [propget] HRESULT Bold( [out] BOOL *pbold );
94 [propput] HRESULT Bold( [in] BOOL bold );
95 [propget] HRESULT Italic( [out] BOOL *pitalic );
96 [propput] HRESULT Italic( [in] BOOL italic );
97 [propget] HRESULT Underline( [out] BOOL *punderline );
98 [propput] HRESULT Underline( [in] BOOL underline );
99 [propget] HRESULT Strikethrough( [out] BOOL *pstrikethrough );
100 [propput] HRESULT Strikethrough( [in] BOOL strikethrough );
101 [propget] HRESULT Weight( [out] SHORT *pweight );
102 [propput] HRESULT Weight( [in] SHORT weight );
103 [propget] HRESULT Charset( [out] SHORT *pcharset );
104 [propput] HRESULT Charset( [in] SHORT charset );
105 [propget] HRESULT hFont( [out] HFONT *phfont );
106 HRESULT Clone( [out] IFont **ppfont );
107 HRESULT IsEqual( [in] IFont *pFontOther );
108 HRESULT SetRatio( [in] LONG cyLogical, [in] LONG cyHimetric );
109 HRESULT QueryTextMetrics( [out] TEXTMETRICOLE * ptm );
110 HRESULT AddRefHfont( [in] HFONT hfont );
111 HRESULT ReleaseHfont( [in] HFONT hfont );
112 HRESULT SetHdc( [in] HDC hdc );
113}
114
115
116/*****************************************************************************
117 * IFontDisp interface
118 */
119[
120 object,
121 uuid(bef6e003-a874-101a-8bba-00aa00300cab),
122 pointer_default(unique)
123]
124interface IFontDisp : IDispatch
125{
126 typedef IFontDisp *LPFONTDISP;
127}
128
129
130/*****************************************************************************
131 * IFontEventsDisp interface
132 */
133[
134 object,
135 uuid(4ef6100a-af88-11d0-9846-00c04fc29993),
136 pointer_default(unique)
137]
138interface IFontEventsDisp : IDispatch
139{
140 typedef IFontEventsDisp *LPFONTEVENTS;
141}
142
143
144/*****************************************************************************
145 * IPicture interface
146 */
147[
148 object,
149 uuid(7bf80980-bf32-101a-8bbb-00aa00300cab),
150 pointer_default(unique)
151]
152interface IPicture : IUnknown
153{
154 typedef IPicture *LPPICTURE;
155
156 typedef enum tagPicture
157 {
158 PICTURE_SCALABLE = 0x1,
159 PICTURE_TRANSPARENT = 0x2
160 } PICTUREATTRIBUTES;
161
162 typedef UINT OLE_HANDLE;
163 typedef LONG OLE_XPOS_HIMETRIC;
164 typedef LONG OLE_YPOS_HIMETRIC;
165 typedef LONG OLE_XSIZE_HIMETRIC;
166 typedef LONG OLE_YSIZE_HIMETRIC;
167
168 [propget] HRESULT Handle( [out] OLE_HANDLE *pHandle );
169 [propget] HRESULT hPal( [out] OLE_HANDLE *phPal );
170 [propget] HRESULT Type( [out] SHORT *pType );
171 [propget] HRESULT Width( [out] OLE_XSIZE_HIMETRIC *pWidth );
172 [propget] HRESULT Height( [out] OLE_YSIZE_HIMETRIC *pHeight );
173
174 HRESULT Render(
175 [in] HDC hdc,
176 [in] LONG x,
177 [in] LONG y,
178 [in] LONG cx,
179 [in] LONG cy,
180 [in] OLE_XPOS_HIMETRIC xSrc,
181 [in] OLE_YPOS_HIMETRIC ySrc,
182 [in] OLE_XSIZE_HIMETRIC cxSrc,
183 [in] OLE_YSIZE_HIMETRIC cySrc,
184 [in] LPCRECT pRcWBounds);
185
186 HRESULT set_hPal( [in] OLE_HANDLE hPal );
187
188 [propget] HRESULT CurDC( [out] HDC *phDC );
189
190 HRESULT SelectPicture(
191 [in] HDC hDCIn,
192 [out] HDC * phDCOut,
193 [out] OLE_HANDLE * phBmpOut);
194
195 [propget] HRESULT KeepOriginalFormat( [out] BOOL *pKeep );
196
197 [propput] HRESULT KeepOriginalFormat( [in] BOOL keep );
198
199 HRESULT PictureChanged();
200
201 HRESULT SaveAsFile(
202 [in] LPSTREAM pStream,
203 [in] BOOL fSaveMemCopy,
204 [out] LONG *pCbSize);
205
206 [propget] HRESULT Attributes( [out] DWORD *pDwAttr );
207}
208
209
210/*****************************************************************************
211 * IPictureDisp interface
212 */
213[
214 object,
215 uuid(7bf80981-bf32-101a-8bbb-00aa00300cab),
216 pointer_default(unique)
217]
218interface IPictureDisp : IDispatch
219{
220 typedef IPictureDisp *LPPICTUREDISP;
221}
222
223
224/*****************************************************************************
225 * IOleControl interface
226 */
227[
228 object,
229 uuid(b196b288-bab4-101a-b69c-00aa00341d07),
230 pointer_default(unique)
231]
232
233interface IOleControl : IUnknown
234{
235 typedef IOleControl *LPOLECONTROL;
236
237 typedef struct tagCONTROLINFO
238 {
239 ULONG cb;
240 HACCEL hAccel;
241 USHORT cAccel;
242 DWORD dwFlags;
243 } CONTROLINFO, *LPCONTROLINFO;
244
245 typedef enum tagCTRLINFO
246 {
247 CTRLINFO_EATS_RETURN = 1,
248 CTRLINFO_EATS_ESCAPE = 2
249 } CTRLINFO;
250
251 HRESULT GetControlInfo( [out] CONTROLINFO *pCI );
252 HRESULT OnMnemonic( [in] MSG *pMsg );
253 HRESULT OnAmbientPropertyChange( [in] DISPID dispID );
254 HRESULT FreezeEvents( [in] BOOL bFreeze );
255}
256
257
258/*****************************************************************************
259 * IOleControlSite interface
260 */
261[
262 object,
263 uuid(b196b289-bab4-101a-b69c-00aa00341d07),
264 pointer_default(unique)
265]
266interface IOleControlSite : IUnknown
267{
268 typedef IOleControlSite *LPOLECONTROLSITE;
269
270 typedef struct tagPOINTF
271 {
272 FLOAT x;
273 FLOAT y;
274 } POINTF, *LPPOINTF;
275
276 typedef enum tagXFORMCOORDS
277 {
278 XFORMCOORDS_POSITION = 0x1,
279 XFORMCOORDS_SIZE = 0x2,
280 XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
281 XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
282 XFORMCOORDS_EVENTCOMPAT = 0x10
283 } XFORMCOORDS;
284
285 HRESULT OnControlInfoChanged();
286
287 HRESULT LockInPlaceActive( [in] BOOL fLock );
288
289 HRESULT GetExtendedControl( [out] IDispatch ** ppDisp );
290
291 HRESULT TransformCoords(
292 [in, out] POINTL *pPtlHimetric,
293 [in, out] POINTF *pPtfContainer,
294 [in] DWORD dwFlags);
295
296 HRESULT TranslateAccelerator( [in] MSG *pMsg, [in] DWORD grfModifiers );
297
298 HRESULT OnFocus( [in] BOOL fGotFocus );
299
300 HRESULT ShowPropertyFrame();
301}
302
303
304/*****************************************************************************
305 * IOleInPlaceSiteEx interface
306 */
307[
308 object,
309 uuid(9c2cad80-3424-11cf-b670-00aa004cd6d8),
310 pointer_default(unique)
311]
312interface IOleInPlaceSiteEx : IOleInPlaceSite
313{
314 typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
315
316 typedef enum tagACTIVATEFLAGS
317 {
318 ACTIVATE_WINDOWLESS = 1
319 } ACTIVATE_FLAGS;
320
321 HRESULT OnInPlaceActivateEx( [out] BOOL * pfNoRedraw, [in] DWORD dwFlags );
322 HRESULT OnInPlaceDeactivateEx( [in] BOOL fNoRedraw );
323 HRESULT RequestUIActivate();
324}
325
326
327/*****************************************************************************
328 * IOleInPlaceSiteWindowless interface
329 */
330[
331 local,
332 object,
333 uuid(922eada0-3424-11cf-b670-00aa004cd6d8),
334 pointer_default(unique)
335]
336interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx
337{
338 typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
339
340 typedef enum tagOLEDCFLAGS
341 {
342 OLEDC_NODRAW = 0x1,
343 OLEDC_PAINTBKGND = 0x2,
344 OLEDC_OFFSCREEN = 0x4
345 } OLEDCFLAGS;
346
347 HRESULT CanWindowlessActivate();
348
349 HRESULT GetCapture();
350
351 HRESULT SetCapture( [in] BOOL fCapture );
352
353 HRESULT GetFocus();
354
355 HRESULT SetFocus( [in] BOOL fFocus );
356
357 HRESULT GetDC(
358 [in] LPCRECT pRect,
359 [in] DWORD grfFlags,
360 [out] HDC *phDC);
361
362 HRESULT ReleaseDC( [in] HDC hDC );
363
364 HRESULT InvalidateRect(
365 [in] LPCRECT pRect,
366 [in] BOOL fErase);
367
368 HRESULT InvalidateRgn(
369 [in] HRGN hRGN,
370 [in] BOOL fErase);
371
372 HRESULT ScrollRect(
373 [in] INT dx,
374 [in] INT dy,
375 [in] LPCRECT pRectScroll,
376 [in] LPCRECT pRectClip);
377
378 HRESULT AdjustRect( [in, out] LPRECT prc );
379
380 HRESULT OnDefWindowMessage(
381 [in] UINT msg,
382 [in] WPARAM wParam,
383 [in] LPARAM lParam,
384 [out] LRESULT *plResult);
385}
386
387
388/*****************************************************************************
389 * IOleInPlaceObjectWindowless interface
390 */
391[
392 local,
393 object,
394 uuid(1c2056cc-5ef4-101b-8bc8-00aa003e3b29),
395 pointer_default(unique)
396]
397interface IOleInPlaceObjectWindowless : IOleInPlaceObject
398{
399 typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
400
401 HRESULT OnWindowMessage(
402 [in] UINT msg,
403 [in] WPARAM wParam,
404 [in] LPARAM lParam,
405 [out] LRESULT *plResult);
406
407 HRESULT GetDropTarget( [out] IDropTarget **ppDropTarget );
408}
409
410
411/*****************************************************************************
412 * IClassFactory2 interface
413 */
414[
415 object,
416 uuid(b196b28f-bab4-101a-b69c-00aa00341d07),
417 pointer_default(unique)
418]
419interface IClassFactory2 : IClassFactory
420{
421 typedef IClassFactory2 *LPCLASSFACTORY2;
422
423 typedef struct tagLICINFO
424 {
425 LONG cbLicInfo;
426 BOOL fRuntimeKeyAvail;
427 BOOL fLicVerified;
428 } LICINFO, *LPLICINFO;
429
430 HRESULT GetLicInfo( [out] LICINFO *pLicInfo );
431
432 HRESULT RequestLicKey(
433 [in] DWORD dwReserved,
434 [out] BSTR *pBstrKey);
435
436 [local]
437 HRESULT CreateInstanceLic(
438 [in] IUnknown *pUnkOuter,
439 [in] IUnknown *pUnkReserved,
440 [in] REFIID riid,
441 [in] BSTR bstrKey,
442 [out, iid_is(riid)] PVOID *ppvObj);
443
444 [call_as(CreateInstanceLic)]
445 HRESULT RemoteCreateInstanceLic(
446 [in] REFIID riid,
447 [in] BSTR bstrKey,
448 [out, iid_is(riid)] IUnknown **ppvObj);
449}
450
451
452/*****************************************************************************
453 * IViewObject interface
454 */
455[
456 local,
457 object,
458 uuid(3af24292-0c96-11ce-a0cf-00aa00600ab8),
459 pointer_default(unique)
460]
461interface IViewObjectEx : IViewObject2
462{
463 typedef IViewObjectEx *LPVIEWOBJECTEX;
464
465 typedef enum tagVIEWSTATUS
466 {
467 VIEWSTATUS_OPAQUE = 1,
468 VIEWSTATUS_SOLIDBKGND = 2,
469 VIEWSTATUS_DVASPECTOPAQUE = 4,
470 VIEWSTATUS_DVASPECTTRANSPARENT = 8,
471 VIEWSTATUS_SURFACE = 16,
472 VIEWSTATUS_3DSURFACE = 32
473 } VIEWSTATUS;
474
475 typedef enum tagHITRESULT
476 {
477 HITRESULT_OUTSIDE = 0,
478 HITRESULT_TRANSPARENT = 1,
479 HITRESULT_CLOSE = 2,
480 HITRESULT_HIT = 3
481 } HITRESULT;
482
483 typedef enum tagDVASPECT2
484 {
485 DVASPECT_OPAQUE = 16,
486 DVASPECT_TRANSPARENT = 32
487 } DVASPECT2;
488
489 typedef struct tagExtentInfo
490 {
491 ULONG cb;
492 DWORD dwExtentMode;
493 SIZEL sizelProposed;
494 } DVEXTENTINFO;
495
496 typedef enum tagAspectInfoFlag
497 {
498 DVASPECTINFOFLAG_CANOPTIMIZE = 1
499 } DVASPECTINFOFLAG;
500
501 typedef struct tagAspectInfo
502 {
503 ULONG cb;
504 DWORD dwFlags;
505 } DVASPECTINFO;
506
507 HRESULT GetRect(
508 [in] DWORD dwAspect,
509 [out] LPRECTL pRect);
510
511 HRESULT GetViewStatus( [out] DWORD *pdwStatus );
512
513 HRESULT QueryHitPoint(
514 [in] DWORD dwAspect,
515 [in] LPCRECT pRectBounds,
516 [in] POINT ptlLoc,
517 [in] LONG lCloseHint,
518 [out] DWORD *pHitResult);
519
520 HRESULT QueryHitRect(
521 [in] DWORD dwAspect,
522 [in] LPCRECT pRectBounds,
523 [in] LPCRECT pRectLoc,
524 [in] LONG lCloseHint,
525 [out] DWORD *pHitResult);
526
527 HRESULT GetNaturalExtent (
528 [in] DWORD dwAspect,
529 [in] LONG lindex,
530 [in] DVTARGETDEVICE *ptd,
531 [in] HDC hicTargetDev,
532 [in] DVEXTENTINFO *pExtentInfo,
533 [out] LPSIZEL pSizel);
534}
535
536
537/*****************************************************************************
538 * IProvideClassInfo interface
539 */
540[
541 object,
542 uuid(b196b283-bab4-101a-b69c-00aa00341d07),
543 pointer_default(unique)
544]
545interface IProvideClassInfo : IUnknown
546{
547 typedef IProvideClassInfo *LPPROVIDECLASSINFO;
548
549cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
550cpp_quote("#undef GetClassInfo")
551cpp_quote("#endif")
552
553 HRESULT GetClassInfo( [out] ITypeInfo ** ppTI );
554}
555
556
557/*****************************************************************************
558 * IProvideClassInfo2 interface
559 */
560[
561 object,
562 uuid(a6bc3ac0-dbaa-11ce-9de3-00aa004bb851),
563 pointer_default(unique)
564]
565interface IProvideClassInfo2 : IProvideClassInfo
566{
567 typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
568
569 typedef enum tagGUIDKIND
570 {
571 GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
572 } GUIDKIND;
573
574 HRESULT GetGUID(
575 [in] DWORD dwGuidKind,
576 [out] GUID *pGUID );
577}
578
579
580[
581 object,
582 uuid(a7aba9c1-8983-11cf-8f20-00805f2cd064),
583 pointer_default(unique)
584]
585interface IProvideMultipleClassInfo : IProvideClassInfo2
586{
587 cpp_quote("#define MULTICLASSINFO_GETTYPEINFO 0x00000001")
588 cpp_quote("#define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x00000002")
589 cpp_quote("#define MULTICLASSINFO_GETIIDPRIMARY 0x00000004")
590 cpp_quote("#define MULTICLASSINFO_GETIIDSOURCE 0x00000008")
591
592 cpp_quote("#define TIFLAGS_EXTENDDISPATCHONLY 0x00000001")
593
594 typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
595
596 HRESULT GetMultiTypeInfoCount(
597 [out] ULONG *pcti);
598
599 HRESULT GetInfoOfIndex(
600 [in] ULONG iti,
601 [in] DWORD dwFlags,
602 [out] ITypeInfo **pptiCoClass,
603 [out] DWORD *pdwTIFlags,
604 [out] ULONG *pcdispidReserved,
605 [out] IID *piidPrimary,
606 [out] IID *piidSource);
607}
608
609
610/*****************************************************************************
611 * IConnectionPoint interface
612 */
613interface IConnectionPointContainer; /* forward declarations */
614interface IEnumConnections;
615
616[
617 object,
618 uuid(b196b286-bab4-101a-b69c-00aa00341d07),
619 pointer_default(unique)
620]
621interface IConnectionPoint : IUnknown
622{
623 typedef IConnectionPoint *PCONNECTIONPOINT, *LPCONNECTIONPOINT;
624
625 HRESULT GetConnectionInterface( [out] IID *pIID );
626 HRESULT GetConnectionPointContainer( [out] IConnectionPointContainer **ppCPC );
627 HRESULT Advise( [in] IUnknown *pUnkSink, [out] DWORD *pdwCookie );
628 HRESULT Unadvise( [in] DWORD dwCookie );
629 HRESULT EnumConnections( [out] IEnumConnections **ppEnum );
630}
631
632
633/*****************************************************************************
634 * IConnectionPointContainer interface
635 */
636interface IEnumConnectionPoints; /* forward declaration */
637[
638 object,
639 uuid(b196b284-bab4-101a-b69c-00aa00341d07),
640 pointer_default(unique)
641]
642interface IConnectionPointContainer : IUnknown
643{
644 typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER, *LPCONNECTIONPOINTCONTAINER;
645
646 HRESULT EnumConnectionPoints( [out] IEnumConnectionPoints **ppEnum );
647 HRESULT FindConnectionPoint( [in] REFIID riid, [out] IConnectionPoint **ppCP );
648}
649
650
651/*****************************************************************************
652 * IEnumConnections interface
653 */
654[
655 object,
656 uuid(b196b287-bab4-101a-b69c-00aa00341d07),
657 pointer_default(unique)
658]
659interface IEnumConnections : IUnknown
660{
661 typedef IEnumConnections *PENUMCONNECTIONS, *LPENUMCONNECTIONS;
662
663 typedef struct tagCONNECTDATA
664 {
665 IUnknown *pUnk;
666 DWORD dwCookie;
667 } CONNECTDATA, *PCONNECTDATA, *LPCONNECTDATA;
668
669 [local]
670 HRESULT Next(
671 [in] ULONG cConnections,
672 [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTDATA rgcd,
673 [out] ULONG *pcFetched);
674
675 [call_as(Next)]
676 HRESULT RemoteNext(
677 [in] ULONG cConnections,
678 [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTDATA rgcd,
679 [out] ULONG *pcFetched);
680
681 HRESULT Skip( [in] ULONG cConnections );
682
683 HRESULT Reset();
684
685 HRESULT Clone( [out] IEnumConnections **ppEnum );
686}
687
688
689/*****************************************************************************
690 * IEnumConnectionPoints interface
691 */
692[
693 object,
694 uuid(b196b285-bab4-101a-b69c-00aa00341d07),
695 pointer_default(unique)
696]
697interface IEnumConnectionPoints : IUnknown
698{
699 typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS, *LPENUMCONNECTIONPOINTS;
700
701 [local]
702 HRESULT Next(
703 [in] ULONG cConnections,
704 [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP,
705 [out] ULONG *pcFetched);
706
707 [call_as(Next)]
708 HRESULT RemoteNext(
709 [in] ULONG cConnections,
710 [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP,
711 [out] ULONG *pcFetched);
712
713 HRESULT Skip( [in] ULONG cConnections );
714
715 HRESULT Reset();
716
717 HRESULT Clone( [out] IEnumConnectionPoints **ppEnum );
718}
719
720
721/*****************************************************************************
722 * IPropertyPage interface
723 */
724interface IPropertyPageSite; /* forward declaration */
725[
726 object,
727 uuid(b196b28d-bab4-101a-b69c-00aa00341d07),
728 pointer_default(unique)
729]
730interface IPropertyPage : IUnknown
731{
732 typedef IPropertyPage *LPPROPERTYPAGE;
733
734 typedef struct tagPROPPAGEINFO
735 {
736 ULONG cb;
737 LPOLESTR pszTitle;
738 SIZE size;
739 LPOLESTR pszDocString;
740 LPOLESTR pszHelpFile;
741 DWORD dwHelpContext;
742 } PROPPAGEINFO, *LPPROPPAGEINFO;
743
744 HRESULT SetPageSite( [in] IPropertyPageSite *pPageSite );
745
746 HRESULT Activate(
747 [in] HWND hWndParent,
748 [in] LPCRECT pRect,
749 [in] BOOL bModal);
750
751 HRESULT Deactivate();
752
753 HRESULT GetPageInfo( [out] PROPPAGEINFO *pPageInfo );
754
755 HRESULT SetObjects(
756 [in] ULONG cObjects,
757 [in, size_is(cObjects)] IUnknown **ppUnk);
758
759 HRESULT Show( [in] UINT nCmdShow );
760
761 HRESULT Move( [in] LPCRECT pRect );
762
763 HRESULT IsPageDirty();
764
765 HRESULT Apply();
766
767 HRESULT Help( [in] LPCOLESTR pszHelpDir );
768
769 HRESULT TranslateAccelerator( [in] MSG *pMsg );
770}
771
772
773/*****************************************************************************
774 * IPropertyPage2 interface
775 */
776[
777 object,
778 uuid(01e44665-24ac-101b-84ed-08002b2ec713),
779 pointer_default(unique)
780]
781interface IPropertyPage2 : IPropertyPage
782{
783 typedef IPropertyPage2 *LPPROPERTYPAGE2;
784
785 HRESULT EditProperty( [in] DISPID dispID );
786}
787
788
789/*****************************************************************************
790 * IPropertyPageSite interface
791 */
792[
793 object,
794 uuid(b196b28c-bab4-101a-b69c-00aa00341d07),
795 pointer_default(unique)
796]
797interface IPropertyPageSite : IUnknown
798{
799 typedef IPropertyPageSite *LPPROPERTYPAGESITE;
800
801 typedef enum tagPROPPAGESTATUS
802 {
803 PROPPAGESTATUS_DIRTY = 0x1,
804 PROPPAGESTATUS_VALIDATE = 0x2,
805 PROPPAGESTATUS_CLEAN = 0x4
806 } PROPPAGESTATUS;
807
808 HRESULT OnStatusChange( [in] DWORD dwFlags );
809 HRESULT GetLocaleID( [out] LCID *pLocaleID );
810 HRESULT GetPageContainer( [out] IUnknown **ppUnk );
811 HRESULT TranslateAccelerator( [in] MSG *pMsg );
812}
813
814
815/*****************************************************************************
816 * IPropertyNotifySink interface
817 */
818[
819 object,
820 uuid(9bfbbc02-eff1-101a-84ed-00aa00341d07),
821 pointer_default(unique)
822]
823interface IPropertyNotifySink : IUnknown
824{
825 typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
826
827 HRESULT OnChanged( [in] DISPID dispID );
828 HRESULT OnRequestEdit( [in] DISPID dispID );
829}
830
831
832/*****************************************************************************
833 * ISimpleFrameSite interface
834 */
835[
836 object,
837 uuid(742b0e01-14e6-101b-914e-00aa00300cab),
838 pointer_default(unique)
839]
840interface ISimpleFrameSite : IUnknown
841{
842 typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
843
844 HRESULT PreMessageFilter(
845 [in] HWND hWnd,
846 [in] UINT msg,
847 [in] WPARAM wp,
848 [in] LPARAM lp,
849 [out] LRESULT *plResult,
850 [out] DWORD *pdwCookie);
851
852 HRESULT PostMessageFilter(
853 [in] HWND hWnd,
854 [in] UINT msg,
855 [in] WPARAM wp,
856 [in] LPARAM lp,
857 [out] LRESULT *plResult,
858 [in] DWORD dwCookie);
859}
860
861
862/*****************************************************************************
863 * IPersistStreamInit interface
864 */
865[
866 object,
867 uuid(7fd52380-4e07-101b-ae2d-08002b2ec713),
868 pointer_default(unique)
869]
870interface IPersistStreamInit : IPersist
871{
872 typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
873
874 HRESULT IsDirty();
875 HRESULT Load( [in] LPSTREAM pStm );
876 HRESULT Save( [in] LPSTREAM pStm, [in] BOOL fClearDirty );
877 HRESULT GetSizeMax( [out] ULARGE_INTEGER *pcbSize );
878 HRESULT InitNew();
879}
880
881
882/*****************************************************************************
883 * IPersistMemory interface
884 */
885[
886 object,
887 uuid(bd1ae5e0-a6ae-11ce-bd37-504200c10000),
888 pointer_default(unique)
889]
890interface IPersistMemory : IPersist
891{
892 typedef IPersistMemory *LPPERSISTMEMORY;
893
894 HRESULT IsDirty();
895
896 [local]
897 HRESULT Load(
898 [in, size_is(cbSize)] LPVOID pMem,
899 [in] ULONG cbSize);
900
901 [call_as(Load)]
902 HRESULT RemoteLoad(
903 [in, size_is(cbSize)] BYTE *pMem,
904 [in] ULONG cbSize);
905
906 [local]
907 HRESULT Save(
908 [out, size_is(cbSize)] LPVOID pMem,
909 [in] BOOL fClearDirty,
910 [in] ULONG cbSize);
911
912 [call_as(Save)]
913 HRESULT RemoteSave(
914 [out, size_is(cbSize)] BYTE *pMem,
915 [in] BOOL fClearDirty,
916 [in] ULONG cbSize);
917
918 HRESULT GetSizeMax( [out] ULONG *pCbSize );
919 HRESULT InitNew();
920}
921
922
923/*****************************************************************************
924 * IPersistPropertyBag interface
925 */
926[
927 object,
928 uuid(37d84f60-42cb-11ce-8135-00aa004bb851),
929 pointer_default(unique)
930]
931interface IPersistPropertyBag : IPersist
932{
933 typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
934
935 HRESULT InitNew();
936
937 HRESULT Load(
938 [in] IPropertyBag *pPropBag,
939 [in] IErrorLog *pErrorLog);
940
941 HRESULT Save(
942 [in] IPropertyBag *pPropBag,
943 [in] BOOL fClearDirty,
944 [in] BOOL fSaveAllProperties);
945}
946
947
948/*****************************************************************************
949 * IPropertyBag2 interface
950 */
951[
952 object,
953 uuid(22f55882-280b-11d0-a8a9-00a0c90c2004),
954 pointer_default(unique)
955]
956interface IPropertyBag2 : IUnknown
957{
958 typedef IPropertyBag2 *LPPROPERTYBAG2;
959
960 typedef enum tagPROPBAG2_TYPE
961 {
962 PROPBAG2_TYPE_UNDEFINED = 0,
963 PROPBAG2_TYPE_DATA = 1,
964 PROPBAG2_TYPE_URL = 2,
965 PROPBAG2_TYPE_OBJECT = 3,
966 PROPBAG2_TYPE_STREAM = 4,
967 PROPBAG2_TYPE_STORAGE = 5,
968 PROPBAG2_TYPE_MONIKER = 6
969 } PROPBAG2_TYPE;
970
971 typedef struct tagPROPBAG2
972 {
973 DWORD dwType;
974 VARTYPE vt;
975 CLIPFORMAT cfType;
976 DWORD dwHint;
977 LPOLESTR pstrName;
978 CLSID clsid;
979 } PROPBAG2;
980
981 HRESULT Read(
982 [in] ULONG cProperties,
983 [in] PROPBAG2 *pPropBag,
984 [in] IErrorLog *pErrLog,
985 [out] VARIANT *pvarValue,
986 [out] HRESULT *phrError);
987
988 HRESULT Write(
989 [in] ULONG cProperties,
990 [in] PROPBAG2 *pPropBag,
991 [in] VARIANT *pvarValue);
992
993 HRESULT CountProperties(
994 [out] ULONG *pcProperties );
995
996 HRESULT GetPropertyInfo(
997 [in] ULONG iProperty,
998 [in] ULONG cProperties,
999 [out] PROPBAG2 *pPropBag,
1000 [out] ULONG *pcProperties);
1001
1002 HRESULT LoadObject(
1003 [in] LPCOLESTR pstrName,
1004 [in] DWORD dwHint,
1005 [in] IUnknown *pUnkObject,
1006 [in] IErrorLog *pErrLog);
1007}
1008
1009
1010/*****************************************************************************
1011 * IPersistPropertyBag2 interface
1012 */
1013[
1014 object,
1015 uuid(22f55881-280b-11d0-a8a9-00a0c90c2004),
1016 pointer_default(unique)
1017]
1018interface IPersistPropertyBag2 : IPersist
1019{
1020 typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
1021
1022 HRESULT InitNew();
1023
1024 HRESULT Load(
1025 [in] IPropertyBag2 *pPropBag,
1026 [in] IErrorLog *pErrorLog);
1027
1028 HRESULT Save(
1029 [in] IPropertyBag2 *pPropBag,
1030 [in] BOOL fClearDirty,
1031 [in] BOOL fSaveAllProperties);
1032
1033 HRESULT IsDirty();
1034}
1035
1036
1037/*****************************************************************************
1038 * ISpecifyPropertyPages interface
1039 */
1040[
1041 object,
1042 uuid(b196b28b-bab4-101a-b69c-00aa00341d07),
1043 pointer_default(unique)
1044]
1045interface ISpecifyPropertyPages : IUnknown
1046{
1047 typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
1048
1049 typedef struct tagCAUUID
1050 {
1051 ULONG cElems;
1052 [size_is(cElems)] GUID *pElems;
1053 } CAUUID, *LPCAUUID;
1054
1055 HRESULT GetPages( [out] CAUUID *pPages );
1056}
1057
1058
1059/*****************************************************************************
1060 * IPerPropertyBrowsing interface
1061 */
1062[
1063 object,
1064 uuid(376bd3aa-3845-101b-84ed-08002b2ec713),
1065 pointer_default(unique)
1066]
1067interface IPerPropertyBrowsing : IUnknown
1068{
1069 typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
1070
1071 typedef struct tagCALPOLESTR
1072 {
1073 ULONG cElems;
1074 [size_is(cElems)] LPOLESTR *pElems;
1075 } CALPOLESTR, *LPCALPOLESTR;
1076
1077 typedef struct tagCADWORD
1078 {
1079 ULONG cElems;
1080 [size_is(cElems)] DWORD *pElems;
1081 } CADWORD, *LPCADWORD;
1082
1083 HRESULT GetDisplayString(
1084 [in] DISPID dispID,
1085 [out] BSTR *pBstr);
1086
1087 HRESULT MapPropertyToPage(
1088 [in] DISPID dispID,
1089 [out] CLSID *pClsid);
1090
1091 HRESULT GetPredefinedStrings(
1092 [in] DISPID dispID,
1093 [out] CALPOLESTR *pCaStringsOut,
1094 [out] CADWORD *pCaCookiesOut);
1095
1096 HRESULT GetPredefinedValue(
1097 [in] DISPID dispID,
1098 [in] DWORD dwCookie,
1099 [out] VARIANT *pVarOut);
1100}
1101
1102
1103/*****************************************************************************
1104 * IAdviseSinkEx interface
1105 */
1106[
1107 object,
1108 uuid(3af24290-0c96-11ce-a0cf-00aa00600ab8),
1109 pointer_default(unique)
1110]
1111interface IAdviseSinkEx : IAdviseSink
1112{
1113 typedef IAdviseSinkEx *LPADVISESINKEX;
1114
1115 [local]
1116 void OnViewStatusChange( [in] DWORD dwViewStatus );
1117
1118 [call_as(OnViewStatusChange)]
1119 HRESULT RemoteOnViewStatusChange( [in] DWORD dwViewStatus );
1120}
1121
1122
1123/*****************************************************************************
1124 * IPointerInactive interface
1125 */
1126[
1127 object,
1128 uuid(55980ba0-35aa-11cf-b671-00aa004cd6d8),
1129 pointer_default(unique)
1130]
1131interface IPointerInactive : IUnknown
1132{
1133 typedef IPointerInactive *LPPOINTERINACTIVE;
1134
1135 HRESULT GetActivationPolicy(
1136 [out] DWORD *pdwPolicy);
1137
1138 HRESULT OnInactiveMouseMove(
1139 [in] LPCRECT pRectBounds,
1140 [in] LONG x,
1141 [in] LONG y,
1142 [in] DWORD grfKeyState);
1143
1144 HRESULT OnInactiveSetCursor(
1145 [in] LPCRECT pRectBounds,
1146 [in] LONG x,
1147 [in] LONG y,
1148 [in] DWORD dwMouseMsg,
1149 [in] BOOL fSetAlways);
1150}
1151
1152
1153/*****************************************************************************
1154 * IObjectWithSite interface
1155 */
1156[
1157 object,
1158 uuid(fc4801a3-2ba9-11cf-a229-00aa003d7352),
1159 pointer_default(unique)
1160]
1161interface IObjectWithSite : IUnknown
1162{
1163 typedef IObjectWithSite *LPOBJECTWITHSITE;
1164
1165 HRESULT SetSite(
1166 [in] IUnknown * pUnkSite);
1167
1168 HRESULT GetSite(
1169 [in] REFIID riid,
1170 [out, iid_is(riid)] PVOID *ppvSite);
1171}
1172
1173
1174/*****************************************************************************
1175 * IOleUndoUnit interface
1176 */
1177interface IOleUndoManager; /* forward declaration */
1178[
1179 object,
1180 uuid(894ad3b0-ef97-11ce-9bc9-00aa00608e01),
1181 pointer_default(unique)
1182]
1183interface IOleUndoUnit : IUnknown
1184{
1185 typedef IOleUndoUnit *LPOLEUNDOUNIT;
1186
1187 HRESULT Do( [in] IOleUndoManager *pUndoManager );
1188 HRESULT GetDescription( [out] BSTR *pBstr );
1189 HRESULT GetUnitType( [out] CLSID *pClsid, [out] LONG *plID );
1190 HRESULT OnNextAdd();
1191}
1192
1193
1194/*****************************************************************************
1195 * IOleParentUndoUnit interface
1196 */
1197[
1198 object,
1199 uuid(a1faf330-ef97-11ce-9bc9-00aa00608e01),
1200 pointer_default(unique)
1201]
1202interface IOleParentUndoUnit : IOleUndoUnit
1203{
1204 typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
1205
1206 HRESULT Open( [in] IOleParentUndoUnit *pPUU );
1207 HRESULT Close( [in] IOleParentUndoUnit *pPUU, [in] BOOL fCommit );
1208 HRESULT Add( [in] IOleUndoUnit *pUU );
1209 HRESULT FindUnit( [in] IOleUndoUnit *pUU );
1210 HRESULT GetParentState( [out] DWORD *pdwState );
1211}
1212
1213
1214/*****************************************************************************
1215 * IEnumOleUndoUnits interface
1216 */
1217[
1218 object,
1219 uuid(b3e7c340-ef97-11ce-9bc9-00aa00608e01),
1220 pointer_default(unique)
1221]
1222interface IEnumOleUndoUnits : IUnknown
1223{
1224 typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
1225
1226 [local]
1227 HRESULT Next(
1228 [in] ULONG cElt,
1229 [out, size_is(cElt), length_is(*pcEltFetched)] IOleUndoUnit **rgElt,
1230 [out] ULONG *pcEltFetched);
1231
1232 [call_as(Next)]
1233 HRESULT RemoteNext(
1234 [in] ULONG cElt,
1235 [out, size_is(cElt), length_is(*pcEltFetched)] IOleUndoUnit **rgElt,
1236 [out] ULONG *pcEltFetched);
1237
1238 HRESULT Skip( [in] ULONG cElt );
1239
1240 HRESULT Reset();
1241
1242 HRESULT Clone( [out] IEnumOleUndoUnits **ppEnum );
1243}
1244
1245
1246/*****************************************************************************
1247 * IOleUndoManager interface
1248 */
1249[
1250 object,
1251 uuid(d001f200-ef97-11ce-9bc9-00aa00608e01),
1252 pointer_default(unique)
1253]
1254interface IOleUndoManager : IUnknown
1255{
1256cpp_quote("#define SID_SOleUndoManager IID_IOleUndoManager")
1257 typedef IOleUndoManager *LPOLEUNDOMANAGER;
1258
1259 HRESULT Open( [in] IOleParentUndoUnit *pPUU );
1260 HRESULT Close( [in] IOleParentUndoUnit *pPUU, [in] BOOL fCommit );
1261 HRESULT Add( [in] IOleUndoUnit *pUU );
1262 HRESULT GetOpenParentState( [out] DWORD *pdwState );
1263 HRESULT DiscardFrom( [in] IOleUndoUnit *pUU );
1264 HRESULT UndoTo( [in] IOleUndoUnit *pUU );
1265 HRESULT RedoTo( [in] IOleUndoUnit *pUU );
1266 HRESULT EnumUndoable( [out] IEnumOleUndoUnits **ppEnum );
1267 HRESULT EnumRedoable( [out] IEnumOleUndoUnits **ppEnum );
1268 HRESULT GetLastUndoDescription( [out] BSTR *pBstr );
1269 HRESULT GetLastRedoDescription( [out] BSTR *pBstr );
1270 HRESULT Enable( [in] BOOL fEnable );
1271}
1272
1273
1274/*****************************************************************************
1275 * IQuickActivate interface
1276 */
1277[
1278 object,
1279 uuid(cf51ed10-62fe-11cf-bf86-00a0c9034836),
1280 pointer_default(unique)
1281]
1282interface IQuickActivate : IUnknown
1283{
1284 typedef IQuickActivate *LPQUICKACTIVATE;
1285
1286 typedef enum tagQACONTAINERFLAGS
1287 {
1288 QACONTAINER_SHOWHATCHING = 0x1,
1289 QACONTAINER_SHOWGRABHANDLES = 0x2,
1290 QACONTAINER_USERMODE = 0x4,
1291 QACONTAINER_DISPLAYASDEFAULT = 0x8,
1292 QACONTAINER_UIDEAD = 0x10,
1293 QACONTAINER_AUTOCLIP = 0x20,
1294 QACONTAINER_MESSAGEREFLECT = 0x40,
1295 QACONTAINER_SUPPORTSMNEMONICS = 0x80
1296 } QACONTAINERFLAGS;
1297
1298 typedef DWORD OLE_COLOR;
1299
1300 typedef struct tagQACONTAINER
1301 {
1302 ULONG cbSize;
1303 IOleClientSite *pClientSite;
1304 IAdviseSinkEx *pAdviseSink;
1305 IPropertyNotifySink *pPropertyNotifySink;
1306 IUnknown *pUnkEventSink;
1307 DWORD dwAmbientFlags;
1308 OLE_COLOR colorFore;
1309 OLE_COLOR colorBack;
1310 IFont *pFont;
1311 IOleUndoManager *pUndoMgr;
1312 DWORD dwAppearance;
1313 LONG lcid;
1314 HPALETTE hpal;
1315 IBindHost *pBindHost;
1316 IOleControlSite *pOleControlSite;
1317 IServiceProvider *pServiceProvider;
1318 } QACONTAINER;
1319
1320 typedef struct tagQACONTROL
1321 {
1322 ULONG cbSize;
1323 DWORD dwMiscStatus;
1324 DWORD dwViewStatus;
1325 DWORD dwEventCookie;
1326 DWORD dwPropNotifyCookie;
1327 DWORD dwPointerActivationPolicy;
1328 } QACONTROL;
1329
1330 [local]
1331 HRESULT QuickActivate(
1332 [in] QACONTAINER *pQaContainer,
1333 [in,out] QACONTROL *pQaControl);
1334
1335 [call_as(QuickActivate)]
1336 HRESULT RemoteQuickActivate(
1337 [in] QACONTAINER *pQaContainer,
1338 [out] QACONTROL *pQaControl);
1339
1340 HRESULT SetContentExtent( [in] LPSIZEL pSizel );
1341
1342 HRESULT GetContentExtent( [out] LPSIZEL pSizel );
1343}
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