summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/ocidl.idl
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/ocidl.idl')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/ocidl.idl1343
1 files changed, 1343 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/ocidl.idl b/src/VBox/Devices/Graphics/shaderlib/wine/include/ocidl.idl
new file mode 100644
index 00000000..8f9fcc26
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/ocidl.idl
@@ -0,0 +1,1343 @@
+/*
+ * Copyright (C) 1999 Paul Quinn
+ * Copyright (C) 1999 Francis Beaudet
+ * Copyright (C) 2003 Alexandre Julliard
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/*
+ * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
+ * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
+ * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
+ * a choice of LGPL license versions is made available with the language indicating
+ * that LGPLv2 or any later version may be used, or where a choice of which version
+ * of the LGPL is applied is otherwise unspecified.
+ */
+
+#ifndef DO_NO_IMPORTS
+import "oleidl.idl";
+import "oaidl.idl";
+import "servprov.idl";
+import "urlmon.idl";
+#endif
+
+/*****************************************************************************
+ * IOleControlTypes interface
+ */
+[
+ pointer_default(unique)
+]
+interface IOleControlTypes
+{
+ typedef [v1_enum] enum tagUASFLAGS
+ {
+ UAS_NORMAL = 0x0,
+ UAS_BLOCKED = 0x1,
+ UAS_NOPARENTABLE = 0x2,
+ UAS_MASK = 0x3
+ } UASFLAGS;
+
+ typedef enum tagREADYSTATE
+ {
+ READYSTATE_UNINITIALIZED = 0,
+ READYSTATE_LOADING = 1,
+ READYSTATE_LOADED = 2,
+ READYSTATE_INTERACTIVE = 3,
+ READYSTATE_COMPLETE = 4
+ } READYSTATE;
+
+ typedef struct tagVARIANT_BLOB
+ {
+ DWORD clSize;
+ DWORD rpcReserved;
+ [size_is(clSize-1)] ULONGLONG ahData[];
+ } wireVARIANT_BLOB;
+
+ typedef struct tagUserVARIANT
+ {
+ wireVARIANT_BLOB pVarBlob;
+ } UserVARIANT;
+}
+
+
+/*****************************************************************************
+ * IFont interface
+ */
+[
+ object,
+ uuid(bef6e002-a874-101a-8bba-00aa00300cab),
+ pointer_default(unique)
+]
+interface IFont : IUnknown
+{
+ typedef IFont *LPFONT;
+ typedef TEXTMETRICW TEXTMETRICOLE, *LPTEXTMETRICOLE;
+
+ [propget] HRESULT Name( [out] BSTR *pname);
+ [propput] HRESULT Name( [in] BSTR name );
+ [propget] HRESULT Size( [out] CY *psize );
+ [propput] HRESULT Size( [in] CY size );
+ [propget] HRESULT Bold( [out] BOOL *pbold );
+ [propput] HRESULT Bold( [in] BOOL bold );
+ [propget] HRESULT Italic( [out] BOOL *pitalic );
+ [propput] HRESULT Italic( [in] BOOL italic );
+ [propget] HRESULT Underline( [out] BOOL *punderline );
+ [propput] HRESULT Underline( [in] BOOL underline );
+ [propget] HRESULT Strikethrough( [out] BOOL *pstrikethrough );
+ [propput] HRESULT Strikethrough( [in] BOOL strikethrough );
+ [propget] HRESULT Weight( [out] SHORT *pweight );
+ [propput] HRESULT Weight( [in] SHORT weight );
+ [propget] HRESULT Charset( [out] SHORT *pcharset );
+ [propput] HRESULT Charset( [in] SHORT charset );
+ [propget] HRESULT hFont( [out] HFONT *phfont );
+ HRESULT Clone( [out] IFont **ppfont );
+ HRESULT IsEqual( [in] IFont *pFontOther );
+ HRESULT SetRatio( [in] LONG cyLogical, [in] LONG cyHimetric );
+ HRESULT QueryTextMetrics( [out] TEXTMETRICOLE * ptm );
+ HRESULT AddRefHfont( [in] HFONT hfont );
+ HRESULT ReleaseHfont( [in] HFONT hfont );
+ HRESULT SetHdc( [in] HDC hdc );
+}
+
+
+/*****************************************************************************
+ * IFontDisp interface
+ */
+[
+ object,
+ uuid(bef6e003-a874-101a-8bba-00aa00300cab),
+ pointer_default(unique)
+]
+interface IFontDisp : IDispatch
+{
+ typedef IFontDisp *LPFONTDISP;
+}
+
+
+/*****************************************************************************
+ * IFontEventsDisp interface
+ */
+[
+ object,
+ uuid(4ef6100a-af88-11d0-9846-00c04fc29993),
+ pointer_default(unique)
+]
+interface IFontEventsDisp : IDispatch
+{
+ typedef IFontEventsDisp *LPFONTEVENTS;
+}
+
+
+/*****************************************************************************
+ * IPicture interface
+ */
+[
+ object,
+ uuid(7bf80980-bf32-101a-8bbb-00aa00300cab),
+ pointer_default(unique)
+]
+interface IPicture : IUnknown
+{
+ typedef IPicture *LPPICTURE;
+
+ typedef enum tagPicture
+ {
+ PICTURE_SCALABLE = 0x1,
+ PICTURE_TRANSPARENT = 0x2
+ } PICTUREATTRIBUTES;
+
+ typedef UINT OLE_HANDLE;
+ typedef LONG OLE_XPOS_HIMETRIC;
+ typedef LONG OLE_YPOS_HIMETRIC;
+ typedef LONG OLE_XSIZE_HIMETRIC;
+ typedef LONG OLE_YSIZE_HIMETRIC;
+
+ [propget] HRESULT Handle( [out] OLE_HANDLE *pHandle );
+ [propget] HRESULT hPal( [out] OLE_HANDLE *phPal );
+ [propget] HRESULT Type( [out] SHORT *pType );
+ [propget] HRESULT Width( [out] OLE_XSIZE_HIMETRIC *pWidth );
+ [propget] HRESULT Height( [out] OLE_YSIZE_HIMETRIC *pHeight );
+
+ HRESULT Render(
+ [in] HDC hdc,
+ [in] LONG x,
+ [in] LONG y,
+ [in] LONG cx,
+ [in] LONG cy,
+ [in] OLE_XPOS_HIMETRIC xSrc,
+ [in] OLE_YPOS_HIMETRIC ySrc,
+ [in] OLE_XSIZE_HIMETRIC cxSrc,
+ [in] OLE_YSIZE_HIMETRIC cySrc,
+ [in] LPCRECT pRcWBounds);
+
+ HRESULT set_hPal( [in] OLE_HANDLE hPal );
+
+ [propget] HRESULT CurDC( [out] HDC *phDC );
+
+ HRESULT SelectPicture(
+ [in] HDC hDCIn,
+ [out] HDC * phDCOut,
+ [out] OLE_HANDLE * phBmpOut);
+
+ [propget] HRESULT KeepOriginalFormat( [out] BOOL *pKeep );
+
+ [propput] HRESULT KeepOriginalFormat( [in] BOOL keep );
+
+ HRESULT PictureChanged();
+
+ HRESULT SaveAsFile(
+ [in] LPSTREAM pStream,
+ [in] BOOL fSaveMemCopy,
+ [out] LONG *pCbSize);
+
+ [propget] HRESULT Attributes( [out] DWORD *pDwAttr );
+}
+
+
+/*****************************************************************************
+ * IPictureDisp interface
+ */
+[
+ object,
+ uuid(7bf80981-bf32-101a-8bbb-00aa00300cab),
+ pointer_default(unique)
+]
+interface IPictureDisp : IDispatch
+{
+ typedef IPictureDisp *LPPICTUREDISP;
+}
+
+
+/*****************************************************************************
+ * IOleControl interface
+ */
+[
+ object,
+ uuid(b196b288-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+
+interface IOleControl : IUnknown
+{
+ typedef IOleControl *LPOLECONTROL;
+
+ typedef struct tagCONTROLINFO
+ {
+ ULONG cb;
+ HACCEL hAccel;
+ USHORT cAccel;
+ DWORD dwFlags;
+ } CONTROLINFO, *LPCONTROLINFO;
+
+ typedef enum tagCTRLINFO
+ {
+ CTRLINFO_EATS_RETURN = 1,
+ CTRLINFO_EATS_ESCAPE = 2
+ } CTRLINFO;
+
+ HRESULT GetControlInfo( [out] CONTROLINFO *pCI );
+ HRESULT OnMnemonic( [in] MSG *pMsg );
+ HRESULT OnAmbientPropertyChange( [in] DISPID dispID );
+ HRESULT FreezeEvents( [in] BOOL bFreeze );
+}
+
+
+/*****************************************************************************
+ * IOleControlSite interface
+ */
+[
+ object,
+ uuid(b196b289-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IOleControlSite : IUnknown
+{
+ typedef IOleControlSite *LPOLECONTROLSITE;
+
+ typedef struct tagPOINTF
+ {
+ FLOAT x;
+ FLOAT y;
+ } POINTF, *LPPOINTF;
+
+ typedef enum tagXFORMCOORDS
+ {
+ XFORMCOORDS_POSITION = 0x1,
+ XFORMCOORDS_SIZE = 0x2,
+ XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
+ XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
+ XFORMCOORDS_EVENTCOMPAT = 0x10
+ } XFORMCOORDS;
+
+ HRESULT OnControlInfoChanged();
+
+ HRESULT LockInPlaceActive( [in] BOOL fLock );
+
+ HRESULT GetExtendedControl( [out] IDispatch ** ppDisp );
+
+ HRESULT TransformCoords(
+ [in, out] POINTL *pPtlHimetric,
+ [in, out] POINTF *pPtfContainer,
+ [in] DWORD dwFlags);
+
+ HRESULT TranslateAccelerator( [in] MSG *pMsg, [in] DWORD grfModifiers );
+
+ HRESULT OnFocus( [in] BOOL fGotFocus );
+
+ HRESULT ShowPropertyFrame();
+}
+
+
+/*****************************************************************************
+ * IOleInPlaceSiteEx interface
+ */
+[
+ object,
+ uuid(9c2cad80-3424-11cf-b670-00aa004cd6d8),
+ pointer_default(unique)
+]
+interface IOleInPlaceSiteEx : IOleInPlaceSite
+{
+ typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
+
+ typedef enum tagACTIVATEFLAGS
+ {
+ ACTIVATE_WINDOWLESS = 1
+ } ACTIVATE_FLAGS;
+
+ HRESULT OnInPlaceActivateEx( [out] BOOL * pfNoRedraw, [in] DWORD dwFlags );
+ HRESULT OnInPlaceDeactivateEx( [in] BOOL fNoRedraw );
+ HRESULT RequestUIActivate();
+}
+
+
+/*****************************************************************************
+ * IOleInPlaceSiteWindowless interface
+ */
+[
+ local,
+ object,
+ uuid(922eada0-3424-11cf-b670-00aa004cd6d8),
+ pointer_default(unique)
+]
+interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx
+{
+ typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
+
+ typedef enum tagOLEDCFLAGS
+ {
+ OLEDC_NODRAW = 0x1,
+ OLEDC_PAINTBKGND = 0x2,
+ OLEDC_OFFSCREEN = 0x4
+ } OLEDCFLAGS;
+
+ HRESULT CanWindowlessActivate();
+
+ HRESULT GetCapture();
+
+ HRESULT SetCapture( [in] BOOL fCapture );
+
+ HRESULT GetFocus();
+
+ HRESULT SetFocus( [in] BOOL fFocus );
+
+ HRESULT GetDC(
+ [in] LPCRECT pRect,
+ [in] DWORD grfFlags,
+ [out] HDC *phDC);
+
+ HRESULT ReleaseDC( [in] HDC hDC );
+
+ HRESULT InvalidateRect(
+ [in] LPCRECT pRect,
+ [in] BOOL fErase);
+
+ HRESULT InvalidateRgn(
+ [in] HRGN hRGN,
+ [in] BOOL fErase);
+
+ HRESULT ScrollRect(
+ [in] INT dx,
+ [in] INT dy,
+ [in] LPCRECT pRectScroll,
+ [in] LPCRECT pRectClip);
+
+ HRESULT AdjustRect( [in, out] LPRECT prc );
+
+ HRESULT OnDefWindowMessage(
+ [in] UINT msg,
+ [in] WPARAM wParam,
+ [in] LPARAM lParam,
+ [out] LRESULT *plResult);
+}
+
+
+/*****************************************************************************
+ * IOleInPlaceObjectWindowless interface
+ */
+[
+ local,
+ object,
+ uuid(1c2056cc-5ef4-101b-8bc8-00aa003e3b29),
+ pointer_default(unique)
+]
+interface IOleInPlaceObjectWindowless : IOleInPlaceObject
+{
+ typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
+
+ HRESULT OnWindowMessage(
+ [in] UINT msg,
+ [in] WPARAM wParam,
+ [in] LPARAM lParam,
+ [out] LRESULT *plResult);
+
+ HRESULT GetDropTarget( [out] IDropTarget **ppDropTarget );
+}
+
+
+/*****************************************************************************
+ * IClassFactory2 interface
+ */
+[
+ object,
+ uuid(b196b28f-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IClassFactory2 : IClassFactory
+{
+ typedef IClassFactory2 *LPCLASSFACTORY2;
+
+ typedef struct tagLICINFO
+ {
+ LONG cbLicInfo;
+ BOOL fRuntimeKeyAvail;
+ BOOL fLicVerified;
+ } LICINFO, *LPLICINFO;
+
+ HRESULT GetLicInfo( [out] LICINFO *pLicInfo );
+
+ HRESULT RequestLicKey(
+ [in] DWORD dwReserved,
+ [out] BSTR *pBstrKey);
+
+ [local]
+ HRESULT CreateInstanceLic(
+ [in] IUnknown *pUnkOuter,
+ [in] IUnknown *pUnkReserved,
+ [in] REFIID riid,
+ [in] BSTR bstrKey,
+ [out, iid_is(riid)] PVOID *ppvObj);
+
+ [call_as(CreateInstanceLic)]
+ HRESULT RemoteCreateInstanceLic(
+ [in] REFIID riid,
+ [in] BSTR bstrKey,
+ [out, iid_is(riid)] IUnknown **ppvObj);
+}
+
+
+/*****************************************************************************
+ * IViewObject interface
+ */
+[
+ local,
+ object,
+ uuid(3af24292-0c96-11ce-a0cf-00aa00600ab8),
+ pointer_default(unique)
+]
+interface IViewObjectEx : IViewObject2
+{
+ typedef IViewObjectEx *LPVIEWOBJECTEX;
+
+ typedef enum tagVIEWSTATUS
+ {
+ VIEWSTATUS_OPAQUE = 1,
+ VIEWSTATUS_SOLIDBKGND = 2,
+ VIEWSTATUS_DVASPECTOPAQUE = 4,
+ VIEWSTATUS_DVASPECTTRANSPARENT = 8,
+ VIEWSTATUS_SURFACE = 16,
+ VIEWSTATUS_3DSURFACE = 32
+ } VIEWSTATUS;
+
+ typedef enum tagHITRESULT
+ {
+ HITRESULT_OUTSIDE = 0,
+ HITRESULT_TRANSPARENT = 1,
+ HITRESULT_CLOSE = 2,
+ HITRESULT_HIT = 3
+ } HITRESULT;
+
+ typedef enum tagDVASPECT2
+ {
+ DVASPECT_OPAQUE = 16,
+ DVASPECT_TRANSPARENT = 32
+ } DVASPECT2;
+
+ typedef struct tagExtentInfo
+ {
+ ULONG cb;
+ DWORD dwExtentMode;
+ SIZEL sizelProposed;
+ } DVEXTENTINFO;
+
+ typedef enum tagAspectInfoFlag
+ {
+ DVASPECTINFOFLAG_CANOPTIMIZE = 1
+ } DVASPECTINFOFLAG;
+
+ typedef struct tagAspectInfo
+ {
+ ULONG cb;
+ DWORD dwFlags;
+ } DVASPECTINFO;
+
+ HRESULT GetRect(
+ [in] DWORD dwAspect,
+ [out] LPRECTL pRect);
+
+ HRESULT GetViewStatus( [out] DWORD *pdwStatus );
+
+ HRESULT QueryHitPoint(
+ [in] DWORD dwAspect,
+ [in] LPCRECT pRectBounds,
+ [in] POINT ptlLoc,
+ [in] LONG lCloseHint,
+ [out] DWORD *pHitResult);
+
+ HRESULT QueryHitRect(
+ [in] DWORD dwAspect,
+ [in] LPCRECT pRectBounds,
+ [in] LPCRECT pRectLoc,
+ [in] LONG lCloseHint,
+ [out] DWORD *pHitResult);
+
+ HRESULT GetNaturalExtent (
+ [in] DWORD dwAspect,
+ [in] LONG lindex,
+ [in] DVTARGETDEVICE *ptd,
+ [in] HDC hicTargetDev,
+ [in] DVEXTENTINFO *pExtentInfo,
+ [out] LPSIZEL pSizel);
+}
+
+
+/*****************************************************************************
+ * IProvideClassInfo interface
+ */
+[
+ object,
+ uuid(b196b283-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IProvideClassInfo : IUnknown
+{
+ typedef IProvideClassInfo *LPPROVIDECLASSINFO;
+
+cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
+cpp_quote("#undef GetClassInfo")
+cpp_quote("#endif")
+
+ HRESULT GetClassInfo( [out] ITypeInfo ** ppTI );
+}
+
+
+/*****************************************************************************
+ * IProvideClassInfo2 interface
+ */
+[
+ object,
+ uuid(a6bc3ac0-dbaa-11ce-9de3-00aa004bb851),
+ pointer_default(unique)
+]
+interface IProvideClassInfo2 : IProvideClassInfo
+{
+ typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
+
+ typedef enum tagGUIDKIND
+ {
+ GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
+ } GUIDKIND;
+
+ HRESULT GetGUID(
+ [in] DWORD dwGuidKind,
+ [out] GUID *pGUID );
+}
+
+
+[
+ object,
+ uuid(a7aba9c1-8983-11cf-8f20-00805f2cd064),
+ pointer_default(unique)
+]
+interface IProvideMultipleClassInfo : IProvideClassInfo2
+{
+ cpp_quote("#define MULTICLASSINFO_GETTYPEINFO 0x00000001")
+ cpp_quote("#define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x00000002")
+ cpp_quote("#define MULTICLASSINFO_GETIIDPRIMARY 0x00000004")
+ cpp_quote("#define MULTICLASSINFO_GETIIDSOURCE 0x00000008")
+
+ cpp_quote("#define TIFLAGS_EXTENDDISPATCHONLY 0x00000001")
+
+ typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
+
+ HRESULT GetMultiTypeInfoCount(
+ [out] ULONG *pcti);
+
+ HRESULT GetInfoOfIndex(
+ [in] ULONG iti,
+ [in] DWORD dwFlags,
+ [out] ITypeInfo **pptiCoClass,
+ [out] DWORD *pdwTIFlags,
+ [out] ULONG *pcdispidReserved,
+ [out] IID *piidPrimary,
+ [out] IID *piidSource);
+}
+
+
+/*****************************************************************************
+ * IConnectionPoint interface
+ */
+interface IConnectionPointContainer; /* forward declarations */
+interface IEnumConnections;
+
+[
+ object,
+ uuid(b196b286-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IConnectionPoint : IUnknown
+{
+ typedef IConnectionPoint *PCONNECTIONPOINT, *LPCONNECTIONPOINT;
+
+ HRESULT GetConnectionInterface( [out] IID *pIID );
+ HRESULT GetConnectionPointContainer( [out] IConnectionPointContainer **ppCPC );
+ HRESULT Advise( [in] IUnknown *pUnkSink, [out] DWORD *pdwCookie );
+ HRESULT Unadvise( [in] DWORD dwCookie );
+ HRESULT EnumConnections( [out] IEnumConnections **ppEnum );
+}
+
+
+/*****************************************************************************
+ * IConnectionPointContainer interface
+ */
+interface IEnumConnectionPoints; /* forward declaration */
+[
+ object,
+ uuid(b196b284-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IConnectionPointContainer : IUnknown
+{
+ typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER, *LPCONNECTIONPOINTCONTAINER;
+
+ HRESULT EnumConnectionPoints( [out] IEnumConnectionPoints **ppEnum );
+ HRESULT FindConnectionPoint( [in] REFIID riid, [out] IConnectionPoint **ppCP );
+}
+
+
+/*****************************************************************************
+ * IEnumConnections interface
+ */
+[
+ object,
+ uuid(b196b287-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IEnumConnections : IUnknown
+{
+ typedef IEnumConnections *PENUMCONNECTIONS, *LPENUMCONNECTIONS;
+
+ typedef struct tagCONNECTDATA
+ {
+ IUnknown *pUnk;
+ DWORD dwCookie;
+ } CONNECTDATA, *PCONNECTDATA, *LPCONNECTDATA;
+
+ [local]
+ HRESULT Next(
+ [in] ULONG cConnections,
+ [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTDATA rgcd,
+ [out] ULONG *pcFetched);
+
+ [call_as(Next)]
+ HRESULT RemoteNext(
+ [in] ULONG cConnections,
+ [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTDATA rgcd,
+ [out] ULONG *pcFetched);
+
+ HRESULT Skip( [in] ULONG cConnections );
+
+ HRESULT Reset();
+
+ HRESULT Clone( [out] IEnumConnections **ppEnum );
+}
+
+
+/*****************************************************************************
+ * IEnumConnectionPoints interface
+ */
+[
+ object,
+ uuid(b196b285-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IEnumConnectionPoints : IUnknown
+{
+ typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS, *LPENUMCONNECTIONPOINTS;
+
+ [local]
+ HRESULT Next(
+ [in] ULONG cConnections,
+ [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP,
+ [out] ULONG *pcFetched);
+
+ [call_as(Next)]
+ HRESULT RemoteNext(
+ [in] ULONG cConnections,
+ [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP,
+ [out] ULONG *pcFetched);
+
+ HRESULT Skip( [in] ULONG cConnections );
+
+ HRESULT Reset();
+
+ HRESULT Clone( [out] IEnumConnectionPoints **ppEnum );
+}
+
+
+/*****************************************************************************
+ * IPropertyPage interface
+ */
+interface IPropertyPageSite; /* forward declaration */
+[
+ object,
+ uuid(b196b28d-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IPropertyPage : IUnknown
+{
+ typedef IPropertyPage *LPPROPERTYPAGE;
+
+ typedef struct tagPROPPAGEINFO
+ {
+ ULONG cb;
+ LPOLESTR pszTitle;
+ SIZE size;
+ LPOLESTR pszDocString;
+ LPOLESTR pszHelpFile;
+ DWORD dwHelpContext;
+ } PROPPAGEINFO, *LPPROPPAGEINFO;
+
+ HRESULT SetPageSite( [in] IPropertyPageSite *pPageSite );
+
+ HRESULT Activate(
+ [in] HWND hWndParent,
+ [in] LPCRECT pRect,
+ [in] BOOL bModal);
+
+ HRESULT Deactivate();
+
+ HRESULT GetPageInfo( [out] PROPPAGEINFO *pPageInfo );
+
+ HRESULT SetObjects(
+ [in] ULONG cObjects,
+ [in, size_is(cObjects)] IUnknown **ppUnk);
+
+ HRESULT Show( [in] UINT nCmdShow );
+
+ HRESULT Move( [in] LPCRECT pRect );
+
+ HRESULT IsPageDirty();
+
+ HRESULT Apply();
+
+ HRESULT Help( [in] LPCOLESTR pszHelpDir );
+
+ HRESULT TranslateAccelerator( [in] MSG *pMsg );
+}
+
+
+/*****************************************************************************
+ * IPropertyPage2 interface
+ */
+[
+ object,
+ uuid(01e44665-24ac-101b-84ed-08002b2ec713),
+ pointer_default(unique)
+]
+interface IPropertyPage2 : IPropertyPage
+{
+ typedef IPropertyPage2 *LPPROPERTYPAGE2;
+
+ HRESULT EditProperty( [in] DISPID dispID );
+}
+
+
+/*****************************************************************************
+ * IPropertyPageSite interface
+ */
+[
+ object,
+ uuid(b196b28c-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface IPropertyPageSite : IUnknown
+{
+ typedef IPropertyPageSite *LPPROPERTYPAGESITE;
+
+ typedef enum tagPROPPAGESTATUS
+ {
+ PROPPAGESTATUS_DIRTY = 0x1,
+ PROPPAGESTATUS_VALIDATE = 0x2,
+ PROPPAGESTATUS_CLEAN = 0x4
+ } PROPPAGESTATUS;
+
+ HRESULT OnStatusChange( [in] DWORD dwFlags );
+ HRESULT GetLocaleID( [out] LCID *pLocaleID );
+ HRESULT GetPageContainer( [out] IUnknown **ppUnk );
+ HRESULT TranslateAccelerator( [in] MSG *pMsg );
+}
+
+
+/*****************************************************************************
+ * IPropertyNotifySink interface
+ */
+[
+ object,
+ uuid(9bfbbc02-eff1-101a-84ed-00aa00341d07),
+ pointer_default(unique)
+]
+interface IPropertyNotifySink : IUnknown
+{
+ typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
+
+ HRESULT OnChanged( [in] DISPID dispID );
+ HRESULT OnRequestEdit( [in] DISPID dispID );
+}
+
+
+/*****************************************************************************
+ * ISimpleFrameSite interface
+ */
+[
+ object,
+ uuid(742b0e01-14e6-101b-914e-00aa00300cab),
+ pointer_default(unique)
+]
+interface ISimpleFrameSite : IUnknown
+{
+ typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
+
+ HRESULT PreMessageFilter(
+ [in] HWND hWnd,
+ [in] UINT msg,
+ [in] WPARAM wp,
+ [in] LPARAM lp,
+ [out] LRESULT *plResult,
+ [out] DWORD *pdwCookie);
+
+ HRESULT PostMessageFilter(
+ [in] HWND hWnd,
+ [in] UINT msg,
+ [in] WPARAM wp,
+ [in] LPARAM lp,
+ [out] LRESULT *plResult,
+ [in] DWORD dwCookie);
+}
+
+
+/*****************************************************************************
+ * IPersistStreamInit interface
+ */
+[
+ object,
+ uuid(7fd52380-4e07-101b-ae2d-08002b2ec713),
+ pointer_default(unique)
+]
+interface IPersistStreamInit : IPersist
+{
+ typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
+
+ HRESULT IsDirty();
+ HRESULT Load( [in] LPSTREAM pStm );
+ HRESULT Save( [in] LPSTREAM pStm, [in] BOOL fClearDirty );
+ HRESULT GetSizeMax( [out] ULARGE_INTEGER *pcbSize );
+ HRESULT InitNew();
+}
+
+
+/*****************************************************************************
+ * IPersistMemory interface
+ */
+[
+ object,
+ uuid(bd1ae5e0-a6ae-11ce-bd37-504200c10000),
+ pointer_default(unique)
+]
+interface IPersistMemory : IPersist
+{
+ typedef IPersistMemory *LPPERSISTMEMORY;
+
+ HRESULT IsDirty();
+
+ [local]
+ HRESULT Load(
+ [in, size_is(cbSize)] LPVOID pMem,
+ [in] ULONG cbSize);
+
+ [call_as(Load)]
+ HRESULT RemoteLoad(
+ [in, size_is(cbSize)] BYTE *pMem,
+ [in] ULONG cbSize);
+
+ [local]
+ HRESULT Save(
+ [out, size_is(cbSize)] LPVOID pMem,
+ [in] BOOL fClearDirty,
+ [in] ULONG cbSize);
+
+ [call_as(Save)]
+ HRESULT RemoteSave(
+ [out, size_is(cbSize)] BYTE *pMem,
+ [in] BOOL fClearDirty,
+ [in] ULONG cbSize);
+
+ HRESULT GetSizeMax( [out] ULONG *pCbSize );
+ HRESULT InitNew();
+}
+
+
+/*****************************************************************************
+ * IPersistPropertyBag interface
+ */
+[
+ object,
+ uuid(37d84f60-42cb-11ce-8135-00aa004bb851),
+ pointer_default(unique)
+]
+interface IPersistPropertyBag : IPersist
+{
+ typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
+
+ HRESULT InitNew();
+
+ HRESULT Load(
+ [in] IPropertyBag *pPropBag,
+ [in] IErrorLog *pErrorLog);
+
+ HRESULT Save(
+ [in] IPropertyBag *pPropBag,
+ [in] BOOL fClearDirty,
+ [in] BOOL fSaveAllProperties);
+}
+
+
+/*****************************************************************************
+ * IPropertyBag2 interface
+ */
+[
+ object,
+ uuid(22f55882-280b-11d0-a8a9-00a0c90c2004),
+ pointer_default(unique)
+]
+interface IPropertyBag2 : IUnknown
+{
+ typedef IPropertyBag2 *LPPROPERTYBAG2;
+
+ typedef enum tagPROPBAG2_TYPE
+ {
+ PROPBAG2_TYPE_UNDEFINED = 0,
+ PROPBAG2_TYPE_DATA = 1,
+ PROPBAG2_TYPE_URL = 2,
+ PROPBAG2_TYPE_OBJECT = 3,
+ PROPBAG2_TYPE_STREAM = 4,
+ PROPBAG2_TYPE_STORAGE = 5,
+ PROPBAG2_TYPE_MONIKER = 6
+ } PROPBAG2_TYPE;
+
+ typedef struct tagPROPBAG2
+ {
+ DWORD dwType;
+ VARTYPE vt;
+ CLIPFORMAT cfType;
+ DWORD dwHint;
+ LPOLESTR pstrName;
+ CLSID clsid;
+ } PROPBAG2;
+
+ HRESULT Read(
+ [in] ULONG cProperties,
+ [in] PROPBAG2 *pPropBag,
+ [in] IErrorLog *pErrLog,
+ [out] VARIANT *pvarValue,
+ [out] HRESULT *phrError);
+
+ HRESULT Write(
+ [in] ULONG cProperties,
+ [in] PROPBAG2 *pPropBag,
+ [in] VARIANT *pvarValue);
+
+ HRESULT CountProperties(
+ [out] ULONG *pcProperties );
+
+ HRESULT GetPropertyInfo(
+ [in] ULONG iProperty,
+ [in] ULONG cProperties,
+ [out] PROPBAG2 *pPropBag,
+ [out] ULONG *pcProperties);
+
+ HRESULT LoadObject(
+ [in] LPCOLESTR pstrName,
+ [in] DWORD dwHint,
+ [in] IUnknown *pUnkObject,
+ [in] IErrorLog *pErrLog);
+}
+
+
+/*****************************************************************************
+ * IPersistPropertyBag2 interface
+ */
+[
+ object,
+ uuid(22f55881-280b-11d0-a8a9-00a0c90c2004),
+ pointer_default(unique)
+]
+interface IPersistPropertyBag2 : IPersist
+{
+ typedef IPersistPropertyBag2 *LPPERSISTPROPERTYBAG2;
+
+ HRESULT InitNew();
+
+ HRESULT Load(
+ [in] IPropertyBag2 *pPropBag,
+ [in] IErrorLog *pErrorLog);
+
+ HRESULT Save(
+ [in] IPropertyBag2 *pPropBag,
+ [in] BOOL fClearDirty,
+ [in] BOOL fSaveAllProperties);
+
+ HRESULT IsDirty();
+}
+
+
+/*****************************************************************************
+ * ISpecifyPropertyPages interface
+ */
+[
+ object,
+ uuid(b196b28b-bab4-101a-b69c-00aa00341d07),
+ pointer_default(unique)
+]
+interface ISpecifyPropertyPages : IUnknown
+{
+ typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
+
+ typedef struct tagCAUUID
+ {
+ ULONG cElems;
+ [size_is(cElems)] GUID *pElems;
+ } CAUUID, *LPCAUUID;
+
+ HRESULT GetPages( [out] CAUUID *pPages );
+}
+
+
+/*****************************************************************************
+ * IPerPropertyBrowsing interface
+ */
+[
+ object,
+ uuid(376bd3aa-3845-101b-84ed-08002b2ec713),
+ pointer_default(unique)
+]
+interface IPerPropertyBrowsing : IUnknown
+{
+ typedef IPerPropertyBrowsing *LPPERPROPERTYBROWSING;
+
+ typedef struct tagCALPOLESTR
+ {
+ ULONG cElems;
+ [size_is(cElems)] LPOLESTR *pElems;
+ } CALPOLESTR, *LPCALPOLESTR;
+
+ typedef struct tagCADWORD
+ {
+ ULONG cElems;
+ [size_is(cElems)] DWORD *pElems;
+ } CADWORD, *LPCADWORD;
+
+ HRESULT GetDisplayString(
+ [in] DISPID dispID,
+ [out] BSTR *pBstr);
+
+ HRESULT MapPropertyToPage(
+ [in] DISPID dispID,
+ [out] CLSID *pClsid);
+
+ HRESULT GetPredefinedStrings(
+ [in] DISPID dispID,
+ [out] CALPOLESTR *pCaStringsOut,
+ [out] CADWORD *pCaCookiesOut);
+
+ HRESULT GetPredefinedValue(
+ [in] DISPID dispID,
+ [in] DWORD dwCookie,
+ [out] VARIANT *pVarOut);
+}
+
+
+/*****************************************************************************
+ * IAdviseSinkEx interface
+ */
+[
+ object,
+ uuid(3af24290-0c96-11ce-a0cf-00aa00600ab8),
+ pointer_default(unique)
+]
+interface IAdviseSinkEx : IAdviseSink
+{
+ typedef IAdviseSinkEx *LPADVISESINKEX;
+
+ [local]
+ void OnViewStatusChange( [in] DWORD dwViewStatus );
+
+ [call_as(OnViewStatusChange)]
+ HRESULT RemoteOnViewStatusChange( [in] DWORD dwViewStatus );
+}
+
+
+/*****************************************************************************
+ * IPointerInactive interface
+ */
+[
+ object,
+ uuid(55980ba0-35aa-11cf-b671-00aa004cd6d8),
+ pointer_default(unique)
+]
+interface IPointerInactive : IUnknown
+{
+ typedef IPointerInactive *LPPOINTERINACTIVE;
+
+ HRESULT GetActivationPolicy(
+ [out] DWORD *pdwPolicy);
+
+ HRESULT OnInactiveMouseMove(
+ [in] LPCRECT pRectBounds,
+ [in] LONG x,
+ [in] LONG y,
+ [in] DWORD grfKeyState);
+
+ HRESULT OnInactiveSetCursor(
+ [in] LPCRECT pRectBounds,
+ [in] LONG x,
+ [in] LONG y,
+ [in] DWORD dwMouseMsg,
+ [in] BOOL fSetAlways);
+}
+
+
+/*****************************************************************************
+ * IObjectWithSite interface
+ */
+[
+ object,
+ uuid(fc4801a3-2ba9-11cf-a229-00aa003d7352),
+ pointer_default(unique)
+]
+interface IObjectWithSite : IUnknown
+{
+ typedef IObjectWithSite *LPOBJECTWITHSITE;
+
+ HRESULT SetSite(
+ [in] IUnknown * pUnkSite);
+
+ HRESULT GetSite(
+ [in] REFIID riid,
+ [out, iid_is(riid)] PVOID *ppvSite);
+}
+
+
+/*****************************************************************************
+ * IOleUndoUnit interface
+ */
+interface IOleUndoManager; /* forward declaration */
+[
+ object,
+ uuid(894ad3b0-ef97-11ce-9bc9-00aa00608e01),
+ pointer_default(unique)
+]
+interface IOleUndoUnit : IUnknown
+{
+ typedef IOleUndoUnit *LPOLEUNDOUNIT;
+
+ HRESULT Do( [in] IOleUndoManager *pUndoManager );
+ HRESULT GetDescription( [out] BSTR *pBstr );
+ HRESULT GetUnitType( [out] CLSID *pClsid, [out] LONG *plID );
+ HRESULT OnNextAdd();
+}
+
+
+/*****************************************************************************
+ * IOleParentUndoUnit interface
+ */
+[
+ object,
+ uuid(a1faf330-ef97-11ce-9bc9-00aa00608e01),
+ pointer_default(unique)
+]
+interface IOleParentUndoUnit : IOleUndoUnit
+{
+ typedef IOleParentUndoUnit *LPOLEPARENTUNDOUNIT;
+
+ HRESULT Open( [in] IOleParentUndoUnit *pPUU );
+ HRESULT Close( [in] IOleParentUndoUnit *pPUU, [in] BOOL fCommit );
+ HRESULT Add( [in] IOleUndoUnit *pUU );
+ HRESULT FindUnit( [in] IOleUndoUnit *pUU );
+ HRESULT GetParentState( [out] DWORD *pdwState );
+}
+
+
+/*****************************************************************************
+ * IEnumOleUndoUnits interface
+ */
+[
+ object,
+ uuid(b3e7c340-ef97-11ce-9bc9-00aa00608e01),
+ pointer_default(unique)
+]
+interface IEnumOleUndoUnits : IUnknown
+{
+ typedef IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
+
+ [local]
+ HRESULT Next(
+ [in] ULONG cElt,
+ [out, size_is(cElt), length_is(*pcEltFetched)] IOleUndoUnit **rgElt,
+ [out] ULONG *pcEltFetched);
+
+ [call_as(Next)]
+ HRESULT RemoteNext(
+ [in] ULONG cElt,
+ [out, size_is(cElt), length_is(*pcEltFetched)] IOleUndoUnit **rgElt,
+ [out] ULONG *pcEltFetched);
+
+ HRESULT Skip( [in] ULONG cElt );
+
+ HRESULT Reset();
+
+ HRESULT Clone( [out] IEnumOleUndoUnits **ppEnum );
+}
+
+
+/*****************************************************************************
+ * IOleUndoManager interface
+ */
+[
+ object,
+ uuid(d001f200-ef97-11ce-9bc9-00aa00608e01),
+ pointer_default(unique)
+]
+interface IOleUndoManager : IUnknown
+{
+cpp_quote("#define SID_SOleUndoManager IID_IOleUndoManager")
+ typedef IOleUndoManager *LPOLEUNDOMANAGER;
+
+ HRESULT Open( [in] IOleParentUndoUnit *pPUU );
+ HRESULT Close( [in] IOleParentUndoUnit *pPUU, [in] BOOL fCommit );
+ HRESULT Add( [in] IOleUndoUnit *pUU );
+ HRESULT GetOpenParentState( [out] DWORD *pdwState );
+ HRESULT DiscardFrom( [in] IOleUndoUnit *pUU );
+ HRESULT UndoTo( [in] IOleUndoUnit *pUU );
+ HRESULT RedoTo( [in] IOleUndoUnit *pUU );
+ HRESULT EnumUndoable( [out] IEnumOleUndoUnits **ppEnum );
+ HRESULT EnumRedoable( [out] IEnumOleUndoUnits **ppEnum );
+ HRESULT GetLastUndoDescription( [out] BSTR *pBstr );
+ HRESULT GetLastRedoDescription( [out] BSTR *pBstr );
+ HRESULT Enable( [in] BOOL fEnable );
+}
+
+
+/*****************************************************************************
+ * IQuickActivate interface
+ */
+[
+ object,
+ uuid(cf51ed10-62fe-11cf-bf86-00a0c9034836),
+ pointer_default(unique)
+]
+interface IQuickActivate : IUnknown
+{
+ typedef IQuickActivate *LPQUICKACTIVATE;
+
+ typedef enum tagQACONTAINERFLAGS
+ {
+ QACONTAINER_SHOWHATCHING = 0x1,
+ QACONTAINER_SHOWGRABHANDLES = 0x2,
+ QACONTAINER_USERMODE = 0x4,
+ QACONTAINER_DISPLAYASDEFAULT = 0x8,
+ QACONTAINER_UIDEAD = 0x10,
+ QACONTAINER_AUTOCLIP = 0x20,
+ QACONTAINER_MESSAGEREFLECT = 0x40,
+ QACONTAINER_SUPPORTSMNEMONICS = 0x80
+ } QACONTAINERFLAGS;
+
+ typedef DWORD OLE_COLOR;
+
+ typedef struct tagQACONTAINER
+ {
+ ULONG cbSize;
+ IOleClientSite *pClientSite;
+ IAdviseSinkEx *pAdviseSink;
+ IPropertyNotifySink *pPropertyNotifySink;
+ IUnknown *pUnkEventSink;
+ DWORD dwAmbientFlags;
+ OLE_COLOR colorFore;
+ OLE_COLOR colorBack;
+ IFont *pFont;
+ IOleUndoManager *pUndoMgr;
+ DWORD dwAppearance;
+ LONG lcid;
+ HPALETTE hpal;
+ IBindHost *pBindHost;
+ IOleControlSite *pOleControlSite;
+ IServiceProvider *pServiceProvider;
+ } QACONTAINER;
+
+ typedef struct tagQACONTROL
+ {
+ ULONG cbSize;
+ DWORD dwMiscStatus;
+ DWORD dwViewStatus;
+ DWORD dwEventCookie;
+ DWORD dwPropNotifyCookie;
+ DWORD dwPointerActivationPolicy;
+ } QACONTROL;
+
+ [local]
+ HRESULT QuickActivate(
+ [in] QACONTAINER *pQaContainer,
+ [in,out] QACONTROL *pQaControl);
+
+ [call_as(QuickActivate)]
+ HRESULT RemoteQuickActivate(
+ [in] QACONTAINER *pQaContainer,
+ [out] QACONTROL *pQaControl);
+
+ HRESULT SetContentExtent( [in] LPSIZEL pSizel );
+
+ HRESULT GetContentExtent( [out] LPSIZEL pSizel );
+}