ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

hlink.idl
Go to the documentation of this file.
00001 /*
00002  * Copyright 2005 Jacek Caban
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 import "urlmon.idl";
00020 
00021 interface IHlink;
00022 interface IHlinkSite;
00023 interface IHlinkFrame;
00024 interface IHlinkBrowseContext;
00025 
00026 cpp_quote("HRESULT WINAPI HlinkCreateFromMoniker(IMoniker*, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
00027 cpp_quote("HRESULT WINAPI HlinkCreateFromString(LPCWSTR, LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IUnknown*, REFIID, void**);")
00028 cpp_quote("HRESULT WINAPI HlinkCreateFromData(IDataObject*, IHlinkSite*, DWORD dwSiteData, IUnknown*, REFIID, void**);")
00029 cpp_quote("HRESULT WINAPI HlinkCreateExtensionServices(LPCWSTR, HWND, LPCWSTR, LPCWSTR, IUnknown*, REFIID, void**);")
00030 cpp_quote("HRESULT WINAPI HlinkQueryCreateFromData(IDataObject*);")
00031 cpp_quote("HRESULT WINAPI HlinkClone(IHlink*, REFIID, IHlinkSite*, DWORD, void **);")
00032 cpp_quote("HRESULT WINAPI HlinkCreateBrowseContext(IUnknown*, REFIID, void **);")
00033 cpp_quote("HRESULT WINAPI HlinkNavigateToStringReference(LPCWSTR, LPCWSTR, IHlinkSite*, DWORD, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
00034 cpp_quote("HRESULT WINAPI HlinkNavigate(IHlink*, IHlinkFrame*, DWORD, LPBC, IBindStatusCallback*, IHlinkBrowseContext*);")
00035 cpp_quote("HRESULT WINAPI HlinkOnNavigate(IHlinkFrame*, IHlinkBrowseContext*, DWORD, IMoniker*, LPCWSTR, LPCWSTR, ULONG*);")
00036 cpp_quote("HRESULT WINAPI HlinkIsShortcut(LPCWSTR);")
00037 cpp_quote("HRESULT WINAPI HlinkTranslateURL(LPCWSTR,DWORD,LPWSTR*);")
00038 cpp_quote("HRESULT WINAPI HlinkParseDisplayName(LPBC,LPCWSTR,BOOL,ULONG*,IMoniker**);")
00039 cpp_quote("HRESULT WINAPI HlinkResolveMonikerForData(LPMONIKER,DWORD,LPBC,ULONG,FORMATETC*,IBindStatusCallback*,LPMONIKER);")
00040 
00041 typedef enum _HLSR_NOREDEF10 {
00042     HLSR_HOME,
00043     HLSR_SEARCHPAGE,
00044     HLSR_HISTORYFOLDER
00045 } HLSR;
00046 
00047 cpp_quote("HRESULT WINAPI HlinkSetSpecialReference(ULONG uReference, LPCWSTR pwzReference);")
00048 cpp_quote("HRESULT WINAPI HlinkGetSpecialReference(ULONG uReference, LPWSTR *ppwzReference);")
00049 
00050 cpp_quote("#define SID_SHlinkFrame IID_IHlinkFrame")
00051 
00052 /*****************************************************************************
00053  *    IHlink interface
00054  */
00055 [
00056     object,
00057     uuid(79EAC9C3-BAF9-11CE-8C82-00AA004BA90B),
00058     pointer_default(unique)
00059 ]
00060 interface IHlink: IUnknown
00061 {
00062     typedef [unique] IHlink *LPHLINK;
00063 
00064     typedef enum {
00065         HLNF_INTERNALJUMP          = 0x00000001,
00066         HLNF_OPENINNEWWINDOW       = 0x00000002,
00067         HLNF_NAVIGATINGBACK        = 0x00000004,
00068         HLNF_NAVIGATINGFORWARD     = 0x00000008,
00069         HLNF_NAVIGATINGTOSTACKITEM = 0x00000010,
00070         HLNF_CREATENOHISTORY       = 0x00000020
00071     } HLNF;
00072 
00073     typedef enum {
00074         HLINKGETREF_DEFAULT  = 0,
00075         HLINKGETREF_ABSOLUTE = 1,
00076         HLINKGETREF_RELATIVE = 2,
00077     } HLINKGETREF;
00078 
00079     typedef enum {
00080         HLFNAMEF_DEFAULT          = 0x00000000,
00081         HLFNAMEF_TRYCACHE         = 0x00000001,
00082         HLFNAMEF_TRYPRETTYTARGET  = 0x00000002,
00083         HLFNAMEF_TRYFULLTARGET    = 0x00000004,
00084         HLFNAMEF_TRYWIN95SHORTCUT = 0x00000008
00085     } HLFNAMEF;
00086 
00087     typedef enum {
00088         HLINKMISC_RELATIVE = 0x00000001,
00089     } HLINKMISC;
00090 
00091     typedef enum {
00092         HLINKSETF_TARGET   = 0x00000001,
00093         HLINKSETF_LOCATION = 0x00000002
00094     } HLINKSETF;
00095 
00096     HRESULT SetHlinkSite(
00097         [in, unique] IHlinkSite *pihlSite,
00098         [in] DWORD dwSiteData);
00099 
00100     HRESULT GetHlinkSite(
00101         [out] IHlinkSite **ppihlSite,
00102         [out] DWORD *pdwSiteData);
00103 
00104     HRESULT SetMonikerReference(
00105         [in] DWORD grfHLSETF,
00106         [in, unique] IMoniker *pimkTarget,
00107         [in, unique] LPCWSTR pwzLocation);
00108 
00109     HRESULT GetMonikerReference(
00110         [in]  DWORD dwWhichRef,
00111         [out] IMoniker **ppimkTarget,
00112         [out] LPWSTR *ppwzLocation);
00113 
00114     HRESULT SetStringReference(
00115         [in] DWORD grfHLSETF,
00116         [in, unique] LPCWSTR pwzTarget,
00117         [in, unique] LPCWSTR pwzLocation);
00118 
00119     HRESULT GetStringReference(
00120         [in]  DWORD dwWhichRef,
00121         [out] LPWSTR *ppwzTarget,
00122         [out] LPWSTR *ppwzLocation);
00123 
00124     HRESULT SetFriendlyName(
00125         [in, unique] LPCWSTR pwzFriendlyName);
00126 
00127     HRESULT GetFriendlyName(
00128         [in]  DWORD grfHLFNAMEF,
00129         [out] LPWSTR *ppwzFriendlyName);
00130 
00131     HRESULT SetTargetFrameName(
00132         [in, unique] LPCWSTR pwzTargetFrameName);
00133 
00134     HRESULT GetTargetFrameName(
00135         [out] LPWSTR *ppwzTargetFrameName);
00136 
00137     HRESULT GetMiscStatus(
00138         [out] DWORD *pdwStatus);
00139 
00140     HRESULT Navigate(
00141         [in] DWORD grfHLNF,
00142         [in, unique] LPBC pibc,
00143         [in, unique] IBindStatusCallback *pibsc,
00144         [in, unique] IHlinkBrowseContext *pihlbc);
00145 
00146     HRESULT SetAdditionalParams(
00147         [in, unique] LPCWSTR pwzAdditionalParams);
00148 
00149     HRESULT GetAdditionalParams(
00150         [out] LPWSTR *ppwzAdditionalParams);
00151 }
00152 
00153 /*****************************************************************************
00154  *    IHlinkSite interface
00155  */
00156 [
00157     object,
00158     uuid(79EAC9C2-BAF9-11CE-8C82-00AA004BA90B),
00159     pointer_default(unique)
00160 ]
00161 interface IHlinkSite: IUnknown
00162 {
00163     typedef [unique] IHlinkSite *LPHLINKSITE;
00164 
00165     typedef enum {
00166         HLINKWHICHMK_CONTAINER = 1,
00167         HLINKWHICHMK_BASE      = 2,
00168     } HLINKWHICHMK;
00169 
00170     HRESULT QueryService(
00171         [in] DWORD dwSiteData,
00172         [in] REFGUID guidService,
00173         [in] REFIID riid,
00174         [out, iid_is(riid)] IUnknown **ppiunk);
00175 
00176     HRESULT GetMoniker(
00177         [in] DWORD dwSiteData,
00178         [in] DWORD dwAssign,
00179         [in] DWORD dwWhich,
00180         [out] IMoniker **ppimk);
00181 
00182     HRESULT ReadyToNavigate(
00183         [in] DWORD dwSiteData,
00184         [in] DWORD dwReserved);
00185 
00186     HRESULT OnNavigationComplete(
00187         [in] DWORD dwSiteData,
00188         [in] DWORD dwreserved,
00189         [in] HRESULT hrError,
00190         [in, unique] LPCWSTR pwzError);
00191 }
00192 
00193 /*****************************************************************************
00194  *    IEnumHLITEM interface
00195  */
00196 [
00197     local,
00198     object,
00199     uuid(79EAC9C6-BAF9-11CE-8C82-00AA004BA90B),
00200     pointer_default(unique)
00201 ]
00202 interface IEnumHLITEM : IUnknown
00203 {
00204     typedef [unique] IEnumHLITEM *LPENUMHLITEM;
00205 
00206     typedef struct tagHLITEM {
00207         ULONG  uHLID;
00208         LPWSTR pwzFriendlyName;
00209     } HLITEM;
00210     typedef [unique] HLITEM *LPHLITEM;
00211 
00212     HRESULT Next(
00213         [in]  ULONG celt,
00214         [out] HLITEM *rgelt,
00215         [out] ULONG *pceltFetched);
00216 
00217     HRESULT Skip(
00218         [in] ULONG celt);
00219 
00220     HRESULT Reset();
00221 
00222     HRESULT Clone(
00223         [out] IEnumHLITEM **ppienumhlitem);
00224 }
00225 
00226 /*****************************************************************************
00227  *    IHlinkBrowseContext interface
00228  */
00229 [
00230     local,
00231     object,
00232     uuid(79EAC9C7-BAF9-11CE-8C82-00AA004BA90B),
00233     pointer_default(unique)
00234 ]
00235 interface IHlinkBrowseContext : IUnknown
00236 {
00237     typedef [unique] IHlinkBrowseContext *LPHLINKBROWSECONTEXT;
00238 
00239     enum {
00240         HLTB_DOCKEDLEFT    = 0,
00241         HLTB_DOCKEDTOP     = 1,
00242         HLTB_DOCKEDRIGHT   = 2,
00243         HLTB_DOCKEDBOTTOM  = 3,
00244         HLTB_FLOATING      = 4
00245     };
00246 
00247     typedef struct _tagHLTBINFO {
00248         ULONG uDockType;
00249         RECT  rcTbPos;
00250     } HLTBINFO;
00251 
00252     enum {
00253         HLBWIF_HASFRAMEWNDINFO   = 0x00000001,
00254         HLBWIF_HASDOCWNDINFO     = 0x00000002,
00255         HLBWIF_FRAMEWNDMAXIMIZED = 0x00000004,
00256         HLBWIF_DOCWNDMAXIMIZED   = 0x00000008,
00257         HLBWIF_HASWEBTOOLBARINFO = 0x00000010,
00258         HLBWIF_WEBTOOLBARHIDDEN  = 0x00000020
00259     };
00260 
00261     typedef struct _tagHLBWINFO {
00262         ULONG    cbSize;
00263         DWORD    grfHLBWIF;
00264         RECT     rcFramePos;
00265         RECT     rcDocPos;
00266         HLTBINFO hltbinfo;
00267     } HLBWINFO;
00268 
00269     typedef [unique] HLBWINFO *LPHLBWINFO;
00270 
00271     enum {
00272         HLID_INVALID     = 0x00000000,
00273         HLID_PREVIOUS    = 0xFFFFFFFF,
00274         HLID_NEXT        = 0xFFFFFFFE,
00275         HLID_CURRENT     = 0xFFFFFFFD,
00276         HLID_STACKBOTTOM = 0xFFFFFFFC,
00277         HLID_STACKTOP    = 0xFFFFFFFB
00278     };
00279 
00280     enum {
00281         HLQF_ISVALID   = 0x00000001,
00282         HLQF_ISCURRENT = 0x00000002
00283     };
00284 
00285     HRESULT Register(
00286         [in] DWORD reserved,
00287         [in, unique] IUnknown *piunk,
00288         [in, unique] IMoniker *pimk,
00289         [out] DWORD *pdwRegister);
00290 
00291 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
00292 cpp_quote("#undef GetObject")
00293 cpp_quote("#endif")
00294 
00295     HRESULT GetObject(
00296         [in, unique] IMoniker *pimk,
00297         [in] BOOL fBindIfRootRegistered,
00298         [out] IUnknown **ppiunk);
00299 
00300     HRESULT Revoke(
00301         [in] DWORD dwRegister);
00302 
00303     HRESULT SetBrowseWindowInfo(
00304         [in, unique] HLBWINFO *phlbwi);
00305 
00306     HRESULT GetBrowseWindowInfo(
00307         [out] HLBWINFO *phlbwi);
00308 
00309     HRESULT SetInitialHlink(
00310         [in, unique] IMoniker * pimkTarget,
00311         [in, unique] LPCWSTR pwzLocation,
00312         [in, unique] LPCWSTR pwzFriendlyName);
00313 
00314     HRESULT OnNavigateHlink(
00315         [in] DWORD grfHLNF,
00316         [in, unique] IMoniker *pimkTarget,
00317         [in, unique] LPCWSTR pwzLocation,
00318         [in, unique] LPCWSTR pwzFriendlyName,
00319         [out] ULONG *puHLID);
00320 
00321     HRESULT UpdateHlink(
00322         [in] ULONG uHLID,
00323         [in, unique] IMoniker *pimkTarget,
00324         [in, unique] LPCWSTR pwzLocation,
00325         [in, unique] LPCWSTR pwzFriendlyName);
00326 
00327     HRESULT EnumNavigationStack(
00328         [in] DWORD dwReserved,
00329         [in] DWORD grfHLFNAMEF,
00330         [out] IEnumHLITEM **ppienumhlitem);
00331 
00332     HRESULT QueryHlink(
00333         [in] DWORD grfHLQF,
00334         [in] ULONG uHLID);
00335 
00336     HRESULT GetHlink(
00337         [in] ULONG uHLID,
00338         [out] IHlink **ppihl);
00339 
00340     HRESULT SetCurrentHlink(
00341         [in] ULONG uHLID);
00342 
00343     HRESULT Clone(
00344         [in, unique] IUnknown *piunkOuter,
00345         [in] REFIID riid,
00346         [out, iid_is(riid)] IUnknown **ppiunkObj);
00347 
00348     HRESULT Close(
00349         [in] DWORD reserved);
00350 }
00351 
00352 
00353 /*****************************************************************************
00354  *    IHlinkTarget interface
00355  */
00356 [
00357     object,
00358     uuid(79EAC9C4-BAF9-11CE-8C82-00AA004BA90B),
00359     pointer_default(unique)
00360 ]
00361 interface IHlinkTarget : IUnknown
00362 {
00363     typedef [unique] IHlinkTarget *LPHLINKTARGET;
00364 
00365     HRESULT SetBrowseContext(
00366         [in, unique] IHlinkBrowseContext *pihlbc);
00367 
00368     HRESULT GetBrowseContext(
00369         [out] IHlinkBrowseContext **ppihlbc);
00370 
00371     HRESULT Navigate(
00372         [in] DWORD grfHLNF,
00373         [in, unique] LPCWSTR pwzJumpLocation);
00374 
00375     HRESULT GetMoniker(
00376         [in,unique]  LPCWSTR pwzLocation,
00377         [in] DWORD dwAssign,
00378         [out] IMoniker **ppimkLocation);
00379 
00380     HRESULT GetFriendlyName(
00381         [in,unique]  LPCWSTR pwzLocation,
00382         [out] LPWSTR *ppwzFriendlyName);
00383 }
00384 
00385 /*****************************************************************************
00386  *    IHlinkFrame interface
00387  */
00388 [
00389     object,
00390     uuid(79eac9c5-baf9-11ce-8c82-00aa004ba90b),
00391     pointer_default(unique)
00392 ]
00393 
00394 interface IHlinkFrame : IUnknown
00395 {
00396     typedef IHlinkFrame *LPHLINKFRAME;
00397 
00398     HRESULT SetBrowseContext( 
00399         [in, unique] IHlinkBrowseContext * pihlbc);
00400     HRESULT GetBrowseContext( 
00401         [out] IHlinkBrowseContext ** ppihlbc);
00402     HRESULT Navigate( 
00403         [in] DWORD grfHLNF, 
00404         [in, unique] LPBC pbc, 
00405         [in, unique] IBindStatusCallback *pibsc, 
00406         [in, unique] IHlink *pihlNavigate);
00407     HRESULT OnNavigate( 
00408         [in] DWORD grfHLNF, 
00409         [in, unique] IMoniker *pimkTarget, 
00410         [in, unique] LPCWSTR pwzLocation, 
00411         [in, unique] LPCWSTR pwzFriendlyName, 
00412         [in] DWORD dwreserved);
00413     HRESULT UpdateHlink( 
00414         [in] ULONG uHLID, 
00415         [in, unique] IMoniker *pimkTarget, 
00416         [in, unique] LPCWSTR pwzLocation, 
00417         [in, unique] LPCWSTR pwzFriendlyName);
00418 }
00419 
00420 /*****************************************************************************
00421  *    IExtensionServices interface
00422  */
00423 [
00424     object,
00425     uuid(79eac9cb-baf9-11ce-8c82-00aa004ba90b),
00426     pointer_default(unique)
00427 ]
00428 
00429 interface IExtensionServices: IUnknown
00430 {
00431     typedef IExtensionServices *LPEXTENSIONSERVICES;
00432 
00433     HRESULT SetAdditionalHeaders(
00434         [in] LPCWSTR pwzAdditionalHeaders);
00435 
00436     HRESULT SetAuthenticateData(
00437         [in] HWND phwnd,
00438         [in] LPCWSTR pwzUsername,
00439         [in] LPCWSTR pwzPassword);
00440 }

Generated on Sun May 27 2012 04:31:31 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.