reactos/sdk/include/psdk/htiface.idl

146 lines
4.6 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";
import "urlmon.idl";
cpp_quote("#include <htiframe.h>")
/*****************************************************************************
* ITargetFrame interface
*/
[
object,
uuid(d5f78c80-5252-11cf-90fa-00aa0042106e),
pointer_default(unique)
]
interface ITargetFrame: IUnknown
{
typedef [unique] ITargetFrame *LPTARGETFRAME;
typedef enum {
NAVIGATEFRAME_FL_RECORD = 0x01,
NAVIGATEFRAME_FL_POST = 0x02,
NAVIGATEFRAME_FL_NO_DOC_CACHE = 0x04,
NAVIGATEFRAME_FL_NO_IMAGE_CACHE = 0x08,
NAVIGATEFRAME_FL_AUTH_FAIL_CACHE_OK = 0x10,
NAVIGATEFRAME_FL_SENDING_FROM_FORM = 0x20,
NAVIGATEFRAME_FL_REALLY_SENDING_FROM_FORM = 0x40
} NAVIGATEFRAME_FLAGS;
typedef struct tagNavigateData {
ULONG ulTarget;
ULONG ulURL;
ULONG ulRefURL;
ULONG ulPostData;
DWORD dwFlags;
} NAVIGATEDATA;
HRESULT SetFrameName([in] LPCWSTR pszFrameName);
HRESULT GetFrameName([out] LPWSTR *ppszFrameName);
HRESULT GetParentFrame([out] IUnknown **ppunkParent);
HRESULT FindFrame(
[in] LPCWSTR pszTargetName,
[in] IUnknown *ppunkContextFrame,
[in] DWORD dwFlags,
[out] IUnknown **ppunkTargetFrame);
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 RemoteNavigate(
[in] ULONG cLength,
[in, size_is(cLength)] ULONG *pulData);
HRESULT OnChildFrameActivate([in] IUnknown *pUnkChildFrame);
HRESULT OnChildFrameDeactivate([in] IUnknown *pUnkChildFrame);
}
/*****************************************************************************
* ITargetFramePriv interface
*/
[
object,
uuid(9216e421-2bf5-11d0-82b4-00a0c90c29c5),
pointer_default(unique)
]
interface ITargetFramePriv : IUnknown
{
typedef [unique] ITargetFramePriv *LPTARGETFRAMEPRIV;
HRESULT FindFrameDownwards(
[in] LPCWSTR pszTargetName,
[in] DWORD dwFlags,
[out] IUnknown **ppunkTargetFrame);
HRESULT FindFrameInContext(
[in] LPCWSTR pszTargetName,
[in] IUnknown *punkContextFrame,
[in] DWORD dwFlags,
[out] IUnknown **ppunkTargetFrame);
HRESULT OnChildFrameActivate([in] IUnknown *pUnkChildFrame);
HRESULT OnChildFrameDeactivate([in] IUnknown *pUnkChildFrame);
HRESULT NavigateHack(
[in] DWORD grfHLNF,
[in, unique] LPBC pbc,
[in, unique] IBindStatusCallback *pibsc,
[in, unique] LPCWSTR pszTargetName,
[in] LPCWSTR pszUrl,
[in, unique] LPCWSTR pszLocation);
HRESULT FindBrowserByIndex(
[in] DWORD dwID,
[out] IUnknown **ppunkBrowser);
}
/*****************************************************************************
* ITargetFramePriv2 interface
*/
[
object,
uuid(b2c867e6-69d6-46f2-a611-ded9a4bd7fef),
pointer_default(unique)
]
interface ITargetFramePriv2 : ITargetFramePriv
{
typedef [unique] ITargetFramePriv2 *LPTARGETFRAMEPRIV2;
HRESULT AggregatedNavigation2(
[in] DWORD grfHLNF,
[in, unique] LPBC pbc,
[in, unique] IBindStatusCallback *pibsc,
[in, unique] LPCWSTR pszTargetName,
[in] IUri *pUri,
[in, unique] LPCWSTR pszLocation);
}