Skip to content
Snippets Groups Projects
Commit b31fedcd authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard
Browse files

Added hlink.idl.

parent 9f077e55
No related branches found
No related tags found
No related merge requests found
......@@ -61,6 +61,7 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
#include "xmldom.h"
#include "downloadmgr.h"
#include "objsel.h"
#include "hlink.h"
/* FIXME: cguids declares GUIDs but does not define their values */
......
......@@ -11,6 +11,7 @@ dispex.h
docobj.h
downloadmgr.h
exdisp.h
hlink.h
mediaobj.h
mimeinfo.h
mlang.h
......
......@@ -16,6 +16,7 @@ IDL_SRCS = \
docobj.idl \
downloadmgr.idl \
exdisp.idl \
hlink.idl \
mediaobj.idl \
mimeinfo.idl \
mlang.idl \
......
/*
* Copyright 2005 Jacek Caban
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
import "urlmon.idl";
interface IHlinkSite;
interface IHlinkBrowseContext;
/*****************************************************************************
* IHlink interface
*/
[
object,
uuid(79EAC9C3-BAF9-11CE-8C82-00AA004BA90B),
pointer_default(unique)
]
interface IHlink: IUnknown
{
typedef [unique] IHlink *LPHLINK;
typedef enum {
HLNF_INTERNALJUMP = 0x00000001,
HLNF_OPENINNEWWINDOW = 0x00000002,
HLNF_NAVIGATINGBACK = 0x00000004,
HLNF_NAVIGATINGFORWARD = 0x00000008,
HLNF_NAVIGATINGTOSTACKITEM = 0x00000010,
HLNF_CREATENOHISTORY = 0x00000020
} HLNF;
typedef enum {
HLINKGETREF_DEFAULT = 0,
HLINKGETREF_ABSOLUTE = 1,
HLINKGETREF_RELATIVE = 2,
} HLINKGETREF;
typedef enum {
HLFNAMEF_DEFAULT = 0x00000000,
HLFNAMEF_TRYCACHE = 0x00000001,
HLFNAMEF_TRYPRETTYTARGET = 0x00000002,
HLFNAMEF_TRYFULLTARGET = 0x00000004,
HLFNAMEF_TRYWIN95SHORTCUT = 0x00000008
} HLFNAMEF;
typedef enum {
HLINKMISC_RELATIVE = 0x00000001,
} HLINKMISC;
typedef enum {
HLINKSETF_TARGET = 0x00000001,
HLINKSETF_LOCATION = 0x00000002
} HLINKSETF;
HRESULT SetHlinkSite(
[in, unique] IHlinkSite *pihlSite,
[in] DWORD dwSiteData);
HRESULT GetHlinkSite(
[out] IHlinkSite **ppihlSite,
[out] DWORD *pdwSiteData);
HRESULT SetMonikerReference(
[in] DWORD grfHLSETF,
[in, unique] IMoniker *pimkTarget,
[in, unique] LPCWSTR pwzLocation);
HRESULT GetMonikerReference(
[in] DWORD dwWhichRef,
[out] IMoniker **ppimkTarget,
[out] LPWSTR *ppwzLocation);
HRESULT SetStringReference(
[in] DWORD grfHLSETF,
[in, unique] LPCWSTR pwzTarget,
[in, unique] LPCWSTR pwzLocation);
HRESULT GetStringReference(
[in] DWORD dwWhichRef,
[out] LPWSTR *ppwzTarget,
[out] LPWSTR *ppwzLocation);
HRESULT SetFriendlyName(
[in, unique] LPCWSTR pwzFriendlyName);
HRESULT GetFriendlyName(
[in] DWORD grfHLFNAMEF,
[out] LPWSTR *ppwzFriendlyName);
HRESULT SetTargetFrameName(
[in, unique] LPCWSTR pwzTargetFrameName);
HRESULT GetTargetFrameName(
[out] LPWSTR *ppwzTargetFrameName);
HRESULT GetMiscStatus(
[out] DWORD *pdwStatus);
HRESULT Navigate(
[in] DWORD grfHLNF,
[in, unique] LPBC pibc,
[in, unique] IBindStatusCallback *pibsc,
[in, unique] IHlinkBrowseContext *pihlbc);
HRESULT SetAdditionalParams(
[in, unique] LPCWSTR pwzAdditionalParams);
HRESULT GetAdditionalParams(
[out] LPWSTR *ppwzAdditionalParams);
}
/*****************************************************************************
* IHlink interface
*/
[
object,
uuid(79EAC9C2-BAF9-11CE-8C82-00AA004BA90B),
pointer_default(unique)
]
interface IHlinkSite: IUnknown
{
typedef [unique] IHlinkSite *LPHLINKSITE;
typedef enum {
HLINKWHICHMK_CONTAINER = 1,
HLINKWHICHMK_BASE = 2,
} HLINKWHICHMK;
HRESULT QueryService(
[in] DWORD dwSiteData,
[in] REFGUID guidService,
[in] REFIID riid,
[out, iid_is(riid)] IUnknown **ppiunk);
HRESULT GetMoniker(
[in] DWORD dwSiteData,
[in] DWORD dwAssign,
[in] DWORD dwWhich,
[out] IMoniker **ppimk);
HRESULT ReadyToNavigate(
[in] DWORD dwSiteData,
[in] DWORD dwReserved);
HRESULT OnNavigationComplete(
[in] DWORD dwSiteData,
[in] DWORD dwreserved,
[in] HRESULT hrError,
[in, unique] LPCWSTR pwzError);
}
/*****************************************************************************
* IEnumHLITEM interface
*/
[
local,
object,
uuid(79EAC9C6-BAF9-11CE-8C82-00AA004BA90B),
pointer_default(unique)
]
interface IEnumHLITEM : IUnknown
{
typedef [unique] IEnumHLITEM *LPENUMHLITEM;
typedef struct tagHLITEM {
ULONG uHLID;
LPWSTR pwzFriendlyName;
} HLITEM;
typedef [unique] HLITEM *LPHLITEM;
HRESULT Next(
[in] ULONG celt,
[out] HLITEM *rgelt,
[out] ULONG *pceltFetched);
HRESULT Skip(
[in] ULONG celt);
HRESULT Reset();
HRESULT Clone(
[out] IEnumHLITEM **ppienumhlitem);
}
/*****************************************************************************
* IHlinkBrowseContext interface
*/
[
local,
object,
uuid(79EAC9C7-BAF9-11CE-8C82-00AA004BA90B),
pointer_default(unique)
]
interface IHlinkBrowseContext : IUnknown
{
typedef [unique] IHlinkBrowseContext *LPHLINKBROWSECONTEXT;
enum {
HLTB_DOCKEDLEFT = 0,
HLTB_DOCKEDTOP = 1,
HLTB_DOCKEDRIGHT = 2,
HLTB_DOCKEDBOTTOM = 3,
HLTB_FLOATING = 4
};
typedef struct _tagHLTBINFO {
ULONG uDockType;
RECT rcTbPos;
} HLTBINFO;
enum {
HLBWIF_HASFRAMEWNDINFO = 0x00000001,
HLBWIF_HASDOCWNDINFO = 0x00000002,
HLBWIF_FRAMEWNDMAXIMIZED = 0x00000004,
HLBWIF_DOCWNDMAXIMIZED = 0x00000008,
HLBWIF_HASWEBTOOLBARINFO = 0x00000010,
HLBWIF_WEBTOOLBARHIDDEN = 0x00000020
};
typedef struct _tagHLBWINFO {
ULONG cbSize;
DWORD grfHLBWIF;
RECT rcFramePos;
RECT rcDocPos;
HLTBINFO hltbinfo;
} HLBWINFO;
typedef [unique] HLBWINFO *LPHLBWINFO;
enum {
HLID_INVALID = 0x00000000,
HLID_PREVIOUS = 0xFFFFFFFF,
HLID_NEXT = 0xFFFFFFFE,
HLID_CURRENT = 0xFFFFFFFD,
HLID_STACKBOTTOM = 0xFFFFFFFC,
HLID_STACKTOP = 0xFFFFFFFB
};
enum {
HLQF_ISVALID = 0x00000001,
HLQF_ISCURRENT = 0x00000002
};
HRESULT Register(
[in] DWORD reserved,
[in, unique] IUnknown *piunk,
[in, unique] IMoniker *pimk,
[out] DWORD *pdwRegister);
HRESULT GetObject(
[in, unique] IMoniker *pimk,
[in] BOOL fBindIfRootRegistered,
[out] IUnknown **ppiunk);
HRESULT Revoke(
[in] DWORD dwRegister);
HRESULT SetBrowseWindowInfo(
[in, unique] HLBWINFO *phlbwi);
HRESULT GetBrowseWindowInfo(
[out] HLBWINFO *phlbwi);
HRESULT SetInitialHlink(
[in, unique] IMoniker * pimkTarget,
[in, unique] LPCWSTR pwzLocation,
[in, unique] LPCWSTR pwzFriendlyName);
HRESULT OnNavigateHlink(
[in] DWORD grfHLNF,
[in, unique] IMoniker *pimkTarget,
[in, unique] LPCWSTR pwzLocation,
[in, unique] LPCWSTR pwzFriendlyName,
[out] ULONG *puHLID);
HRESULT UpdateHlink(
[in] ULONG uHLID,
[in, unique] IMoniker *pimkTarget,
[in, unique] LPCWSTR pwzLocation,
[in, unique] LPCWSTR pwzFriendlyName);
HRESULT EnumNavigationStack(
[in] DWORD dwReserved,
[in] DWORD grfHLFNAMEF,
[out] IEnumHLITEM **ppienumhlitem);
HRESULT QueryHlink(
[in] DWORD grfHLQF,
[in] ULONG uHLID);
HRESULT GetHlink(
[in] ULONG uHLID,
[out] IHlink **ppihl);
HRESULT SetCurrentHlink(
[in] ULONG uHLID);
HRESULT Clone(
[in, unique] IUnknown *piunkOuter,
[in] REFIID riid,
[out, iid_is(riid)] IUnknown **ppiunkObj);
HRESULT Close(
[in] DWORD reserved);
}
/*****************************************************************************
* IHlinkTarget interface
*/
[
object,
uuid(79EAC9C4-BAF9-11CE-8C82-00AA004BA90B),
pointer_default(unique)
]
interface IHlinkTarget : IUnknown
{
typedef [unique] IHlinkTarget *LPHLINKTARGET;
HRESULT SetBrowseContext(
[in, unique] IHlinkBrowseContext *pihlbc);
HRESULT GetBrowseContext(
[out] IHlinkBrowseContext **ppihlbc);
HRESULT Navigate(
[in] DWORD grfHLNF,
[in, unique] LPCWSTR pwzJumpLocation);
HRESULT GetMoniker(
[in,unique] LPCWSTR pwzLocation,
[in] DWORD dwAssign,
[out] IMoniker **ppimkLocation);
HRESULT GetFriendlyName(
[in,unique] LPCWSTR pwzLocation,
[out] LPWSTR *ppwzFriendlyName);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment