2 * Copyright (C) 1999 Paul Quinn
3 * Copyright (C) 1999 Francis Beaudet
4 * Copyright (C) 2003 Alexandre Julliard
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.
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.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 import
"servprov.idl";
27 /*****************************************************************************
28 * IOleControlTypes interface
31 pointer_default(unique)
33 interface IOleControlTypes
35 typedef enum tagREADYSTATE
37 READYSTATE_UNINITIALIZED
= 0,
38 READYSTATE_LOADING
= 1,
39 READYSTATE_LOADED
= 2,
40 READYSTATE_INTERACTIVE
= 3,
41 READYSTATE_COMPLETE
= 4
44 typedef struct tagVARIANT_BLOB
48 [size_is(clSize
-1)] ULONGLONG ahData
[];
51 typedef struct tagUserVARIANT
53 wireVARIANT_BLOB pVarBlob
;
58 /*****************************************************************************
63 uuid(bef6e002
-a874
-101a
-8bba
-00aa00300cab
),
64 pointer_default(unique)
66 interface IFont
: IUnknown
68 typedef IFont
*LPFONT
;
69 typedef TEXTMETRICW TEXTMETRICOLE
, *LPTEXTMETRICOLE
;
71 [propget] HRESULT Name
( [out] BSTR *pname
);
72 [propput] HRESULT Name
( [in] BSTR name
);
73 [propget] HRESULT Size
( [out] CY
*psize
);
74 [propput] HRESULT Size
( [in] CY size
);
75 [propget] HRESULT Bold
( [out] BOOL
*pbold
);
76 [propput] HRESULT Bold
( [in] BOOL bold
);
77 [propget] HRESULT Italic
( [out] BOOL
*pitalic
);
78 [propput] HRESULT Italic
( [in] BOOL italic
);
79 [propget] HRESULT Underline
( [out] BOOL
*punderline
);
80 [propput] HRESULT Underline
( [in] BOOL underline
);
81 [propget] HRESULT Strikethrough
( [out] BOOL
*pstrikethrough
);
82 [propput] HRESULT Strikethrough
( [in] BOOL strikethrough
);
83 [propget] HRESULT Weight
( [out] SHORT *pweight
);
84 [propput] HRESULT Weight
( [in] SHORT weight
);
85 [propget] HRESULT Charset
( [out] SHORT *pcharset
);
86 [propput] HRESULT Charset
( [in] SHORT charset
);
87 [propget] HRESULT hFont
( [out] HFONT
*phfont
);
88 HRESULT Clone
( [out] IFont
**ppfont
);
89 HRESULT IsEqual
( [in] IFont
*pFontOther
);
90 HRESULT SetRatio
( [in] LONG cyLogical
, [in] LONG cyHimetric
);
91 HRESULT QueryTextMetrics
( [out] TEXTMETRICOLE
* ptm
);
92 HRESULT AddRefHfont
( [in] HFONT hfont
);
93 HRESULT ReleaseHfont
( [in] HFONT hfont
);
94 HRESULT SetHdc
( [in] HDC hdc
);
98 /*****************************************************************************
103 uuid(bef6e003
-a874
-101a
-8bba
-00aa00300cab
),
104 pointer_default(unique)
106 interface IFontDisp
: IDispatch
108 typedef IFontDisp
*LPFONTDISP
;
112 /*****************************************************************************
117 uuid(7bf80980
-bf32
-101a
-8bbb
-00aa00300cab
),
118 pointer_default(unique)
120 interface IPicture
: IUnknown
122 typedef IPicture
*LPPICTURE
;
124 typedef enum tagPicture
126 PICTURE_SCALABLE
= 0x1,
127 PICTURE_TRANSPARENT
= 0x2
130 typedef UINT OLE_HANDLE
;
131 typedef LONG OLE_XPOS_HIMETRIC
;
132 typedef LONG OLE_YPOS_HIMETRIC
;
133 typedef LONG OLE_XSIZE_HIMETRIC
;
134 typedef LONG OLE_YSIZE_HIMETRIC
;
136 [propget] HRESULT Handle( [out] OLE_HANDLE
*pHandle
);
137 [propget] HRESULT hPal
( [out] OLE_HANDLE
*phPal
);
138 [propget] HRESULT Type
( [out] SHORT *pType
);
139 [propget] HRESULT Width
( [out] OLE_XSIZE_HIMETRIC
*pWidth
);
140 [propget] HRESULT Height
( [out] OLE_YSIZE_HIMETRIC
*pHeight
);
148 [in] OLE_XPOS_HIMETRIC xSrc
,
149 [in] OLE_YPOS_HIMETRIC ySrc
,
150 [in] OLE_XSIZE_HIMETRIC cxSrc
,
151 [in] OLE_YSIZE_HIMETRIC cySrc
,
152 [in] LPCRECT pRcWBounds
);
154 HRESULT set_hPal
( [in] OLE_HANDLE hPal
);
156 [propget] HRESULT CurDC
( [out] HDC
*phDC
);
158 HRESULT SelectPicture
(
161 [out] OLE_HANDLE
* phBmpOut
);
163 [propget] HRESULT KeepOriginalFormat
( [out] BOOL
*pKeep
);
165 [propput] HRESULT KeepOriginalFormat
( [in] BOOL keep
);
167 HRESULT PictureChanged
();
170 [in] LPSTREAM pStream
,
171 [in] BOOL fSaveMemCopy
,
172 [out] LONG *pCbSize
);
174 [propget] HRESULT Attributes
( [out] DWORD
*pDwAttr
);
178 /*****************************************************************************
179 * IPictureDisp interface
183 uuid(7bf80981
-bf32
-101a
-8bbb
-00aa00300cab
),
184 pointer_default(unique)
186 interface IPictureDisp
: IDispatch
188 typedef IPictureDisp
*LPPICTUREDISP
;
192 /*****************************************************************************
193 * IOleControl interface
197 uuid(b196b288
-bab4
-101a
-b69c
-00aa00341d07
),
198 pointer_default(unique)
201 interface IOleControl
: IUnknown
203 typedef IOleControl
*LPOLECONTROL
;
205 typedef struct tagCONTROLINFO
211 } CONTROLINFO
, *LPCONTROLINFO
;
213 typedef enum tagCTRLINFO
215 CTRLINFO_EATS_RETURN
= 1,
216 CTRLINFO_EATS_ESCAPE
= 2
219 HRESULT GetControlInfo
( [out] CONTROLINFO
*pCI
);
220 HRESULT OnMnemonic
( [in] MSG
*pMsg
);
221 HRESULT OnAmbientPropertyChange
( [in] DISPID dispID
);
222 HRESULT FreezeEvents
( [in] BOOL bFreeze
);
226 /*****************************************************************************
227 * IOleControlSite interface
231 uuid(b196b289
-bab4
-101a
-b69c
-00aa00341d07
),
232 pointer_default(unique)
234 interface IOleControlSite
: IUnknown
236 typedef IOleControlSite
*LPOLECONTROLSITE
;
238 typedef struct tagPOINTF
244 typedef enum tagXFORMCOORDS
246 XFORMCOORDS_POSITION
= 0x1,
247 XFORMCOORDS_SIZE
= 0x2,
248 XFORMCOORDS_HIMETRICTOCONTAINER
= 0x4,
249 XFORMCOORDS_CONTAINERTOHIMETRIC
= 0x8,
250 XFORMCOORDS_EVENTCOMPAT
= 0x10
253 HRESULT OnControlInfoChanged
();
255 HRESULT LockInPlaceActive
( [in] BOOL fLock
);
257 HRESULT GetExtendedControl
( [out] IDispatch
** ppDisp
);
259 HRESULT TransformCoords
(
260 [in, out] POINTL
*pPtlHimetric
,
261 [in, out] POINTF
*pPtfContainer
,
264 HRESULT TranslateAccelerator
( [in] MSG
*pMsg
, [in] DWORD grfModifiers
);
266 HRESULT OnFocus
( [in] BOOL fGotFocus
);
268 HRESULT ShowPropertyFrame
();
272 /*****************************************************************************
273 * IOleInPlaceSiteEx interface
277 uuid(9c2cad80
-3424-11cf
-b670
-00aa004cd6d8
),
278 pointer_default(unique)
280 interface IOleInPlaceSiteEx
: IOleInPlaceSite
282 typedef IOleInPlaceSiteEx
*LPOLEINPLACESITEEX
;
284 typedef enum tagACTIVATEFLAGS
286 ACTIVATE_WINDOWLESS
= 1
289 HRESULT OnInPlaceActivateEx
( [out] BOOL
* pfNoRedraw
, [in] DWORD dwFlags
);
290 HRESULT OnInPlaceDeactivateEx
( [in] BOOL fNoRedraw
);
291 HRESULT RequestUIActivate
();
295 /*****************************************************************************
296 * IOleInPlaceSiteWindowless interface
301 uuid(922eada0
-3424-11cf
-b670
-00aa004cd6d8
),
302 pointer_default(unique)
304 interface IOleInPlaceSiteWindowless
: IOleInPlaceSiteEx
306 typedef IOleInPlaceSiteWindowless
*LPOLEINPLACESITEWINDOWLESS
;
308 typedef enum tagOLEDCFLAGS
311 OLEDC_PAINTBKGND
= 0x2,
312 OLEDC_OFFSCREEN
= 0x4
315 HRESULT CanWindowlessActivate
();
317 HRESULT GetCapture
();
319 HRESULT SetCapture
( [in] BOOL fCapture
);
323 HRESULT SetFocus
( [in] BOOL fFocus
);
330 HRESULT ReleaseDC
( [in] HDC hDC
);
332 HRESULT InvalidateRect
(
336 HRESULT InvalidateRgn
(
343 [in] LPCRECT pRectScroll
,
344 [in] LPCRECT pRectClip
);
346 HRESULT AdjustRect
( [in, out] LPRECT prc
);
348 HRESULT OnDefWindowMessage
(
352 [out] LRESULT
*plResult
);
356 /*****************************************************************************
357 * IOleInPlaceObjectWindowless interface
362 uuid(1c2056cc
-5ef4
-101b
-8bc8
-00aa003e3b29
),
363 pointer_default(unique)
365 interface IOleInPlaceObjectWindowless
: IOleInPlaceObject
367 typedef IOleInPlaceObjectWindowless
*LPOLEINPLACEOBJECTWINDOWLESS
;
369 HRESULT OnWindowMessage
(
373 [out] LRESULT
*plResult
);
375 HRESULT GetDropTarget
( [out] IDropTarget
**ppDropTarget
);
379 /*****************************************************************************
380 * IClassFactory2 interface
384 uuid(b196b28f
-bab4
-101a
-b69c
-00aa00341d07
),
385 pointer_default(unique)
387 interface IClassFactory2
: IClassFactory
389 typedef IClassFactory2
*LPCLASSFACTORY2
;
391 typedef struct tagLICINFO
394 BOOL fRuntimeKeyAvail
;
396 } LICINFO
, *LPLICINFO
;
398 HRESULT GetLicInfo
( [out] LICINFO
*pLicInfo
);
400 HRESULT RequestLicKey
(
401 [in] DWORD dwReserved
,
402 [out] BSTR *pBstrKey
);
405 HRESULT CreateInstanceLic
(
406 [in] IUnknown
*pUnkOuter
,
407 [in] IUnknown
*pUnkReserved
,
410 [out, iid_is(riid
)] PVOID
*ppvObj
);
412 [call_as
(CreateInstanceLic
)]
413 HRESULT RemoteCreateInstanceLic
(
416 [out, iid_is(riid
)] IUnknown
**ppvObj
);
420 /*****************************************************************************
421 * IViewObject interface
426 uuid(3af24292
-0c96
-11ce
-a0cf
-00aa00600ab8
),
427 pointer_default(unique)
429 interface IViewObjectEx
: IViewObject2
431 typedef IViewObjectEx
*LPVIEWOBJECTEX
;
433 typedef enum tagVIEWSTATUS
435 VIEWSTATUS_OPAQUE
= 1,
436 VIEWSTATUS_SOLIDBKGND
= 2,
437 VIEWSTATUS_DVASPECTOPAQUE
= 4,
438 VIEWSTATUS_DVASPECTTRANSPARENT
= 8,
439 VIEWSTATUS_SURFACE
= 16,
440 VIEWSTATUS_3DSURFACE
= 32
443 typedef enum tagHITRESULT
445 HITRESULT_OUTSIDE
= 0,
446 HITRESULT_TRANSPARENT
= 1,
451 typedef enum tagDVASPECT2
453 DVASPECT_OPAQUE
= 16,
454 DVASPECT_TRANSPARENT
= 32
457 typedef struct tagExtentInfo
464 typedef enum tagAspectInfoFlag
466 DVASPECTINFOFLAG_CANOPTIMIZE
= 1
469 typedef struct tagAspectInfo
477 [out] LPRECTL pRect
);
479 HRESULT GetViewStatus
( [out] DWORD
*pdwStatus
);
481 HRESULT QueryHitPoint
(
483 [in] LPCRECT pRectBounds
,
485 [in] LONG lCloseHint
,
486 [out] DWORD
*pHitResult
);
488 HRESULT QueryHitRect
(
490 [in] LPCRECT pRectBounds
,
491 [in] LPCRECT pRectLoc
,
492 [in] LONG lCloseHint
,
493 [out] DWORD
*pHitResult
);
495 HRESULT GetNaturalExtent
(
498 [in] DVTARGETDEVICE
*ptd
,
499 [in] HDC hicTargetDev
,
500 [in] DVEXTENTINFO
*pExtentInfo
,
501 [out] LPSIZEL pSizel
);
505 /*****************************************************************************
506 * IProvideClassInfo interface
510 uuid(b196b283
-bab4
-101a
-b69c
-00aa00341d07
),
511 pointer_default(unique)
513 interface IProvideClassInfo
: IUnknown
515 typedef IProvideClassInfo
*LPPROVIDECLASSINFO
;
517 cpp_quote
("#ifdef __WINESRC__")
518 cpp_quote
("#undef GetClassInfo")
521 HRESULT GetClassInfo
( [out] ITypeInfo
** ppTI
);
525 /*****************************************************************************
526 * IProvideClassInfo2 interface
530 uuid(a6bc3ac0
-dbaa
-11ce
-9de3
-00aa004bb851
),
531 pointer_default(unique)
533 interface IProvideClassInfo2
: IProvideClassInfo
535 typedef IProvideClassInfo2
*LPPROVIDECLASSINFO2
;
537 typedef enum tagGUIDKIND
539 GUIDKIND_DEFAULT_SOURCE_DISP_IID
= 1
543 [in] DWORD dwGuidKind
,
548 /*****************************************************************************
549 * IConnectionPoint interface
551 interface IConnectionPointContainer
; /* forward declarations */
552 interface IEnumConnections
;
556 uuid(b196b286
-bab4
-101a
-b69c
-00aa00341d07
),
557 pointer_default(unique)
559 interface IConnectionPoint
: IUnknown
561 typedef IConnectionPoint
*PCONNECTIONPOINT
, *LPCONNECTIONPOINT
;
563 HRESULT GetConnectionInterface
( [out] IID
*pIID
);
564 HRESULT GetConnectionPointContainer
( [out] IConnectionPointContainer
**ppCPC
);
565 HRESULT Advise
( [in] IUnknown
*pUnkSink
, [out] DWORD
*pdwCookie
);
566 HRESULT Unadvise
( [in] DWORD dwCookie
);
567 HRESULT EnumConnections
( [out] IEnumConnections
**ppEnum
);
571 /*****************************************************************************
572 * IConnectionPointContainer interface
574 interface IEnumConnectionPoints
; /* forward declaration */
577 uuid(b196b284
-bab4
-101a
-b69c
-00aa00341d07
),
578 pointer_default(unique)
580 interface IConnectionPointContainer
: IUnknown
582 typedef IConnectionPointContainer
*PCONNECTIONPOINTCONTAINER
, *LPCONNECTIONPOINTCONTAINER
;
584 HRESULT EnumConnectionPoints
( [out] IEnumConnectionPoints
**ppEnum
);
585 HRESULT FindConnectionPoint
( [in] REFIID riid
, [out] IConnectionPoint
**ppCP
);
589 /*****************************************************************************
590 * IEnumConnections interface
594 uuid(b196b287
-bab4
-101a
-b69c
-00aa00341d07
),
595 pointer_default(unique)
597 interface IEnumConnections
: IUnknown
599 typedef IEnumConnections
*PENUMCONNECTIONS
, *LPENUMCONNECTIONS
;
601 typedef struct tagCONNECTDATA
605 } CONNECTDATA
, *PCONNECTDATA
, *LPCONNECTDATA
;
609 [in] ULONG cConnections
,
610 [out, size_is(cConnections
), length_is(*pcFetched
)] LPCONNECTDATA rgcd
,
611 [out] ULONG
*pcFetched
);
615 [in] ULONG cConnections
,
616 [out, size_is(cConnections
), length_is(*pcFetched
)] LPCONNECTDATA rgcd
,
617 [out] ULONG
*pcFetched
);
619 HRESULT Skip
( [in] ULONG cConnections
);
623 HRESULT Clone
( [out] IEnumConnections
**ppEnum
);
627 /*****************************************************************************
628 * IEnumConnectionPoints interface
632 uuid(b196b285
-bab4
-101a
-b69c
-00aa00341d07
),
633 pointer_default(unique)
635 interface IEnumConnectionPoints
: IUnknown
637 typedef IEnumConnectionPoints
*PENUMCONNECTIONPOINTS
, *LPENUMCONNECTIONPOINTS
;
641 [in] ULONG cConnections
,
642 [out, size_is(cConnections
), length_is(*pcFetched
)] LPCONNECTIONPOINT
*ppCP
,
643 [out] ULONG
*pcFetched
);
647 [in] ULONG cConnections
,
648 [out, size_is(cConnections
), length_is(*pcFetched
)] LPCONNECTIONPOINT
*ppCP
,
649 [out] ULONG
*pcFetched
);
651 HRESULT Skip
( [in] ULONG cConnections
);
655 HRESULT Clone
( [out] IEnumConnectionPoints
**ppEnum
);
659 /*****************************************************************************
660 * IPropertyPage interface
662 interface IPropertyPageSite
; /* forward declaration */
665 uuid(b196b28d
-bab4
-101a
-b69c
-00aa00341d07
),
666 pointer_default(unique)
668 interface IPropertyPage
: IUnknown
670 typedef IPropertyPage
*LPPROPERTYPAGE
;
672 typedef struct tagPROPPAGEINFO
677 LPOLESTR pszDocString
;
678 LPOLESTR pszHelpFile
;
680 } PROPPAGEINFO
, *LPPROPPAGEINFO
;
682 HRESULT SetPageSite
( [in] IPropertyPageSite
*pPageSite
);
685 [in] HWND hWndParent
,
689 HRESULT Deactivate
();
691 HRESULT GetPageInfo
( [out] PROPPAGEINFO
*pPageInfo
);
695 [in, size_is(cObjects
)] IUnknown
**ppUnk
);
697 HRESULT Show
( [in] UINT nCmdShow
);
699 HRESULT Move
( [in] LPCRECT pRect
);
701 HRESULT IsPageDirty
();
705 HRESULT Help
( [in] LPCOLESTR pszHelpDir
);
707 HRESULT TranslateAccelerator
( [in] MSG
*pMsg
);
711 /*****************************************************************************
712 * IPropertyPage2 interface
716 uuid(01e44665
-24ac
-101b
-84ed
-08002b2ec713
),
717 pointer_default(unique)
719 interface IPropertyPage2
: IPropertyPage
721 typedef IPropertyPage2
*LPPROPERTYPAGE2
;
723 HRESULT EditProperty
( [in] DISPID dispID
);
727 /*****************************************************************************
728 * IPropertyPageSite interface
732 uuid(b196b28c
-bab4
-101a
-b69c
-00aa00341d07
),
733 pointer_default(unique)
735 interface IPropertyPageSite
: IUnknown
737 typedef IPropertyPageSite
*LPPROPERTYPAGESITE
;
739 typedef enum tagPROPPAGESTATUS
741 PROPPAGESTATUS_DIRTY
= 0x1,
742 PROPPAGESTATUS_VALIDATE
= 0x2,
743 PROPPAGESTATUS_CLEAN
= 0x4
746 HRESULT OnStatusChange
( [in] DWORD dwFlags
);
747 HRESULT GetLocaleID
( [out] LCID *pLocaleID
);
748 HRESULT GetPageContainer
( [out] IUnknown
**ppUnk
);
749 HRESULT TranslateAccelerator
( [in] MSG
*pMsg
);
753 /*****************************************************************************
754 * IPropertyNotifySink interface
758 uuid(9bfbbc02
-eff1
-101a
-84ed
-00aa00341d07
),
759 pointer_default(unique)
761 interface IPropertyNotifySink
: IUnknown
763 typedef IPropertyNotifySink
*LPPROPERTYNOTIFYSINK
;
765 HRESULT OnChanged
( [in] DISPID dispID
);
766 HRESULT OnRequestEdit
( [in] DISPID dispID
);
770 /*****************************************************************************
771 * ISimpleFrameSite interface
775 uuid(742b0e01
-14e6
-101b
-914e-00aa00300cab
),
776 pointer_default(unique)
778 interface ISimpleFrameSite
: IUnknown
780 typedef ISimpleFrameSite
*LPSIMPLEFRAMESITE
;
782 HRESULT PreMessageFilter
(
787 [out] LRESULT
*plResult
,
788 [out] DWORD
*pdwCookie
);
790 HRESULT PostMessageFilter
(
795 [out] LRESULT
*plResult
,
796 [in] DWORD dwCookie
);
800 /*****************************************************************************
801 * IPersistStreamInit interface
805 uuid(7fd52380
-4e07
-101b
-ae2d
-08002b2ec713
),
806 pointer_default(unique)
808 interface IPersistStreamInit
: IPersist
810 typedef IPersistStreamInit
*LPPERSISTSTREAMINIT
;
813 HRESULT Load
( [in] LPSTREAM pStm
);
814 HRESULT Save
( [in] LPSTREAM pStm
, [in] BOOL fClearDirty
);
815 HRESULT GetSizeMax
( [out] ULARGE_INTEGER
*pcbSize
);
820 /*****************************************************************************
821 * IPersistMemory interface
825 uuid(bd1ae5e0
-a6ae
-11ce
-bd37
-504200c10000
),
826 pointer_default(unique)
828 interface IPersistMemory
: IPersist
830 typedef IPersistMemory
*LPPERSISTMEMORY
;
836 [in, size_is(cbSize
)] LPVOID pMem
,
841 [in, size_is(cbSize
)] BYTE *pMem
,
846 [out, size_is(cbSize
)] LPVOID pMem
,
847 [in] BOOL fClearDirty
,
852 [out, size_is(cbSize
)] BYTE *pMem
,
853 [in] BOOL fClearDirty
,
856 HRESULT GetSizeMax
( [out] ULONG
*pCbSize
);
861 /*****************************************************************************
862 * IPersistPropertyBag interface
866 uuid(37d84f60
-42cb
-11ce
-8135-00aa004bb851
),
867 pointer_default(unique)
869 interface IPersistPropertyBag
: IPersist
871 typedef IPersistPropertyBag
*LPPERSISTPROPERTYBAG
;
876 [in] IPropertyBag
*pPropBag
,
877 [in] IErrorLog
*pErrorLog
);
880 [in] IPropertyBag
*pPropBag
,
881 [in] BOOL fClearDirty
,
882 [in] BOOL fSaveAllProperties
);
886 /*****************************************************************************
887 * IPropertyBag2 interface
891 uuid(22f55882
-280b
-11d0
-a8a9
-00a0c90c2004
),
892 pointer_default(unique)
894 interface IPropertyBag2
: IUnknown
896 typedef IPropertyBag2
*LPPROPERTYBAG2
;
898 typedef enum tagPROPBAG2_TYPE
900 PROPBAG2_TYPE_UNDEFINED
= 0,
901 PROPBAG2_TYPE_DATA
= 1,
902 PROPBAG2_TYPE_URL
= 2,
903 PROPBAG2_TYPE_OBJECT
= 3,
904 PROPBAG2_TYPE_STREAM
= 4,
905 PROPBAG2_TYPE_STORAGE
= 5,
906 PROPBAG2_TYPE_MONIKER
= 6
909 typedef struct tagPROPBAG2
920 [in] ULONG cProperties
,
921 [in] PROPBAG2
*pPropBag
,
922 [in] IErrorLog
*pErrLog
,
923 [out] VARIANT *pvarValue
,
924 [out] HRESULT *phrError
);
927 [in] ULONG cProperties
,
928 [in] PROPBAG2
*pPropBag
,
929 [in] VARIANT *pvarValue
);
931 HRESULT CountProperties
(
932 [out] ULONG
*pcProperties
);
934 HRESULT GetPropertyInfo
(
935 [in] ULONG iProperty
,
936 [in] ULONG cProperties
,
937 [out] PROPBAG2
*pPropBag
,
938 [out] ULONG
*pcProperties
);
941 [in] LPCOLESTR pstrName
,
943 [in] IUnknown
*pUnkObject
,
944 [in] IErrorLog
*pErrLog
);
948 /*****************************************************************************
949 * IPersistPropertyBag2 interface
953 uuid(22f55881
-280b
-11d0
-a8a9
-00a0c90c2004
),
954 pointer_default(unique)
956 interface IPersistPropertyBag2
: IPersist
958 typedef IPersistPropertyBag2
*LPPERSISTPROPERTYBAG2
;
963 [in] IPropertyBag2
*pPropBag
,
964 [in] IErrorLog
*pErrorLog
);
967 [in] IPropertyBag2
*pPropBag
,
968 [in] BOOL fClearDirty
,
969 [in] BOOL fSaveAllProperties
);
975 /*****************************************************************************
976 * ISpecifyPropertyPages interface
980 uuid(b196b28b
-bab4
-101a
-b69c
-00aa00341d07
),
981 pointer_default(unique)
983 interface ISpecifyPropertyPages
: IUnknown
985 typedef ISpecifyPropertyPages
*LPSPECIFYPROPERTYPAGES
;
987 typedef struct tagCAUUID
990 [size_is(cElems
)] GUID
*pElems
;
993 HRESULT GetPages
( [out] CAUUID
*pPages
);
997 /*****************************************************************************
998 * IPerPropertyBrowsing interface
1002 uuid(376bd3aa
-3845-101b
-84ed
-08002b2ec713
),
1003 pointer_default(unique)
1005 interface IPerPropertyBrowsing
: IUnknown
1007 typedef IPerPropertyBrowsing
*LPPERPROPERTYBROWSING
;
1009 typedef struct tagCALPOLESTR
1012 [size_is(cElems
)] LPOLESTR
*pElems
;
1013 } CALPOLESTR
, *LPCALPOLESTR
;
1015 typedef struct tagCADWORD
1018 [size_is(cElems
)] DWORD
*pElems
;
1019 } CADWORD
, *LPCADWORD
;
1021 HRESULT GetDisplayString
(
1025 HRESULT MapPropertyToPage
(
1027 [out] CLSID
*pClsid
);
1029 HRESULT GetPredefinedStrings
(
1031 [out] CALPOLESTR
*pCaStringsOut
,
1032 [out] CADWORD
*pCaCookiesOut
);
1034 HRESULT GetPredefinedValue
(
1036 [in] DWORD dwCookie
,
1037 [out] VARIANT *pVarOut
);
1041 /*****************************************************************************
1042 * IAdviseSinkEx interface
1046 uuid(3af24290
-0c96
-11ce
-a0cf
-00aa00600ab8
),
1047 pointer_default(unique)
1049 interface IAdviseSinkEx
: IAdviseSink
1051 typedef IAdviseSinkEx
*LPADVISESINKEX
;
1054 void OnViewStatusChange
( [in] DWORD dwViewStatus
);
1056 [call_as
(OnViewStatusChange
)]
1057 HRESULT RemoteOnViewStatusChange
( [in] DWORD dwViewStatus
);
1061 /*****************************************************************************
1062 * IPointerInactive interface
1066 uuid(55980ba0
-35aa
-11cf
-b671
-00aa004cd6d8
),
1067 pointer_default(unique)
1069 interface IPointerInactive
: IUnknown
1071 typedef IPointerInactive
*LPPOINTERINACTIVE
;
1073 HRESULT GetActivationPolicy
(
1074 [out] DWORD
*pdwPolicy
);
1076 HRESULT OnInactiveMouseMove
(
1077 [in] LPCRECT pRectBounds
,
1080 [in] DWORD grfKeyState
);
1082 HRESULT OnInactiveSetCursor
(
1083 [in] LPCRECT pRectBounds
,
1086 [in] DWORD dwMouseMsg
,
1087 [in] BOOL fSetAlways
);
1091 /*****************************************************************************
1092 * IObjectWithSite interface
1096 uuid(fc4801a3
-2ba9
-11cf
-a229
-00aa003d7352
),
1097 pointer_default(unique)
1099 interface IObjectWithSite
: IUnknown
1101 typedef IObjectWithSite
*LPOBJECTWITHSITE
;
1104 [in] IUnknown
* pUnkSite
);
1108 [out, iid_is(riid
)] PVOID
*ppvSite
);
1112 /*****************************************************************************
1113 * IOleUndoUnit interface
1115 interface IOleUndoManager
; /* forward declaration */
1118 uuid(894ad3b0
-ef97
-11ce
-9bc9
-00aa00608e01
),
1119 pointer_default(unique)
1121 interface IOleUndoUnit
: IUnknown
1123 typedef IOleUndoUnit
*LPOLEUNDOUNIT
;
1125 HRESULT Do
( [in] IOleUndoManager
*pUndoManager
);
1126 HRESULT GetDescription
( [out] BSTR *pBstr
);
1127 HRESULT GetUnitType
( [out] CLSID
*pClsid
, [out] LONG *plID
);
1128 HRESULT OnNextAdd
();
1132 /*****************************************************************************
1133 * IOleParentUndoUnit interface
1137 uuid(a1faf330
-ef97
-11ce
-9bc9
-00aa00608e01
),
1138 pointer_default(unique)
1140 interface IOleParentUndoUnit
: IOleUndoUnit
1142 typedef IOleParentUndoUnit
*LPOLEPARENTUNDOUNIT
;
1144 HRESULT Open
( [in] IOleParentUndoUnit
*pPUU
);
1145 HRESULT Close
( [in] IOleParentUndoUnit
*pPUU
, [in] BOOL fCommit
);
1146 HRESULT Add
( [in] IOleUndoUnit
*pUU
);
1147 HRESULT FindUnit
( [in] IOleUndoUnit
*pUU
);
1148 HRESULT GetParentState
( [out] DWORD
*pdwState
);
1152 /*****************************************************************************
1153 * IEnumOleUndoUnits interface
1157 uuid(b3e7c340
-ef97
-11ce
-9bc9
-00aa00608e01
),
1158 pointer_default(unique)
1160 interface IEnumOleUndoUnits
: IUnknown
1162 typedef IEnumOleUndoUnits
*LPENUMOLEUNDOUNITS
;
1167 [out, size_is(cElt
), length_is(*pcEltFetched
)] IOleUndoUnit
**rgElt
,
1168 [out] ULONG
*pcEltFetched
);
1173 [out, size_is(cElt
), length_is(*pcEltFetched
)] IOleUndoUnit
**rgElt
,
1174 [out] ULONG
*pcEltFetched
);
1176 HRESULT Skip
( [in] ULONG cElt
);
1180 HRESULT Clone
( [out] IEnumOleUndoUnits
**ppEnum
);
1184 /*****************************************************************************
1185 * IOleUndoManager interface
1189 uuid(d001f200
-ef97
-11ce
-9bc9
-00aa00608e01
),
1190 pointer_default(unique)
1192 interface IOleUndoManager
: IUnknown
1194 typedef IOleUndoManager
*LPOLEUNDOMANAGER
;
1196 HRESULT Open
( [in] IOleParentUndoUnit
*pPUU
);
1197 HRESULT Close
( [in] IOleParentUndoUnit
*pPUU
, [in] BOOL fCommit
);
1198 HRESULT Add
( [in] IOleUndoUnit
*pUU
);
1199 HRESULT GetOpenParentState
( [out] DWORD
*pdwState
);
1200 HRESULT DiscardFrom
( [in] IOleUndoUnit
*pUU
);
1201 HRESULT UndoTo
( [in] IOleUndoUnit
*pUU
);
1202 HRESULT RedoTo
( [in] IOleUndoUnit
*pUU
);
1203 HRESULT EnumUndoable
( [out] IEnumOleUndoUnits
**ppEnum
);
1204 HRESULT EnumRedoable
( [out] IEnumOleUndoUnits
**ppEnum
);
1205 HRESULT GetLastUndoDescription
( [out] BSTR *pBstr
);
1206 HRESULT GetLastRedoDescription
( [out] BSTR *pBstr
);
1207 HRESULT Enable
( [in] BOOL fEnable
);
1211 /*****************************************************************************
1212 * IQuickActivate interface
1216 uuid(cf51ed10
-62fe
-11cf
-bf86
-00a0c9034836
),
1217 pointer_default(unique)
1219 interface IQuickActivate
: IUnknown
1221 typedef IQuickActivate
*LPQUICKACTIVATE
;
1223 typedef enum tagQACONTAINERFLAGS
1225 QACONTAINER_SHOWHATCHING
= 0x1,
1226 QACONTAINER_SHOWGRABHANDLES
= 0x2,
1227 QACONTAINER_USERMODE
= 0x4,
1228 QACONTAINER_DISPLAYASDEFAULT
= 0x8,
1229 QACONTAINER_UIDEAD
= 0x10,
1230 QACONTAINER_AUTOCLIP
= 0x20,
1231 QACONTAINER_MESSAGEREFLECT
= 0x40,
1232 QACONTAINER_SUPPORTSMNEMONICS
= 0x80
1235 typedef DWORD OLE_COLOR
;
1237 typedef struct tagQACONTAINER
1240 IOleClientSite
*pClientSite
;
1241 IAdviseSinkEx
*pAdviseSink
;
1242 IPropertyNotifySink
*pPropertyNotifySink
;
1243 IUnknown
*pUnkEventSink
;
1244 DWORD dwAmbientFlags
;
1245 OLE_COLOR colorFore
;
1246 OLE_COLOR colorBack
;
1248 IOleUndoManager
*pUndoMgr
;
1252 IBindHost
*pBindHost
;
1253 IOleControlSite
*pOleControlSite
;
1254 IServiceProvider
*pServiceProvider
;
1257 typedef struct tagQACONTROL
1262 DWORD dwEventCookie
;
1263 DWORD dwPropNotifyCookie
;
1264 DWORD dwPointerActivationPolicy
;
1268 HRESULT QuickActivate
(
1269 [in] QACONTAINER
*pQaContainer
,
1270 [in,out] QACONTROL
*pQaControl
);
1272 [call_as
(QuickActivate
)]
1273 HRESULT RemoteQuickActivate
(
1274 [in] QACONTAINER
*pQaContainer
,
1275 [out] QACONTROL
*pQaControl
);
1277 HRESULT SetContentExtent
( [in] LPSIZEL pSizel
);
1279 HRESULT GetContentExtent
( [out] LPSIZEL pSizel
);