ocidl.idl revision 4b9d6701570cb98fd36e209314239d104ec584d3
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Copyright (C) 1999 Paul Quinn
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Copyright (C) 1999 Francis Beaudet
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Copyright (C) 2003 Alexandre Julliard
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * This library is free software; you can redistribute it and/or
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * modify it under the terms of the GNU Lesser General Public
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * License as published by the Free Software Foundation; either
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * version 2.1 of the License, or (at your option) any later version.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * This library is distributed in the hope that it will be useful,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * but WITHOUT ANY WARRANTY; without even the implied warranty of
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Lesser General Public License for more details.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * You should have received a copy of the GNU Lesser General Public
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * License along with this library; if not, write to the Free Software
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * a choice of LGPL license versions is made available with the language indicating
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * that LGPLv2 or any later version may be used, or where a choice of which version
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * of the LGPL is applied is otherwise unspecified.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura#ifndef DO_NO_IMPORTS
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport "oleidl.idl";
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport "oaidl.idl";
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport "servprov.idl";
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport "urlmon.idl";
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster#endif
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IOleControlTypes interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IOleControlTypes
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef [v1_enum] enum tagUASFLAGS
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster UAS_NORMAL = 0x0,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster UAS_BLOCKED = 0x1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster UAS_NOPARENTABLE = 0x2,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster UAS_MASK = 0x3
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } UASFLAGS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagREADYSTATE
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster READYSTATE_UNINITIALIZED = 0,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster READYSTATE_LOADING = 1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster READYSTATE_LOADED = 2,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster READYSTATE_INTERACTIVE = 3,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster READYSTATE_COMPLETE = 4
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } READYSTATE;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef struct tagVARIANT_BLOB
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DWORD clSize;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DWORD rpcReserved;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [size_is(clSize-1)] ULONGLONG ahData[];
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } wireVARIANT_BLOB;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef struct tagUserVARIANT
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster wireVARIANT_BLOB pVarBlob;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } UserVARIANT;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IFont interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(bef6e002-a874-101a-8bba-00aa00300cab),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IFont : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IFont *LPFONT;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef TEXTMETRICW TEXTMETRICOLE, *LPTEXTMETRICOLE;
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Name( [out] BSTR *pname);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propput] HRESULT Name( [in] BSTR name );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Size( [out] CY *psize );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propput] HRESULT Size( [in] CY size );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Bold( [out] BOOL *pbold );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propput] HRESULT Bold( [in] BOOL bold );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Italic( [out] BOOL *pitalic );
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura [propput] HRESULT Italic( [in] BOOL italic );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Underline( [out] BOOL *punderline );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propput] HRESULT Underline( [in] BOOL underline );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Strikethrough( [out] BOOL *pstrikethrough );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propput] HRESULT Strikethrough( [in] BOOL strikethrough );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Weight( [out] SHORT *pweight );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propput] HRESULT Weight( [in] SHORT weight );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Charset( [out] SHORT *pcharset );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propput] HRESULT Charset( [in] SHORT charset );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT hFont( [out] HFONT *phfont );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Clone( [out] IFont **ppfont );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT IsEqual( [in] IFont *pFontOther );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT SetRatio( [in] LONG cyLogical, [in] LONG cyHimetric );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT QueryTextMetrics( [out] TEXTMETRICOLE * ptm );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT AddRefHfont( [in] HFONT hfont );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT ReleaseHfont( [in] HFONT hfont );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT SetHdc( [in] HDC hdc );
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura/*****************************************************************************
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura * IFontDisp interface
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(bef6e003-a874-101a-8bba-00aa00300cab),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IFontDisp : IDispatch
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IFontDisp *LPFONTDISP;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IFontEventsDisp interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(4ef6100a-af88-11d0-9846-00c04fc29993),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IFontEventsDisp : IDispatch
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IFontEventsDisp *LPFONTEVENTS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IPicture interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(7bf80980-bf32-101a-8bbb-00aa00300cab),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IPicture : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IPicture *LPPICTURE;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagPicture
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster PICTURE_SCALABLE = 0x1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster PICTURE_TRANSPARENT = 0x2
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } PICTUREATTRIBUTES;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef UINT OLE_HANDLE;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef LONG OLE_XPOS_HIMETRIC;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef LONG OLE_YPOS_HIMETRIC;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef LONG OLE_XSIZE_HIMETRIC;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef LONG OLE_YSIZE_HIMETRIC;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Handle( [out] OLE_HANDLE *pHandle );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT hPal( [out] OLE_HANDLE *phPal );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Type( [out] SHORT *pType );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Width( [out] OLE_XSIZE_HIMETRIC *pWidth );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Height( [out] OLE_YSIZE_HIMETRIC *pHeight );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Render(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] HDC hdc,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LONG x,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LONG y,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LONG cx,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LONG cy,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] OLE_XPOS_HIMETRIC xSrc,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] OLE_YPOS_HIMETRIC ySrc,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] OLE_XSIZE_HIMETRIC cxSrc,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] OLE_YSIZE_HIMETRIC cySrc,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRcWBounds);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT set_hPal( [in] OLE_HANDLE hPal );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT CurDC( [out] HDC *phDC );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT SelectPicture(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] HDC hDCIn,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] HDC * phDCOut,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] OLE_HANDLE * phBmpOut);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT KeepOriginalFormat( [out] BOOL *pKeep );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propput] HRESULT KeepOriginalFormat( [in] BOOL keep );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT PictureChanged();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT SaveAsFile(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPSTREAM pStream,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] BOOL fSaveMemCopy,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] LONG *pCbSize);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [propget] HRESULT Attributes( [out] DWORD *pDwAttr );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IPictureDisp interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(7bf80981-bf32-101a-8bbb-00aa00300cab),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IPictureDisp : IDispatch
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IPictureDisp *LPPICTUREDISP;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IOleControl interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(b196b288-bab4-101a-b69c-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IOleControl : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IOleControl *LPOLECONTROL;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef struct tagCONTROLINFO
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster ULONG cb;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HACCEL hAccel;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster USHORT cAccel;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DWORD dwFlags;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } CONTROLINFO, *LPCONTROLINFO;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagCTRLINFO
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster CTRLINFO_EATS_RETURN = 1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster CTRLINFO_EATS_ESCAPE = 2
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } CTRLINFO;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetControlInfo( [out] CONTROLINFO *pCI );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT OnMnemonic( [in] MSG *pMsg );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT OnAmbientPropertyChange( [in] DISPID dispID );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT FreezeEvents( [in] BOOL bFreeze );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IOleControlSite interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(b196b289-bab4-101a-b69c-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IOleControlSite : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IOleControlSite *LPOLECONTROLSITE;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef struct tagPOINTF
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster FLOAT x;
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura FLOAT y;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } POINTF, *LPPOINTF;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagXFORMCOORDS
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster XFORMCOORDS_POSITION = 0x1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster XFORMCOORDS_SIZE = 0x2,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster XFORMCOORDS_EVENTCOMPAT = 0x10
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } XFORMCOORDS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT OnControlInfoChanged();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT LockInPlaceActive( [in] BOOL fLock );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetExtendedControl( [out] IDispatch ** ppDisp );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT TransformCoords(
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura [in, out] POINTL *pPtlHimetric,
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura [in, out] POINTF *pPtfContainer,
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura [in] DWORD dwFlags);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura HRESULT TranslateAccelerator( [in] MSG *pMsg, [in] DWORD grfModifiers );
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura HRESULT OnFocus( [in] BOOL fGotFocus );
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura HRESULT ShowPropertyFrame();
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura}
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura/*****************************************************************************
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura * IOleInPlaceSiteEx interface
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura */
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura[
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura object,
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura uuid(9c2cad80-3424-11cf-b670-00aa004cd6d8),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IOleInPlaceSiteEx : IOleInPlaceSite
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura typedef IOleInPlaceSiteEx *LPOLEINPLACESITEEX;
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagACTIVATEFLAGS
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster ACTIVATE_WINDOWLESS = 1
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura } ACTIVATE_FLAGS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper HRESULT OnInPlaceActivateEx( [out] BOOL * pfNoRedraw, [in] DWORD dwFlags );
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper HRESULT OnInPlaceDeactivateEx( [in] BOOL fNoRedraw );
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper HRESULT RequestUIActivate();
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper}
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper/*****************************************************************************
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper * IOleInPlaceSiteWindowless interface
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster local,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(922eada0-3424-11cf-b670-00aa004cd6d8),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IOleInPlaceSiteWindowless *LPOLEINPLACESITEWINDOWLESS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagOLEDCFLAGS
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster OLEDC_NODRAW = 0x1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster OLEDC_PAINTBKGND = 0x2,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster OLEDC_OFFSCREEN = 0x4
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura } OLEDCFLAGS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT CanWindowlessActivate();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetCapture();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT SetCapture( [in] BOOL fCapture );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetFocus();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT SetFocus( [in] BOOL fFocus );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetDC(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRect,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DWORD grfFlags,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] HDC *phDC);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT ReleaseDC( [in] HDC hDC );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT InvalidateRect(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRect,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] BOOL fErase);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT InvalidateRgn(
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura [in] HRGN hRGN,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] BOOL fErase);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT ScrollRect(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] INT dx,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] INT dy,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRectScroll,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRectClip);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT AdjustRect( [in, out] LPRECT prc );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT OnDefWindowMessage(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] UINT msg,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] WPARAM wParam,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPARAM lParam,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] LRESULT *plResult);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IOleInPlaceObjectWindowless interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster local,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(1c2056cc-5ef4-101b-8bc8-00aa003e3b29),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IOleInPlaceObjectWindowless : IOleInPlaceObject
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IOleInPlaceObjectWindowless *LPOLEINPLACEOBJECTWINDOWLESS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT OnWindowMessage(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] UINT msg,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] WPARAM wParam,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPARAM lParam,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] LRESULT *plResult);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetDropTarget( [out] IDropTarget **ppDropTarget );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IClassFactory2 interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(b196b28f-bab4-101a-b69c-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IClassFactory2 : IClassFactory
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IClassFactory2 *LPCLASSFACTORY2;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura typedef struct tagLICINFO
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura {
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura LONG cbLicInfo;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster BOOL fRuntimeKeyAvail;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster BOOL fLicVerified;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } LICINFO, *LPLICINFO;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetLicInfo( [out] LICINFO *pLicInfo );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT RequestLicKey(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DWORD dwReserved,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] BSTR *pBstrKey);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper [local]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT CreateInstanceLic(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] IUnknown *pUnkOuter,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] IUnknown *pUnkReserved,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] REFIID riid,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] BSTR bstrKey,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out, iid_is(riid)] PVOID *ppvObj);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [call_as(CreateInstanceLic)]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT RemoteCreateInstanceLic(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] REFIID riid,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] BSTR bstrKey,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out, iid_is(riid)] IUnknown **ppvObj);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IViewObject interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster local,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(3af24292-0c96-11ce-a0cf-00aa00600ab8),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IViewObjectEx : IViewObject2
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IViewObjectEx *LPVIEWOBJECTEX;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagVIEWSTATUS
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster VIEWSTATUS_OPAQUE = 1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster VIEWSTATUS_SOLIDBKGND = 2,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster VIEWSTATUS_DVASPECTOPAQUE = 4,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster VIEWSTATUS_DVASPECTTRANSPARENT = 8,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster VIEWSTATUS_SURFACE = 16,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster VIEWSTATUS_3DSURFACE = 32
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } VIEWSTATUS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagHITRESULT
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HITRESULT_OUTSIDE = 0,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HITRESULT_TRANSPARENT = 1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HITRESULT_CLOSE = 2,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HITRESULT_HIT = 3
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } HITRESULT;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagDVASPECT2
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DVASPECT_OPAQUE = 16,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DVASPECT_TRANSPARENT = 32
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } DVASPECT2;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef struct tagExtentInfo
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster ULONG cb;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DWORD dwExtentMode;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SIZEL sizelProposed;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } DVEXTENTINFO;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagAspectInfoFlag
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DVASPECTINFOFLAG_CANOPTIMIZE = 1
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } DVASPECTINFOFLAG;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef struct tagAspectInfo
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster ULONG cb;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DWORD dwFlags;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } DVASPECTINFO;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetRect(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DWORD dwAspect,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] LPRECTL pRect);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetViewStatus( [out] DWORD *pdwStatus );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT QueryHitPoint(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DWORD dwAspect,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRectBounds,
bcb85423bc6855cb1c7accc69fa051e1771c000aMark de Reeper [in] POINT ptlLoc,
bcb85423bc6855cb1c7accc69fa051e1771c000aMark de Reeper [in] LONG lCloseHint,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] DWORD *pHitResult);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT QueryHitRect(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DWORD dwAspect,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRectBounds,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRectLoc,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LONG lCloseHint,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] DWORD *pHitResult);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetNaturalExtent (
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DWORD dwAspect,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LONG lindex,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DVTARGETDEVICE *ptd,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] HDC hicTargetDev,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DVEXTENTINFO *pExtentInfo,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] LPSIZEL pSizel);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IProvideClassInfo interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(b196b283-bab4-101a-b69c-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IProvideClassInfo : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IProvideClassInfo *LPPROVIDECLASSINFO;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fostercpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fostercpp_quote("#undef GetClassInfo")
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fostercpp_quote("#endif")
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetClassInfo( [out] ITypeInfo ** ppTI );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IProvideClassInfo2 interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(a6bc3ac0-dbaa-11ce-9de3-00aa004bb851),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamurainterface IProvideClassInfo2 : IProvideClassInfo
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura{
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura typedef enum tagGUIDKIND
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura {
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura } GUIDKIND;
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura HRESULT GetGUID(
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura [in] DWORD dwGuidKind,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] GUID *pGUID );
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura}
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(a7aba9c1-8983-11cf-8f20-00805f2cd064),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IProvideMultipleClassInfo : IProvideClassInfo2
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster cpp_quote("#define MULTICLASSINFO_GETTYPEINFO 0x00000001")
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster cpp_quote("#define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x00000002")
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster cpp_quote("#define MULTICLASSINFO_GETIIDPRIMARY 0x00000004")
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster cpp_quote("#define MULTICLASSINFO_GETIIDSOURCE 0x00000008")
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster cpp_quote("#define TIFLAGS_EXTENDDISPATCHONLY 0x00000001")
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetMultiTypeInfoCount(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] ULONG *pcti);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetInfoOfIndex(
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper [in] ULONG iti,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DWORD dwFlags,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] ITypeInfo **pptiCoClass,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] DWORD *pdwTIFlags,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] ULONG *pcdispidReserved,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] IID *piidPrimary,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] IID *piidSource);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IConnectionPoint interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IConnectionPointContainer; /* forward declarations */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IEnumConnections;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(b196b286-bab4-101a-b69c-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IConnectionPoint : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IConnectionPoint *PCONNECTIONPOINT, *LPCONNECTIONPOINT;
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper HRESULT GetConnectionInterface( [out] IID *pIID );
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper HRESULT GetConnectionPointContainer( [out] IConnectionPointContainer **ppCPC );
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper HRESULT Advise( [in] IUnknown *pUnkSink, [out] DWORD *pdwCookie );
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper HRESULT Unadvise( [in] DWORD dwCookie );
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper HRESULT EnumConnections( [out] IEnumConnections **ppEnum );
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper}
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper/*****************************************************************************
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper * IConnectionPointContainer interface
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper */
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeperinterface IEnumConnectionPoints; /* forward declaration */
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper[
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper object,
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper uuid(b196b284-bab4-101a-b69c-00aa00341d07),
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper pointer_default(unique)
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper]
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeperinterface IConnectionPointContainer : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER, *LPCONNECTIONPOINTCONTAINER;
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT EnumConnectionPoints( [out] IEnumConnectionPoints **ppEnum );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT FindConnectionPoint( [in] REFIID riid, [out] IConnectionPoint **ppCP );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IEnumConnections interface
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper */
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper[
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper object,
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper uuid(b196b287-bab4-101a-b69c-00aa00341d07),
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper pointer_default(unique)
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper]
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeperinterface IEnumConnections : IUnknown
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper{
2a1b2eaa3abf12d3825147bd3a6c72394cbc7c77Mark de Reeper typedef IEnumConnections *PENUMCONNECTIONS, *LPENUMCONNECTIONS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef struct tagCONNECTDATA
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster IUnknown *pUnk;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DWORD dwCookie;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } CONNECTDATA, *PCONNECTDATA, *LPCONNECTDATA;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [local]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Next(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] ULONG cConnections,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTDATA rgcd,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] ULONG *pcFetched);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [call_as(Next)]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT RemoteNext(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] ULONG cConnections,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTDATA rgcd,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] ULONG *pcFetched);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Skip( [in] ULONG cConnections );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Reset();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Clone( [out] IEnumConnections **ppEnum );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IEnumConnectionPoints interface
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura */
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura[
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura object,
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura uuid(b196b285-bab4-101a-b69c-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IEnumConnectionPoints : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS, *LPENUMCONNECTIONPOINTS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [local]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Next(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] ULONG cConnections,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] ULONG *pcFetched);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [call_as(Next)]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT RemoteNext(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] ULONG cConnections,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out, size_is(cConnections), length_is(*pcFetched)] LPCONNECTIONPOINT *ppCP,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] ULONG *pcFetched);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Skip( [in] ULONG cConnections );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Reset();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Clone( [out] IEnumConnectionPoints **ppEnum );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IPropertyPage interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IPropertyPageSite; /* forward declaration */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(b196b28d-bab4-101a-b69c-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IPropertyPage : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IPropertyPage *LPPROPERTYPAGE;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef struct tagPROPPAGEINFO
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster ULONG cb;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster LPOLESTR pszTitle;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster SIZE size;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster LPOLESTR pszDocString;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster LPOLESTR pszHelpFile;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster DWORD dwHelpContext;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } PROPPAGEINFO, *LPPROPPAGEINFO;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT SetPageSite( [in] IPropertyPageSite *pPageSite );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Activate(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] HWND hWndParent,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPCRECT pRect,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] BOOL bModal);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Deactivate();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetPageInfo( [out] PROPPAGEINFO *pPageInfo );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT SetObjects(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] ULONG cObjects,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in, size_is(cObjects)] IUnknown **ppUnk);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Show( [in] UINT nCmdShow );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Move( [in] LPCRECT pRect );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT IsPageDirty();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Apply();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT Help( [in] LPCOLESTR pszHelpDir );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT TranslateAccelerator( [in] MSG *pMsg );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IPropertyPage2 interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(01e44665-24ac-101b-84ed-08002b2ec713),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IPropertyPage2 : IPropertyPage
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IPropertyPage2 *LPPROPERTYPAGE2;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT EditProperty( [in] DISPID dispID );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IPropertyPageSite interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(b196b28c-bab4-101a-b69c-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IPropertyPageSite : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef IPropertyPageSite *LPPROPERTYPAGESITE;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef enum tagPROPPAGESTATUS
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster PROPPAGESTATUS_DIRTY = 0x1,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster PROPPAGESTATUS_VALIDATE = 0x2,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster PROPPAGESTATUS_CLEAN = 0x4
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster } PROPPAGESTATUS;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT OnStatusChange( [in] DWORD dwFlags );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetLocaleID( [out] LCID *pLocaleID );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT GetPageContainer( [out] IUnknown **ppUnk );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT TranslateAccelerator( [in] MSG *pMsg );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * IPropertyNotifySink interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(9bfbbc02-eff1-101a-84ed-00aa00341d07),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface IPropertyNotifySink : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
5f4d6070f856d0de82c1d16459b89233e2e81ff2Kohei Tamura typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT OnChanged( [in] DISPID dispID );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT OnRequestEdit( [in] DISPID dispID );
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*****************************************************************************
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * ISimpleFrameSite interface
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster[
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster object,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster uuid(742b0e01-14e6-101b-914e-00aa00300cab),
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster pointer_default(unique)
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterinterface ISimpleFrameSite : IUnknown
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT PreMessageFilter(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] HWND hWnd,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] UINT msg,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] WPARAM wp,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPARAM lp,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] LRESULT *plResult,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] DWORD *pdwCookie);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster HRESULT PostMessageFilter(
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] HWND hWnd,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] UINT msg,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] WPARAM wp,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] LPARAM lp,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [out] LRESULT *plResult,
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster [in] DWORD dwCookie);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster}
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
/*****************************************************************************
* 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 );
}