/* * Copyright 2006 Jacek Caban for CodeWeavers * * 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 */ import "objidl.idl"; import "oleidl.idl"; /***************************************************************************** * ITargetNotify interface */ [ object, uuid(863a99a0-21bc-11d0-82b4-00a0c90c29c5), pointer_default(unique) ] interface ITargetNotify : IUnknown { typedef [unique] ITargetNotify *LPTARGETNOTIFY; HRESULT OnCreate( [in] IUnknown *pUnkDestination, [in] ULONG cbCookie); HRESULT OnReuse([in] IUnknown *pUnkDestination); } /***************************************************************************** * ITargetNotify2 interface */ [ object, uuid(3050f6b1-98b5-11cf-bb82-00aa00bdce0b), pointer_default(unique) ] interface ITargetNotify2 : ITargetNotify { typedef [unique] ITargetNotify2 *LPTARGETNOTIFY2; HRESULT GetOptionString([in,out] BSTR *pbstrOptions); } /***************************************************************************** * ITargetFrame2 interface */ [ object, uuid(86d52e11-94a8-11d0-82af-00c04fd5ae38), pointer_default(unique) ] interface ITargetFrame2 : IUnknown { typedef [unique] ITargetFrame2 *LPTARGETFRAME2; typedef enum { FINDFRAME_NONE = 0, FINDFRAME_JUSTTESTEXISTENCE = 1, FINDFRAME_INTERNAL = 0x80000000 } FINDFRAME_FLAGS; typedef enum { FRAMEOPTIONS_SCROLL_YES = 0x00000001, FRAMEOPTIONS_SCROLL_NO = 0x00000002, FRAMEOPTIONS_SCROLL_AUTO = 0x00000004, FRAMEOPTIONS_NORESIZE = 0x00000008, FRAMEOPTIONS_NO3DBORDER = 0x00000010, FRAMEOPTIONS_DESKTOP = 0x00000020, FRAMEOPTIONS_BROWSERBAND = 0x00000040 } FRAMEOPTIONS_FLAGS; HRESULT SetFrameName([in] LPCWSTR pszFrameName); HRESULT GetFrameName([out] LPWSTR *ppszFrameName); HRESULT GetParentFrame([out] IUnknown **ppunkParent); HRESULT SetFrameSrc([in] LPCWSTR pszFrameSrc); HRESULT GetFrameSrc([out] LPWSTR *ppszFrameSrc); HRESULT GetFramesContainer([out] IOleContainer **ppContainer); HRESULT SetFrameOptions([in] DWORD dwFlags); HRESULT GetFrameOptions([out] DWORD *pdwFlags); HRESULT SetFrameMargins( [in] DWORD dwWidth, [in] DWORD dwHeight); HRESULT GetFrameMargins( [out] DWORD *pdwWidth, [out] DWORD *pdwHeight); HRESULT FindFrame( [in,unique] LPCWSTR pszTargetName, [in] DWORD dwFlags, [out] IUnknown **ppunkTargetFrame); HRESULT GetTargetAlias( [in,unique] LPCWSTR pszTargetName, [out] LPWSTR *ppszTargetAlias); } /***************************************************************************** * ITargetContainer interface */ [ object, uuid(7847ec01-2bec-11d0-82b4-00a0c90C29c5), pointer_default(unique) ] interface ITargetContainer : IUnknown { typedef [unique] ITargetContainer *LPTARGETCONTAINER; HRESULT GetFrameUrl([out] LPWSTR *ppszFrameSrc); HRESULT GetFramesContainer([out] IOleContainer **ppContainer); }