1/* 2 * Copyright 2006,2011 Jacek Caban for CodeWeavers 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19import "objidl.idl"; 20import "oleidl.idl"; 21 22/***************************************************************************** 23 * ITargetNotify interface 24 */ 25[ 26 object, 27 uuid(863a99a0-21bc-11d0-82b4-00a0c90c29c5), 28 pointer_default(unique) 29] 30interface ITargetNotify : IUnknown 31{ 32 typedef [unique] ITargetNotify *LPTARGETNOTIFY; 33 34 HRESULT OnCreate( 35 [in] IUnknown *pUnkDestination, 36 [in] ULONG cbCookie); 37 38 HRESULT OnReuse([in] IUnknown *pUnkDestination); 39} 40 41/***************************************************************************** 42 * ITargetNotify2 interface 43 */ 44[ 45 object, 46 uuid(3050f6b1-98b5-11cf-bb82-00aa00bdce0b), 47 pointer_default(unique) 48] 49interface ITargetNotify2 : ITargetNotify 50{ 51 typedef [unique] ITargetNotify2 *LPTARGETNOTIFY2; 52 53 HRESULT GetOptionString([in,out] BSTR *pbstrOptions); 54} 55 56/***************************************************************************** 57 * ITargetFrame2 interface 58 */ 59[ 60 object, 61 uuid(86d52e11-94a8-11d0-82af-00c04fd5ae38), 62 pointer_default(unique) 63] 64interface ITargetFrame2 : IUnknown 65{ 66 typedef [unique] ITargetFrame2 *LPTARGETFRAME2; 67 68 typedef enum { 69 FINDFRAME_NONE = 0, 70 FINDFRAME_JUSTTESTEXISTENCE = 1, 71 FINDFRAME_INTERNAL = 0x80000000 72 } FINDFRAME_FLAGS; 73 74 typedef enum { 75 FRAMEOPTIONS_SCROLL_YES = 0x00000001, 76 FRAMEOPTIONS_SCROLL_NO = 0x00000002, 77 FRAMEOPTIONS_SCROLL_AUTO = 0x00000004, 78 FRAMEOPTIONS_NORESIZE = 0x00000008, 79 FRAMEOPTIONS_NO3DBORDER = 0x00000010, 80 FRAMEOPTIONS_DESKTOP = 0x00000020, 81 FRAMEOPTIONS_BROWSERBAND = 0x00000040 82 } FRAMEOPTIONS_FLAGS; 83 84 HRESULT SetFrameName([in] LPCWSTR pszFrameName); 85 86 HRESULT GetFrameName([out] LPWSTR *ppszFrameName); 87 88 HRESULT GetParentFrame([out] IUnknown **ppunkParent); 89 90 HRESULT SetFrameSrc([in] LPCWSTR pszFrameSrc); 91 92 HRESULT GetFrameSrc([out] LPWSTR *ppszFrameSrc); 93 94 HRESULT GetFramesContainer([out] IOleContainer **ppContainer); 95 96 HRESULT SetFrameOptions([in] DWORD dwFlags); 97 98 HRESULT GetFrameOptions([out] DWORD *pdwFlags); 99 100 HRESULT SetFrameMargins( 101 [in] DWORD dwWidth, 102 [in] DWORD dwHeight); 103 104 HRESULT GetFrameMargins( 105 [out] DWORD *pdwWidth, 106 [out] DWORD *pdwHeight); 107 108 HRESULT FindFrame( 109 [in,unique] LPCWSTR pszTargetName, 110 [in] DWORD dwFlags, 111 [out] IUnknown **ppunkTargetFrame); 112 113 HRESULT GetTargetAlias( 114 [in,unique] LPCWSTR pszTargetName, 115 [out] LPWSTR *ppszTargetAlias); 116} 117 118/***************************************************************************** 119 * ITargetContainer interface 120 */ 121[ 122 object, 123 uuid(7847ec01-2bec-11d0-82b4-00a0c90C29c5), 124 pointer_default(unique) 125] 126interface ITargetContainer : IUnknown 127{ 128 typedef [unique] ITargetContainer *LPTARGETCONTAINER; 129 130 HRESULT GetFrameUrl([out] LPWSTR *ppszFrameSrc); 131 132 HRESULT GetFramesContainer([out] IOleContainer **ppContainer); 133 134} 135