reactos/sdk/include/psdk/htiframe.idl

134 lines
3.8 KiB
Text

/*
* Copyright 2006,2011 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);
}