2 * Copyright 2006 Jacek Caban for CodeWeavers
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.
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.
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
24 cpp_quote
("#define STATURL_QUERYFLAG_ISCACHED 0x010000")
25 cpp_quote
("#define STATURL_QUERYFLAG_NOURL 0x020000")
26 cpp_quote
("#define STATURL_QUERYFLAG_NOTITLE 0x040000")
27 cpp_quote
("#define STATURL_QUERYFLAG_TOPLEVEL 0x080000")
29 cpp_quote
("#define STATURLFLAG_ISCACHED 0x0001")
30 cpp_quote
("#define STATURLFLAG_ISTOPLEVEL 0x0002")
32 typedef enum _ADDURL_FLAG
35 ADDURL_ADDTOHISTORYANDCACHE
= 0,
36 ADDURL_ADDTOCACHE
= 1,
37 ADDURL_Max
= 0x7fffffff
40 /*****************************************************************************
41 * IEnumSTATURL interface
45 uuid(3c374a42
-bae4
-11cf
-bf7d
-00aa006946ee
),
46 pointer_default(unique)
48 interface IEnumSTATURL
: IUnknown
50 typedef [unique] IEnumSTATURL
*LPENUMSTATURL
;
52 typedef struct _STATURL
57 FILETIME ftLastVisited
;
58 FILETIME ftLastUpdated
;
61 } STATURL
, *LPSTATURL
;
65 [in, out] LPSTATURL rgelt
,
66 [in, out] ULONG
*pceltFetched
);
68 HRESULT Skip
([in] ULONG celt
);
70 HRESULT Clone
([out] IEnumSTATURL
**ppenum
);
73 [in] LPCOLESTR poszFilter
,
77 /*****************************************************************************
78 * IUrlHistoryStg interface
82 uuid(3c374a41
-bae4
-11cf
-bf7d
-00aa006946ee
),
83 pointer_default(unique)
85 interface IUrlHistoryStg
: IUnknown
87 typedef [unique] IUrlHistoryStg
*LPURLHISTORYSTG
;
90 [in] LPCOLESTR pocsUrl
,
91 [in, unique] LPCOLESTR pocsTitle
,
95 [in] LPCOLESTR pocsUrl
,
99 [in] LPCOLESTR pocsUrl
,
101 [in, out, unique] LPSTATURL lpSTATURL
);
103 HRESULT BindToObject
(
104 [in] LPCOLESTR pocsUrl
,
106 [out, iid_is(riid
)] void **ppvOut
);
109 [out] IEnumSTATURL
**ppEnum
);
112 /*****************************************************************************
113 * IUrlHistoryStg2 interface
117 uuid(afa0dc11
-c313
-11d0
-831a
-00c04fd5ae38
),
118 pointer_default(unique)
120 interface IUrlHistoryStg2
: IUrlHistoryStg
122 typedef [unique] IUrlHistoryStg2
*LPURLHISTORYSTG2
;
124 HRESULT AddUrlAndNotify
(
125 [in] LPCOLESTR pocsUrl
,
126 [in,unique] LPCOLESTR pocsTitle
,
128 [in] BOOL fWriteHistory
,
129 [in] IOleCommandTarget
*poctNotify
,
130 [in, unique] IUnknown
*punkISFolder
);
132 HRESULT ClearHistory
();
135 /*****************************************************************************
136 * IUrlHistoryNotify interface
140 uuid(bc40bec1
-c493
-11d0
-831b
-00C04fd5ae38
),
141 pointer_default(unique)
143 interface IUrlHistoryNotify
: IOleCommandTarget
145 typedef [unique] IUrlHistoryNotify
*LPURLHISTORYNOTIFY
;