riched20/tests: Use the available ARRAY_SIZE() macro.
[wine.git] / include / urlhist.idl
blob955d7ff31c9dc032a3d4ce2f889ad55fc8394cc7
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 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
34 ADDURL_FIRST = 0,
35 ADDURL_ADDTOHISTORYANDCACHE = 0,
36 ADDURL_ADDTOCACHE = 1,
37 ADDURL_Max = 0x7fffffff
38 } ADDURL_FLAG;
40 /*****************************************************************************
41 * IEnumSTATURL interface
44 object,
45 uuid(3c374a42-bae4-11cf-bf7d-00aa006946ee),
46 pointer_default(unique)
48 interface IEnumSTATURL : IUnknown
50 typedef [unique] IEnumSTATURL *LPENUMSTATURL;
52 typedef struct _STATURL
54 DWORD cbSize;
55 LPWSTR pwcsUrl;
56 LPWSTR pwcsTitle;
57 FILETIME ftLastVisited;
58 FILETIME ftLastUpdated;
59 FILETIME ftExpires;
60 DWORD dwFlags;
61 } STATURL, *LPSTATURL;
63 HRESULT Next(
64 [in] ULONG celt,
65 [in, out] LPSTATURL rgelt,
66 [in, out] ULONG *pceltFetched);
68 HRESULT Skip([in] ULONG celt);
69 HRESULT Reset();
70 HRESULT Clone([out] IEnumSTATURL **ppenum);
72 HRESULT SetFilter(
73 [in] LPCOLESTR poszFilter,
74 [in] DWORD dwFlags);
77 /*****************************************************************************
78 * IUrlHistoryStg interface
81 object,
82 uuid(3c374a41-bae4-11cf-bf7d-00aa006946ee),
83 pointer_default(unique)
85 interface IUrlHistoryStg : IUnknown
87 typedef [unique] IUrlHistoryStg *LPURLHISTORYSTG;
89 HRESULT AddUrl(
90 [in] LPCOLESTR pocsUrl,
91 [in, unique] LPCOLESTR pocsTitle,
92 [in] DWORD dwFlags);
94 HRESULT DeleteUrl(
95 [in] LPCOLESTR pocsUrl,
96 [in] DWORD dwFlags);
98 HRESULT QueryUrl(
99 [in] LPCOLESTR pocsUrl,
100 [in] DWORD dwFlags,
101 [in, out, unique] LPSTATURL lpSTATURL);
103 HRESULT BindToObject(
104 [in] LPCOLESTR pocsUrl,
105 [in] REFIID riid,
106 [out, iid_is(riid)] void **ppvOut);
108 HRESULT EnumUrls(
109 [out] IEnumSTATURL **ppEnum);
112 /*****************************************************************************
113 * IUrlHistoryStg2 interface
116 object,
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,
127 [in] DWORD dwFlags,
128 [in] BOOL fWriteHistory,
129 [in] IOleCommandTarget *poctNotify,
130 [in, unique] IUnknown *punkISFolder);
132 HRESULT ClearHistory();
135 /*****************************************************************************
136 * IUrlHistoryNotify interface
139 object,
140 uuid(bc40bec1-c493-11d0-831b-00C04fd5ae38),
141 pointer_default(unique)
143 interface IUrlHistoryNotify : IOleCommandTarget
145 typedef [unique] IUrlHistoryNotify *LPURLHISTORYNOTIFY;