diff options
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/ocidl.idl')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/ocidl.idl | 1343 |
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 ); +} |