libwine: Add thumb support.
[wine/multimedia.git] / include / urlhist.idl
blob7d059011b304c1ac9b4b6b2733e22422506ba8ee
1 /*
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
19 import "objidl.idl";
20 import "oleidl.idl";
21 import "oaidl.idl";
22 import "docobj.idl";
24 typedef enum _ADDURL_FLAG
26 ADDURL_FIRST = 0,
27 ADDURL_ADDTOHISTORYANDCACHE = 0,
28 ADDURL_ADDTOCACHE = 1,
29 ADDURL_Max = 0x7fffffff
30 } ADDURL_FLAG;
32 /*****************************************************************************
33 * IEnumSTATURL interface
36 object,
37 uuid(3c374a42-bae4-11cf-bf7d-00aa006946ee),
38 pointer_default(unique)
40 interface IEnumSTATURL : IUnknown
42 typedef [unique] IEnumSTATURL *LPENUMSTATURL;
44 typedef struct _STATURL
46 DWORD cbSize;
47 LPWSTR pwcsUrl;
48 LPWSTR pwcsTitle;
49 FILETIME ftLastVisited;
50 FILETIME ftLastUpdated;
51 FILETIME ftExpires;
52 DWORD dwFlags;
53 } STATURL, *LPSTATURL;
55 HRESULT Next(
56 [in] ULONG celt,
57 [in, out] LPSTATURL rgelt,
58 [in, out] ULONG *pceltFetched);
60 HRESULT Skip([in] ULONG celt);
61 HRESULT Reset();
62 HRESULT Clone([out] IEnumSTATURL **ppenum);
64 HRESULT SetFilter(
65 [in] LPCOLESTR poszFilter,
66 [in] DWORD dwFlags);
69 /*****************************************************************************
70 * IUrlHistoryStg interface
73 object,
74 uuid(3c374a41-bae4-11cf-bf7d-00aa006946ee),
75 pointer_default(unique)
77 interface IUrlHistoryStg : IUnknown
79 typedef [unique] IUrlHistoryStg *LPURLHISTORYSTG;
81 HRESULT AddUrl(
82 [in] LPCOLESTR pocsUrl,
83 [in, unique] LPCOLESTR pocsTitle,
84 [in] DWORD dwFlags);
86 HRESULT DeleteUrl(
87 [in] LPCOLESTR pocsUrl,
88 [in] DWORD dwFlags);
90 HRESULT QueryUrl(
91 [in] LPCOLESTR pocsUrl,
92 [in] DWORD dwFlags,
93 [in, out, unique] LPSTATURL lpSTATURL);
95 HRESULT BindToObject(
96 [in] LPCOLESTR pocsUrl,
97 [in] REFIID riid,
98 [out, iid_is(riid)] void **ppvOut);
100 HRESULT EnumUrls(
101 [out] IEnumSTATURL **ppEnum);
104 /*****************************************************************************
105 * IUrlHistoryStg2 interface
108 object,
109 uuid(afa0dc11-c313-11d0-831a-00c04fd5ae38),
110 pointer_default(unique)
112 interface IUrlHistoryStg2 : IUrlHistoryStg
114 typedef [unique] IUrlHistoryStg2 *LPURLHISTORYSTG2;
116 HRESULT AddUrlAndNotify(
117 [in] LPCOLESTR pocsUrl,
118 [in,unique] LPCOLESTR pocsTitle,
119 [in] DWORD dwFlags,
120 [in] BOOL fWriteHistory,
121 [in] IOleCommandTarget *poctNotify,
122 [in, unique] IUnknown *punkISFolder);
124 HRESULT ClearHistory();
127 /*****************************************************************************
128 * IUrlHistoryNotify interface
131 object,
132 uuid(bc40bec1-c493-11d0-831b-00C04fd5ae38),
133 pointer_default(unique)
135 interface IUrlHistoryNotify : IOleCommandTarget
137 typedef [unique] IUrlHistoryNotify *LPURLHISTORYNOTIFY;