1 | /*
|
---|
2 | * SHLWAPI.DLL functions
|
---|
3 | *
|
---|
4 | * Copyright (C) 2000 Juergen Schmied
|
---|
5 | *
|
---|
6 | * This library is free software; you can redistribute it and/or
|
---|
7 | * modify it under the terms of the GNU Lesser General Public
|
---|
8 | * License as published by the Free Software Foundation; either
|
---|
9 | * version 2.1 of the License, or (at your option) any later version.
|
---|
10 | *
|
---|
11 | * This library is distributed in the hope that it will be useful,
|
---|
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
---|
14 | * Lesser General Public License for more details.
|
---|
15 | *
|
---|
16 | * You should have received a copy of the GNU Lesser General Public
|
---|
17 | * License along with this library; if not, write to the Free Software
|
---|
18 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
---|
19 | */
|
---|
20 |
|
---|
21 | /*
|
---|
22 | * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
23 | * other than GPL or LGPL is available it will apply instead, Sun elects to use only
|
---|
24 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
25 | * a choice of LGPL license versions is made available with the language indicating
|
---|
26 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
27 | * of the LGPL is applied is otherwise unspecified.
|
---|
28 | */
|
---|
29 |
|
---|
30 | #ifndef __WINE_SHLWAPI_H
|
---|
31 | #define __WINE_SHLWAPI_H
|
---|
32 |
|
---|
33 | /* FIXME: #include <specstrings.h> */
|
---|
34 | #include <objbase.h>
|
---|
35 | #include <shtypes.h>
|
---|
36 |
|
---|
37 | #ifdef __cplusplus
|
---|
38 | extern "C" {
|
---|
39 | #endif /* defined(__cplusplus) */
|
---|
40 |
|
---|
41 | #include <pshpack8.h>
|
---|
42 |
|
---|
43 | #ifndef NO_SHLWAPI_REG
|
---|
44 |
|
---|
45 | /* Registry functions */
|
---|
46 |
|
---|
47 | DWORD WINAPI SHDeleteEmptyKeyA(HKEY,LPCSTR);
|
---|
48 | DWORD WINAPI SHDeleteEmptyKeyW(HKEY,LPCWSTR);
|
---|
49 | #define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
|
---|
50 |
|
---|
51 | DWORD WINAPI SHDeleteKeyA(HKEY,LPCSTR);
|
---|
52 | DWORD WINAPI SHDeleteKeyW(HKEY,LPCWSTR);
|
---|
53 | #define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
|
---|
54 |
|
---|
55 | DWORD WINAPI SHDeleteValueA(HKEY,LPCSTR,LPCSTR);
|
---|
56 | DWORD WINAPI SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR);
|
---|
57 | #define SHDeleteValue WINELIB_NAME_AW(SHDeleteValue)
|
---|
58 |
|
---|
59 | DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
|
---|
60 | DWORD WINAPI SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD);
|
---|
61 | #define SHGetValue WINELIB_NAME_AW(SHGetValue)
|
---|
62 |
|
---|
63 | DWORD WINAPI SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
|
---|
64 | DWORD WINAPI SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
|
---|
65 | #define SHSetValue WINELIB_NAME_AW(SHSetValue)
|
---|
66 |
|
---|
67 | DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
|
---|
68 | DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
|
---|
69 | #define SHQueryValueEx WINELIB_NAME_AW(SHQueryValueEx)
|
---|
70 |
|
---|
71 | LONG WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD);
|
---|
72 | LONG WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD);
|
---|
73 | #define SHEnumKeyEx WINELIB_NAME_AW(SHEnumKeyEx)
|
---|
74 |
|
---|
75 | LONG WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
|
---|
76 | LONG WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
|
---|
77 | #define SHEnumValue WINELIB_NAME_AW(SHEnumValue)
|
---|
78 |
|
---|
79 | LONG WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
80 | LONG WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
|
---|
81 | #define SHQueryInfoKey WINELIB_NAME_AW(SHQueryInfoKey)
|
---|
82 |
|
---|
83 | DWORD WINAPI SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD);
|
---|
84 | DWORD WINAPI SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
|
---|
85 | #define SHRegGetPath WINELIB_NAME_AW(SHRegGetPath)
|
---|
86 |
|
---|
87 | DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD);
|
---|
88 | DWORD WINAPI SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
|
---|
89 | #define SHRegSetPath WINELIB_NAME_AW(SHRegSetPath)
|
---|
90 |
|
---|
91 | DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
|
---|
92 | DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
|
---|
93 | #define SHCopyKey WINELIB_NAME_AW(SHCopyKey)
|
---|
94 |
|
---|
95 | HKEY WINAPI SHRegDuplicateHKey(HKEY);
|
---|
96 |
|
---|
97 | /* SHRegGetValue flags */
|
---|
98 | typedef INT SRRF;
|
---|
99 |
|
---|
100 | #define SRRF_RT_REG_NONE 0x1
|
---|
101 | #define SRRF_RT_REG_SZ 0x2
|
---|
102 | #define SRRF_RT_REG_EXPAND_SZ 0x4
|
---|
103 | #define SRRF_RT_REG_BINARY 0x8
|
---|
104 | #define SRRF_RT_REG_DWORD 0x10
|
---|
105 | #define SRRF_RT_REG_MULTI_SZ 0x20
|
---|
106 | #define SRRF_RT_REG_QWORD 0x40
|
---|
107 |
|
---|
108 | #define SRRF_RT_DWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_DWORD)
|
---|
109 | #define SRRF_RT_QWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_QWORD)
|
---|
110 | #define SRRF_RT_ANY 0xffff
|
---|
111 |
|
---|
112 | #define SRRF_RM_ANY 0
|
---|
113 | #define SRRF_RM_NORMAL 0x10000
|
---|
114 | #define SRRF_RM_SAFE 0x20000
|
---|
115 | #define SRRF_RM_SAFENETWORK 0x40000
|
---|
116 |
|
---|
117 | #define SRRF_NOEXPAND 0x10000000
|
---|
118 | #define SRRF_ZEROONFAILURE 0x20000000
|
---|
119 | #define SRRF_NOVIRT 0x40000000
|
---|
120 |
|
---|
121 | LSTATUS WINAPI SHRegGetValueA(HKEY,LPCSTR,LPCSTR,SRRF,LPDWORD,LPVOID,LPDWORD);
|
---|
122 | LSTATUS WINAPI SHRegGetValueW(HKEY,LPCWSTR,LPCWSTR,SRRF,LPDWORD,LPVOID,LPDWORD);
|
---|
123 | #define SHRegGetValue WINELIB_NAME_AW(SHRegGetValue)
|
---|
124 |
|
---|
125 | /* Undocumented registry functions */
|
---|
126 |
|
---|
127 | DWORD WINAPI SHDeleteOrphanKeyA(HKEY,LPCSTR);
|
---|
128 | DWORD WINAPI SHDeleteOrphanKeyW(HKEY,LPCWSTR);
|
---|
129 | #define SHDeleteOrphanKey WINELIB_NAME_AW(SHDeleteOrphanKey)
|
---|
130 |
|
---|
131 |
|
---|
132 | /* User registry functions */
|
---|
133 |
|
---|
134 | typedef enum
|
---|
135 | {
|
---|
136 | SHREGDEL_DEFAULT = 0,
|
---|
137 | SHREGDEL_HKCU = 0x1,
|
---|
138 | SHREGDEL_HKLM = 0x10,
|
---|
139 | SHREGDEL_BOTH = SHREGDEL_HKLM | SHREGDEL_HKCU
|
---|
140 | } SHREGDEL_FLAGS;
|
---|
141 |
|
---|
142 | typedef enum
|
---|
143 | {
|
---|
144 | SHREGENUM_DEFAULT = 0,
|
---|
145 | SHREGENUM_HKCU = 0x1,
|
---|
146 | SHREGENUM_HKLM = 0x10,
|
---|
147 | SHREGENUM_BOTH = SHREGENUM_HKLM | SHREGENUM_HKCU
|
---|
148 | } SHREGENUM_FLAGS;
|
---|
149 |
|
---|
150 | #define SHREGSET_HKCU 0x1 /* Apply to HKCU if empty */
|
---|
151 | #define SHREGSET_FORCE_HKCU 0x2 /* Always apply to HKCU */
|
---|
152 | #define SHREGSET_HKLM 0x4 /* Apply to HKLM if empty */
|
---|
153 | #define SHREGSET_FORCE_HKLM 0x8 /* Always apply to HKLM */
|
---|
154 | #define SHREGSET_DEFAULT (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)
|
---|
155 |
|
---|
156 | typedef HANDLE HUSKEY;
|
---|
157 | typedef HUSKEY *PHUSKEY;
|
---|
158 |
|
---|
159 | LONG WINAPI SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
|
---|
160 | LONG WINAPI SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
|
---|
161 | #define SHRegCreateUSKey WINELIB_NAME_AW(SHRegCreateUSKey)
|
---|
162 |
|
---|
163 | LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
|
---|
164 | LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
|
---|
165 | #define SHRegOpenUSKey WINELIB_NAME_AW(SHRegOpenUSKey)
|
---|
166 |
|
---|
167 | LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,
|
---|
168 | BOOL,LPVOID,DWORD);
|
---|
169 | LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,
|
---|
170 | BOOL,LPVOID,DWORD);
|
---|
171 | #define SHRegQueryUSValue WINELIB_NAME_AW(SHRegQueryUSValue)
|
---|
172 |
|
---|
173 | LONG WINAPI SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
|
---|
174 | LONG WINAPI SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
|
---|
175 | #define SHRegWriteUSValue WINELIB_NAME_AW(SHRegWriteUSValue)
|
---|
176 |
|
---|
177 | LONG WINAPI SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
|
---|
178 | LONG WINAPI SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
|
---|
179 | #define SHRegDeleteUSValue WINELIB_NAME_AW(SHRegDeleteUSValue)
|
---|
180 |
|
---|
181 | LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
|
---|
182 | LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
|
---|
183 | #define SHRegDeleteEmptyUSKey WINELIB_NAME_AW(SHRegDeleteEmptyUSKey)
|
---|
184 |
|
---|
185 | LONG WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS);
|
---|
186 | LONG WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS);
|
---|
187 | #define SHRegEnumUSKey WINELIB_NAME_AW(SHRegEnumUSKey)
|
---|
188 |
|
---|
189 | LONG WINAPI SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,
|
---|
190 | LPVOID,LPDWORD,SHREGENUM_FLAGS);
|
---|
191 | LONG WINAPI SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,
|
---|
192 | LPVOID,LPDWORD,SHREGENUM_FLAGS);
|
---|
193 | #define SHRegEnumUSValue WINELIB_NAME_AW(SHRegEnumUSValue)
|
---|
194 |
|
---|
195 | LONG WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,
|
---|
196 | LPDWORD,SHREGENUM_FLAGS);
|
---|
197 | LONG WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,
|
---|
198 | LPDWORD,SHREGENUM_FLAGS);
|
---|
199 | #define SHRegQueryInfoUSKey WINELIB_NAME_AW(SHRegQueryInfoUSKey)
|
---|
200 |
|
---|
201 | LONG WINAPI SHRegCloseUSKey(HUSKEY);
|
---|
202 |
|
---|
203 | LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,
|
---|
204 | BOOL,LPVOID,DWORD);
|
---|
205 | LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,
|
---|
206 | BOOL,LPVOID,DWORD);
|
---|
207 | #define SHRegGetUSValue WINELIB_NAME_AW(SHRegGetUSValue)
|
---|
208 |
|
---|
209 | LONG WINAPI SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
|
---|
210 | LONG WINAPI SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
|
---|
211 | #define SHRegSetUSValue WINELIB_NAME_AW(SHRegSetUSValue)
|
---|
212 |
|
---|
213 | BOOL WINAPI SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL);
|
---|
214 | BOOL WINAPI SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL);
|
---|
215 | #define SHRegGetBoolUSValue WINELIB_NAME_AW(SHRegGetBoolUSValue)
|
---|
216 |
|
---|
217 | int WINAPI SHRegGetIntW(HKEY,LPCWSTR,int);
|
---|
218 |
|
---|
219 | /* IQueryAssociation and helpers */
|
---|
220 | enum
|
---|
221 | {
|
---|
222 | ASSOCF_INIT_NOREMAPCLSID = 0x001, /* Don't map clsid->progid */
|
---|
223 | ASSOCF_INIT_BYEXENAME = 0x002, /* .exe name given */
|
---|
224 | ASSOCF_OPEN_BYEXENAME = 0x002, /* Synonym */
|
---|
225 | ASSOCF_INIT_DEFAULTTOSTAR = 0x004, /* Use * as base */
|
---|
226 | ASSOCF_INIT_DEFAULTTOFOLDER = 0x008, /* Use folder as base */
|
---|
227 | ASSOCF_NOUSERSETTINGS = 0x010, /* No HKCU reads */
|
---|
228 | ASSOCF_NOTRUNCATE = 0x020, /* Don't truncate return */
|
---|
229 | ASSOCF_VERIFY = 0x040, /* Verify data */
|
---|
230 | ASSOCF_REMAPRUNDLL = 0x080, /* Get rundll args */
|
---|
231 | ASSOCF_NOFIXUPS = 0x100, /* Don't fixup errors */
|
---|
232 | ASSOCF_IGNOREBASECLASS = 0x200, /* Don't read baseclass */
|
---|
233 | ASSOCF_INIT_IGNOREUNKNOWN = 0x400, /* Fail for unknown progid */
|
---|
234 | };
|
---|
235 |
|
---|
236 | typedef DWORD ASSOCF;
|
---|
237 |
|
---|
238 | typedef enum
|
---|
239 | {
|
---|
240 | ASSOCSTR_COMMAND = 1, /* Verb command */
|
---|
241 | ASSOCSTR_EXECUTABLE, /* .exe from command string */
|
---|
242 | ASSOCSTR_FRIENDLYDOCNAME, /* Friendly doc type name */
|
---|
243 | ASSOCSTR_FRIENDLYAPPNAME, /* Friendly .exe name */
|
---|
244 | ASSOCSTR_NOOPEN, /* noopen value */
|
---|
245 | ASSOCSTR_SHELLNEWVALUE, /* Use shellnew key */
|
---|
246 | ASSOCSTR_DDECOMMAND, /* DDE command template */
|
---|
247 | ASSOCSTR_DDEIFEXEC, /* DDE command for process create */
|
---|
248 | ASSOCSTR_DDEAPPLICATION, /* DDE app name */
|
---|
249 | ASSOCSTR_DDETOPIC, /* DDE topic */
|
---|
250 | ASSOCSTR_INFOTIP, /* Infotip */
|
---|
251 | ASSOCSTR_QUICKTIP, /* Quick infotip */
|
---|
252 | ASSOCSTR_TILEINFO, /* Properties for tileview */
|
---|
253 | ASSOCSTR_CONTENTTYPE, /* Mimetype */
|
---|
254 | ASSOCSTR_DEFAULTICON, /* Icon */
|
---|
255 | ASSOCSTR_SHELLEXTENSION, /* GUID for shell extension handler */
|
---|
256 | ASSOCSTR_MAX
|
---|
257 | } ASSOCSTR;
|
---|
258 |
|
---|
259 | typedef enum
|
---|
260 | {
|
---|
261 | ASSOCKEY_SHELLEXECCLASS = 1, /* Key for ShellExec */
|
---|
262 | ASSOCKEY_APP, /* Application */
|
---|
263 | ASSOCKEY_CLASS, /* Progid or class */
|
---|
264 | ASSOCKEY_BASECLASS, /* Base class */
|
---|
265 | ASSOCKEY_MAX
|
---|
266 | } ASSOCKEY;
|
---|
267 |
|
---|
268 | typedef enum
|
---|
269 | {
|
---|
270 | ASSOCDATA_MSIDESCRIPTOR = 1, /* Component descriptor */
|
---|
271 | ASSOCDATA_NOACTIVATEHANDLER, /* Don't activate */
|
---|
272 | ASSOCDATA_QUERYCLASSSTORE, /* Look in Class Store */
|
---|
273 | ASSOCDATA_HASPERUSERASSOC, /* Use user association */
|
---|
274 | ASSOCDATA_EDITFLAGS, /* Edit flags */
|
---|
275 | ASSOCDATA_VALUE, /* pszExtra is value */
|
---|
276 | ASSOCDATA_MAX
|
---|
277 | } ASSOCDATA;
|
---|
278 |
|
---|
279 | typedef enum
|
---|
280 | {
|
---|
281 | ASSOCENUM_NONE
|
---|
282 | } ASSOCENUM;
|
---|
283 |
|
---|
284 | typedef struct IQueryAssociations *LPQUERYASSOCIATIONS;
|
---|
285 |
|
---|
286 | #define INTERFACE IQueryAssociations
|
---|
287 | DECLARE_INTERFACE_(IQueryAssociations,IUnknown)
|
---|
288 | {
|
---|
289 | /*** IUnknown methods ***/
|
---|
290 | STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
|
---|
291 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
292 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
293 | /*** IQueryAssociations methods ***/
|
---|
294 | STDMETHOD(Init)(THIS_ ASSOCF flags, LPCWSTR pszAssoc, HKEY hkProgid, HWND hwnd) PURE;
|
---|
295 | STDMETHOD(GetString)(THIS_ ASSOCF flags, ASSOCSTR str, LPCWSTR pszExtra, LPWSTR pszOut, DWORD * pcchOut) PURE;
|
---|
296 | STDMETHOD(GetKey)(THIS_ ASSOCF flags, ASSOCKEY key, LPCWSTR pszExtra, HKEY * phkeyOut) PURE;
|
---|
297 | STDMETHOD(GetData)(THIS_ ASSOCF flags, ASSOCDATA data, LPCWSTR pszExtra, LPVOID pvOut, DWORD * pcbOut) PURE;
|
---|
298 | STDMETHOD(GetEnum)(THIS_ ASSOCF flags, ASSOCENUM assocenum, LPCWSTR pszExtra, REFIID riid, LPVOID * ppvOut) PURE;
|
---|
299 | };
|
---|
300 | #undef INTERFACE
|
---|
301 |
|
---|
302 | #if !defined(__cplusplus) || defined(CINTERFACE)
|
---|
303 | #define IQueryAssociations_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
---|
304 | #define IQueryAssociations_AddRef(p) (p)->lpVtbl->AddRef(p)
|
---|
305 | #define IQueryAssociations_Release(p) (p)->lpVtbl->Release(p)
|
---|
306 | #define IQueryAssociations_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
|
---|
307 | #define IQueryAssociations_GetString(p,a,b,c,d,e) (p)->lpVtbl->GetString(p,a,b,c,d,e)
|
---|
308 | #define IQueryAssociations_GetKey(p,a,b,c,d) (p)->lpVtbl->GetKey(p,a,b,c,d)
|
---|
309 | #define IQueryAssociations_GetData(p,a,b,c,d,e) (p)->lpVtbl->GetData(p,a,b,c,d,e)
|
---|
310 | #define IQueryAssociations_GetEnum(p,a,b,c,d,e) (p)->lpVtbl->GetEnum(p,a,b,c,d,e)
|
---|
311 | #endif
|
---|
312 |
|
---|
313 | HRESULT WINAPI AssocCreate(CLSID,REFIID,LPVOID*);
|
---|
314 |
|
---|
315 | HRESULT WINAPI AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,LPDWORD);
|
---|
316 | HRESULT WINAPI AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,LPDWORD);
|
---|
317 | #define AssocQueryString WINELIB_NAME_AW(AssocQueryString)
|
---|
318 |
|
---|
319 | HRESULT WINAPI AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,LPDWORD);
|
---|
320 | HRESULT WINAPI AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,LPDWORD);
|
---|
321 | #define AssocQueryStringByKey WINELIB_NAME_AW(AssocQueryStringByKey)
|
---|
322 |
|
---|
323 | HRESULT WINAPI AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,PHKEY);
|
---|
324 | HRESULT WINAPI AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,PHKEY);
|
---|
325 | #define AssocQueryKey WINELIB_NAME_AW(AssocQueryKey)
|
---|
326 |
|
---|
327 | BOOL WINAPI AssocIsDangerous(LPCWSTR);
|
---|
328 |
|
---|
329 | #endif /* NO_SHLWAPI_REG */
|
---|
330 |
|
---|
331 |
|
---|
332 | /* Path functions */
|
---|
333 | #ifndef NO_SHLWAPI_PATH
|
---|
334 |
|
---|
335 | /* GetPathCharType return flags */
|
---|
336 | #define GCT_INVALID 0x0
|
---|
337 | #define GCT_LFNCHAR 0x1
|
---|
338 | #define GCT_SHORTCHAR 0x2
|
---|
339 | #define GCT_WILD 0x4
|
---|
340 | #define GCT_SEPARATOR 0x8
|
---|
341 |
|
---|
342 | LPSTR WINAPI PathAddBackslashA(LPSTR);
|
---|
343 | LPWSTR WINAPI PathAddBackslashW(LPWSTR);
|
---|
344 | #define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
|
---|
345 |
|
---|
346 | BOOL WINAPI PathAddExtensionA(LPSTR,LPCSTR);
|
---|
347 | BOOL WINAPI PathAddExtensionW(LPWSTR,LPCWSTR);
|
---|
348 | #define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
|
---|
349 |
|
---|
350 | BOOL WINAPI PathAppendA(LPSTR,LPCSTR);
|
---|
351 | BOOL WINAPI PathAppendW(LPWSTR,LPCWSTR);
|
---|
352 | #define PathAppend WINELIB_NAME_AW(PathAppend)
|
---|
353 |
|
---|
354 | LPSTR WINAPI PathBuildRootA(LPSTR,int);
|
---|
355 | LPWSTR WINAPI PathBuildRootW(LPWSTR,int);
|
---|
356 | #define PathBuildRoot WINELIB_NAME_AW(PathBuiltRoot)
|
---|
357 |
|
---|
358 | BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR);
|
---|
359 | BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR);
|
---|
360 | #define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
|
---|
361 |
|
---|
362 | LPSTR WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR);
|
---|
363 | LPWSTR WINAPI PathCombineW(LPWSTR,LPCWSTR,LPCWSTR);
|
---|
364 | #define PathCombine WINELIB_NAME_AW(PathCombine)
|
---|
365 |
|
---|
366 | BOOL WINAPI PathCompactPathA(HDC,LPSTR,UINT);
|
---|
367 | BOOL WINAPI PathCompactPathW(HDC,LPWSTR,UINT);
|
---|
368 | #define PathCompactPath WINELIB_NAME_AW(PathCompactPath)
|
---|
369 |
|
---|
370 | BOOL WINAPI PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD);
|
---|
371 | BOOL WINAPI PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD);
|
---|
372 | #define PathCompactPathEx WINELIB_NAME_AW(PathCompactPathEx)
|
---|
373 |
|
---|
374 | int WINAPI PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR);
|
---|
375 | int WINAPI PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR);
|
---|
376 | #define PathCommonPrefix WINELIB_NAME_AW(PathCommonPrefix)
|
---|
377 |
|
---|
378 | HRESULT WINAPI PathCreateFromUrlA(LPCSTR pszUrl, LPSTR pszPath, LPDWORD pcchPath, DWORD dwReserved);
|
---|
379 | HRESULT WINAPI PathCreateFromUrlW(LPCWSTR pszUrl, LPWSTR pszPath, LPDWORD pcchPath, DWORD dwReserved);
|
---|
380 | #define PathCreateFromUrl WINELIB_NAME_AW(PathCreateFromUrl)
|
---|
381 |
|
---|
382 | BOOL WINAPI PathFileExistsA(LPCSTR);
|
---|
383 | BOOL WINAPI PathFileExistsW(LPCWSTR);
|
---|
384 | #define PathFileExists WINELIB_NAME_AW(PathFileExists)
|
---|
385 |
|
---|
386 | BOOL WINAPI PathFileExistsAndAttributesA(LPCSTR lpszPath, DWORD *dwAttr);
|
---|
387 | BOOL WINAPI PathFileExistsAndAttributesW(LPCWSTR lpszPath, DWORD *dwAttr);
|
---|
388 | #define PathFileExistsAndAttributes WINELIB_NAME_AW(PathFileExistsAndAttributes)
|
---|
389 |
|
---|
390 | LPSTR WINAPI PathFindExtensionA(LPCSTR);
|
---|
391 | LPWSTR WINAPI PathFindExtensionW(LPCWSTR);
|
---|
392 | #define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
|
---|
393 |
|
---|
394 | LPSTR WINAPI PathFindFileNameA(LPCSTR);
|
---|
395 | LPWSTR WINAPI PathFindFileNameW(LPCWSTR);
|
---|
396 | #define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
|
---|
397 |
|
---|
398 | LPSTR WINAPI PathFindNextComponentA(LPCSTR);
|
---|
399 | LPWSTR WINAPI PathFindNextComponentW(LPCWSTR);
|
---|
400 | #define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
|
---|
401 |
|
---|
402 | BOOL WINAPI PathFindOnPathA(LPSTR,LPCSTR*);
|
---|
403 | BOOL WINAPI PathFindOnPathW(LPWSTR,LPCWSTR*);
|
---|
404 | #define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
|
---|
405 |
|
---|
406 | LPSTR WINAPI PathGetArgsA(LPCSTR);
|
---|
407 | LPWSTR WINAPI PathGetArgsW(LPCWSTR);
|
---|
408 | #define PathGetArgs WINELIB_NAME_AW(PathGetArgs)
|
---|
409 |
|
---|
410 | UINT WINAPI PathGetCharTypeA(UCHAR);
|
---|
411 | UINT WINAPI PathGetCharTypeW(WCHAR);
|
---|
412 | #define PathGetCharType WINELIB_NAME_AW(PathGetCharType)
|
---|
413 |
|
---|
414 | int WINAPI PathGetDriveNumberA(LPCSTR);
|
---|
415 | int WINAPI PathGetDriveNumberW(LPCWSTR);
|
---|
416 | #define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
|
---|
417 |
|
---|
418 | BOOL WINAPI PathIsDirectoryA(LPCSTR);
|
---|
419 | BOOL WINAPI PathIsDirectoryW(LPCWSTR);
|
---|
420 | #define PathIsDirectory WINELIB_NAME_AW(PathIsDirectory)
|
---|
421 |
|
---|
422 | BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR);
|
---|
423 | BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR);
|
---|
424 | #define PathIsDirectoryEmpty WINELIB_NAME_AW(PathIsDirectoryEmpty)
|
---|
425 |
|
---|
426 | BOOL WINAPI PathIsFileSpecA(LPCSTR);
|
---|
427 | BOOL WINAPI PathIsFileSpecW(LPCWSTR);
|
---|
428 | #define PathIsFileSpec WINELIB_NAME_AW(PathIsFileSpec);
|
---|
429 |
|
---|
430 | BOOL WINAPI PathIsPrefixA(LPCSTR,LPCSTR);
|
---|
431 | BOOL WINAPI PathIsPrefixW(LPCWSTR,LPCWSTR);
|
---|
432 | #define PathIsPrefix WINELIB_NAME_AW(PathIsPrefix)
|
---|
433 |
|
---|
434 | BOOL WINAPI PathIsRelativeA(LPCSTR);
|
---|
435 | BOOL WINAPI PathIsRelativeW(LPCWSTR);
|
---|
436 | #define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
|
---|
437 |
|
---|
438 | BOOL WINAPI PathIsRootA(LPCSTR);
|
---|
439 | BOOL WINAPI PathIsRootW(LPCWSTR);
|
---|
440 | #define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
|
---|
441 |
|
---|
442 | BOOL WINAPI PathIsSameRootA(LPCSTR,LPCSTR);
|
---|
443 | BOOL WINAPI PathIsSameRootW(LPCWSTR,LPCWSTR);
|
---|
444 | #define PathIsSameRoot WINELIB_NAME_AW(PathIsSameRoot)
|
---|
445 |
|
---|
446 | BOOL WINAPI PathIsUNCA(LPCSTR);
|
---|
447 | BOOL WINAPI PathIsUNCW(LPCWSTR);
|
---|
448 | #define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
|
---|
449 |
|
---|
450 | BOOL WINAPI PathIsUNCServerA(LPCSTR);
|
---|
451 | BOOL WINAPI PathIsUNCServerW(LPCWSTR);
|
---|
452 | #define PathIsUNCServer WINELIB_NAME_AW(PathIsUNCServer)
|
---|
453 |
|
---|
454 | BOOL WINAPI PathIsUNCServerShareA(LPCSTR);
|
---|
455 | BOOL WINAPI PathIsUNCServerShareW(LPCWSTR);
|
---|
456 | #define PathIsUNCServerShare WINELIB_NAME_AW(PathIsUNCServerShare)
|
---|
457 |
|
---|
458 | BOOL WINAPI PathIsContentTypeA(LPCSTR,LPCSTR);
|
---|
459 | BOOL WINAPI PathIsContentTypeW(LPCWSTR,LPCWSTR);
|
---|
460 | #define PathIsContentType WINELIB_NAME_AW(PathIsContentType)
|
---|
461 |
|
---|
462 | BOOL WINAPI PathIsURLA(LPCSTR);
|
---|
463 | BOOL WINAPI PathIsURLW(LPCWSTR);
|
---|
464 | #define PathIsURL WINELIB_NAME_AW(PathIsURL)
|
---|
465 |
|
---|
466 | BOOL WINAPI PathMakePrettyA(LPSTR);
|
---|
467 | BOOL WINAPI PathMakePrettyW(LPWSTR);
|
---|
468 | #define PathMakePretty WINELIB_NAME_AW(PathMakePretty)
|
---|
469 |
|
---|
470 | BOOL WINAPI PathMatchSpecA(LPCSTR,LPCSTR);
|
---|
471 | BOOL WINAPI PathMatchSpecW(LPCWSTR,LPCWSTR);
|
---|
472 | #define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
|
---|
473 |
|
---|
474 | int WINAPI PathParseIconLocationA(LPSTR);
|
---|
475 | int WINAPI PathParseIconLocationW(LPWSTR);
|
---|
476 | #define PathParseIconLocation WINELIB_NAME_AW(PathParseIconLocation)
|
---|
477 |
|
---|
478 | VOID WINAPI PathQuoteSpacesA(LPSTR);
|
---|
479 | VOID WINAPI PathQuoteSpacesW(LPWSTR);
|
---|
480 | #define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
|
---|
481 |
|
---|
482 | BOOL WINAPI PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD);
|
---|
483 | BOOL WINAPI PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD);
|
---|
484 | #define PathRelativePathTo WINELIB_NAME_AW(PathRelativePathTo)
|
---|
485 |
|
---|
486 | VOID WINAPI PathRemoveArgsA(LPSTR);
|
---|
487 | VOID WINAPI PathRemoveArgsW(LPWSTR);
|
---|
488 | #define PathRemoveArgs WINELIB_NAME_AW(PathRemoveArgs)
|
---|
489 |
|
---|
490 | LPSTR WINAPI PathRemoveBackslashA(LPSTR);
|
---|
491 | LPWSTR WINAPI PathRemoveBackslashW(LPWSTR);
|
---|
492 | #define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
|
---|
493 |
|
---|
494 | VOID WINAPI PathRemoveBlanksA(LPSTR);
|
---|
495 | VOID WINAPI PathRemoveBlanksW(LPWSTR);
|
---|
496 | #define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
|
---|
497 |
|
---|
498 | VOID WINAPI PathRemoveExtensionA(LPSTR);
|
---|
499 | VOID WINAPI PathRemoveExtensionW(LPWSTR);
|
---|
500 | #define PathRemoveExtension WINELIB_NAME_AW(PathRemoveExtension)
|
---|
501 |
|
---|
502 | BOOL WINAPI PathRemoveFileSpecA(LPSTR);
|
---|
503 | BOOL WINAPI PathRemoveFileSpecW(LPWSTR);
|
---|
504 | #define PathRemoveFileSpec WINELIB_NAME_AW(PathRemoveFileSpec)
|
---|
505 |
|
---|
506 | BOOL WINAPI PathRenameExtensionA(LPSTR,LPCSTR);
|
---|
507 | BOOL WINAPI PathRenameExtensionW(LPWSTR,LPCWSTR);
|
---|
508 | #define PathRenameExtension WINELIB_NAME_AW(PathRenameExtension)
|
---|
509 |
|
---|
510 | BOOL WINAPI PathSearchAndQualifyA(LPCSTR,LPSTR,UINT);
|
---|
511 | BOOL WINAPI PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT);
|
---|
512 | #define PathSearchAndQualify WINELIB_NAME_AW(PathSearchAndQualify)
|
---|
513 |
|
---|
514 | VOID WINAPI PathSetDlgItemPathA(HWND,int,LPCSTR);
|
---|
515 | VOID WINAPI PathSetDlgItemPathW(HWND,int,LPCWSTR);
|
---|
516 | #define PathSetDlgItemPath WINELIB_NAME_AW(PathSetDlgItemPath)
|
---|
517 |
|
---|
518 | LPSTR WINAPI PathSkipRootA(LPCSTR);
|
---|
519 | LPWSTR WINAPI PathSkipRootW(LPCWSTR);
|
---|
520 | #define PathSkipRoot WINELIB_NAME_AW(PathSkipRoot)
|
---|
521 |
|
---|
522 | VOID WINAPI PathStripPathA(LPSTR);
|
---|
523 | VOID WINAPI PathStripPathW(LPWSTR);
|
---|
524 | #define PathStripPath WINELIB_NAME_AW(PathStripPath)
|
---|
525 |
|
---|
526 | BOOL WINAPI PathStripToRootA(LPSTR);
|
---|
527 | BOOL WINAPI PathStripToRootW(LPWSTR);
|
---|
528 | #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
|
---|
529 |
|
---|
530 | VOID WINAPI PathUnquoteSpacesA(LPSTR);
|
---|
531 | VOID WINAPI PathUnquoteSpacesW(LPWSTR);
|
---|
532 | #define PathUnquoteSpaces WINELIB_NAME_AW(PathUnquoteSpaces)
|
---|
533 |
|
---|
534 | BOOL WINAPI PathMakeSystemFolderA(LPCSTR);
|
---|
535 | BOOL WINAPI PathMakeSystemFolderW(LPCWSTR);
|
---|
536 | #define PathMakeSystemFolder WINELIB_NAME_AW(PathMakeSystemFolder)
|
---|
537 |
|
---|
538 | BOOL WINAPI PathUnmakeSystemFolderA(LPCSTR);
|
---|
539 | BOOL WINAPI PathUnmakeSystemFolderW(LPCWSTR);
|
---|
540 | #define PathUnmakeSystemFolder WINELIB_NAME_AW(PathUnmakeSystemFolder)
|
---|
541 |
|
---|
542 | BOOL WINAPI PathIsSystemFolderA(LPCSTR,DWORD);
|
---|
543 | BOOL WINAPI PathIsSystemFolderW(LPCWSTR,DWORD);
|
---|
544 | #define PathIsSystemFolder WINELIB_NAME_AW(PathIsSystemFolder)
|
---|
545 |
|
---|
546 | BOOL WINAPI PathIsNetworkPathA(LPCSTR);
|
---|
547 | BOOL WINAPI PathIsNetworkPathW(LPCWSTR);
|
---|
548 | #define PathIsNetworkPath WINELIB_NAME_AW(PathIsNetworkPath)
|
---|
549 |
|
---|
550 | BOOL WINAPI PathIsLFNFileSpecA(LPCSTR);
|
---|
551 | BOOL WINAPI PathIsLFNFileSpecW(LPCWSTR);
|
---|
552 | #define PathIsLFNFileSpec WINELIB_NAME_AW(PathIsLFNFileSpec)
|
---|
553 |
|
---|
554 | LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR *,int);
|
---|
555 | LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR *,int);
|
---|
556 | #define PathFindSuffixArray WINELIB_NAME_AW(PathFindSuffixArray)
|
---|
557 |
|
---|
558 | VOID WINAPI PathUndecorateA(LPSTR);
|
---|
559 | VOID WINAPI PathUndecorateW(LPWSTR);
|
---|
560 | #define PathUndecorate WINELIB_NAME_AW(PathUndecorate)
|
---|
561 |
|
---|
562 | BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT);
|
---|
563 | BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT);
|
---|
564 | #define PathUnExpandEnvStrings WINELIB_NAME_AW(PathUnExpandEnvStrings)
|
---|
565 |
|
---|
566 | /* Url functions */
|
---|
567 | typedef enum {
|
---|
568 | URL_SCHEME_INVALID = -1,
|
---|
569 | URL_SCHEME_UNKNOWN = 0,
|
---|
570 | URL_SCHEME_FTP,
|
---|
571 | URL_SCHEME_HTTP,
|
---|
572 | URL_SCHEME_GOPHER,
|
---|
573 | URL_SCHEME_MAILTO,
|
---|
574 | URL_SCHEME_NEWS,
|
---|
575 | URL_SCHEME_NNTP,
|
---|
576 | URL_SCHEME_TELNET,
|
---|
577 | URL_SCHEME_WAIS,
|
---|
578 | URL_SCHEME_FILE,
|
---|
579 | URL_SCHEME_MK,
|
---|
580 | URL_SCHEME_HTTPS,
|
---|
581 | URL_SCHEME_SHELL,
|
---|
582 | URL_SCHEME_SNEWS,
|
---|
583 | URL_SCHEME_LOCAL,
|
---|
584 | URL_SCHEME_JAVASCRIPT,
|
---|
585 | URL_SCHEME_VBSCRIPT,
|
---|
586 | URL_SCHEME_ABOUT,
|
---|
587 | URL_SCHEME_RES,
|
---|
588 | URL_SCHEME_MSSHELLROOTED,
|
---|
589 | URL_SCHEME_MSSHELLIDLIST,
|
---|
590 | URL_SCHEME_MSHELP,
|
---|
591 | URL_SCHEME_MAXVALUE
|
---|
592 | } URL_SCHEME;
|
---|
593 |
|
---|
594 | /* These are used by UrlGetPart routine */
|
---|
595 | typedef enum {
|
---|
596 | URL_PART_NONE = 0,
|
---|
597 | URL_PART_SCHEME = 1,
|
---|
598 | URL_PART_HOSTNAME,
|
---|
599 | URL_PART_USERNAME,
|
---|
600 | URL_PART_PASSWORD,
|
---|
601 | URL_PART_PORT,
|
---|
602 | URL_PART_QUERY
|
---|
603 | } URL_PART;
|
---|
604 |
|
---|
605 | #define URL_PARTFLAG_KEEPSCHEME 0x00000001
|
---|
606 |
|
---|
607 | /* These are used by the UrlIs... routines */
|
---|
608 | typedef enum {
|
---|
609 | URLIS_URL,
|
---|
610 | URLIS_OPAQUE,
|
---|
611 | URLIS_NOHISTORY,
|
---|
612 | URLIS_FILEURL,
|
---|
613 | URLIS_APPLIABLE,
|
---|
614 | URLIS_DIRECTORY,
|
---|
615 | URLIS_HASQUERY
|
---|
616 | } URLIS;
|
---|
617 |
|
---|
618 | /* This is used by the UrlApplyScheme... routines */
|
---|
619 | #define URL_APPLY_FORCEAPPLY 0x00000008
|
---|
620 | #define URL_APPLY_GUESSFILE 0x00000004
|
---|
621 | #define URL_APPLY_GUESSSCHEME 0x00000002
|
---|
622 | #define URL_APPLY_DEFAULT 0x00000001
|
---|
623 |
|
---|
624 | /* The following are used by UrlEscape..., UrlUnEscape...,
|
---|
625 | * UrlCanonicalize..., and UrlCombine... routines
|
---|
626 | */
|
---|
627 | #define URL_WININET_COMPATIBILITY 0x80000000
|
---|
628 | #define URL_PLUGGABLE_PROTOCOL 0x40000000
|
---|
629 | #define URL_ESCAPE_UNSAFE 0x20000000
|
---|
630 | #define URL_UNESCAPE 0x10000000
|
---|
631 |
|
---|
632 | #define URL_DONT_SIMPLIFY 0x08000000
|
---|
633 | #define URL_NO_META URL_DONT_SIMPLIFY
|
---|
634 | #define URL_ESCAPE_SPACES_ONLY 0x04000000
|
---|
635 | #define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
|
---|
636 | #define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO
|
---|
637 | #define URL_BROWSER_MODE URL_DONT_ESCAPE_EXTRA_INFO
|
---|
638 |
|
---|
639 | #define URL_INTERNAL_PATH 0x00800000 /* Will escape #'s in paths */
|
---|
640 | #define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
|
---|
641 | #define URL_CONVERT_IF_DOSPATH 0x00200000
|
---|
642 | #define URL_UNESCAPE_INPLACE 0x00100000
|
---|
643 |
|
---|
644 | #define URL_FILE_USE_PATHURL 0x00010000
|
---|
645 |
|
---|
646 | #define URL_ESCAPE_SEGMENT_ONLY 0x00002000
|
---|
647 | #define URL_ESCAPE_PERCENT 0x00001000
|
---|
648 |
|
---|
649 | HRESULT WINAPI UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD);
|
---|
650 | HRESULT WINAPI UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
|
---|
651 | #define UrlApplyScheme WINELIB_NAME_AW(UrlApplyScheme)
|
---|
652 |
|
---|
653 | HRESULT WINAPI UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
|
---|
654 | HRESULT WINAPI UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
|
---|
655 | #define UrlCanonicalize WINELIB_NAME_AW(UrlCanoncalize)
|
---|
656 |
|
---|
657 | HRESULT WINAPI UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
|
---|
658 | HRESULT WINAPI UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
|
---|
659 | #define UrlCombine WINELIB_NAME_AW(UrlCombine)
|
---|
660 |
|
---|
661 | INT WINAPI UrlCompareA(LPCSTR,LPCSTR,BOOL);
|
---|
662 | INT WINAPI UrlCompareW(LPCWSTR,LPCWSTR,BOOL);
|
---|
663 | #define UrlCompare WINELIB_NAME_AW(UrlCompare)
|
---|
664 |
|
---|
665 | HRESULT WINAPI UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
|
---|
666 | HRESULT WINAPI UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
|
---|
667 | #define UrlEscape WINELIB_NAME_AW(UrlEscape)
|
---|
668 |
|
---|
669 | #define UrlEscapeSpacesA(x,y,z) UrlCanonicalizeA(x, y, z, \
|
---|
670 | URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
|
---|
671 | #define UrlEscapeSpacesW(x,y,z) UrlCanonicalizeW(x, y, z, \
|
---|
672 | URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
|
---|
673 | #define UrlEscapeSpaces WINELIB_NAME_AW(UrlEscapeSpaces)
|
---|
674 |
|
---|
675 | LPCSTR WINAPI UrlGetLocationA(LPCSTR);
|
---|
676 | LPCWSTR WINAPI UrlGetLocationW(LPCWSTR);
|
---|
677 | #define UrlGetLocation WINELIB_NAME_AW(UrlGetLocation)
|
---|
678 |
|
---|
679 | HRESULT WINAPI UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD);
|
---|
680 | HRESULT WINAPI UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
|
---|
681 | #define UrlGetPart WINELIB_NAME_AW(UrlGetPart)
|
---|
682 |
|
---|
683 | HRESULT WINAPI HashData(const unsigned char *,DWORD,unsigned char *lpDest,DWORD);
|
---|
684 |
|
---|
685 | HRESULT WINAPI UrlHashA(LPCSTR,unsigned char *,DWORD);
|
---|
686 | HRESULT WINAPI UrlHashW(LPCWSTR,unsigned char *,DWORD);
|
---|
687 | #define UrlHash WINELIB_NAME_AW(UrlHash)
|
---|
688 |
|
---|
689 | BOOL WINAPI UrlIsA(LPCSTR,URLIS);
|
---|
690 | BOOL WINAPI UrlIsW(LPCWSTR,URLIS);
|
---|
691 | #define UrlIs WINELIB_NAME_AW(UrlIs)
|
---|
692 |
|
---|
693 | BOOL WINAPI UrlIsNoHistoryA(LPCSTR);
|
---|
694 | BOOL WINAPI UrlIsNoHistoryW(LPCWSTR);
|
---|
695 | #define UrlIsNoHistory WINELIB_NAME_AW(UrlIsNoHistory)
|
---|
696 |
|
---|
697 | BOOL WINAPI UrlIsOpaqueA(LPCSTR);
|
---|
698 | BOOL WINAPI UrlIsOpaqueW(LPCWSTR);
|
---|
699 | #define UrlIsOpaque WINELIB_NAME_AW(UrlIsOpaque)
|
---|
700 |
|
---|
701 | #define UrlIsFileUrlA(x) UrlIsA(x, URLIS_FILEURL)
|
---|
702 | #define UrlIsFileUrlW(y) UrlIsW(x, URLIS_FILEURL)
|
---|
703 | #define UrlIsFileUrl WINELIB_NAME_AW(UrlIsFileUrl)
|
---|
704 |
|
---|
705 | HRESULT WINAPI UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
|
---|
706 | HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
|
---|
707 | #define UrlUnescape WINELIB_NAME_AW(UrlUnescape)
|
---|
708 |
|
---|
709 | #define UrlUnescapeInPlaceA(x,y) UrlUnescapeA(x, NULL, NULL, \
|
---|
710 | y | URL_UNESCAPE_INPLACE)
|
---|
711 | #define UrlUnescapeInPlaceW(x,y) UrlUnescapeW(x, NULL, NULL, \
|
---|
712 | y | URL_UNESCAPE_INPLACE)
|
---|
713 | #define UrlUnescapeInPlace WINELIB_NAME_AW(UrlUnescapeInPlace)
|
---|
714 |
|
---|
715 | HRESULT WINAPI UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
|
---|
716 | HRESULT WINAPI UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
|
---|
717 | #define UrlCreateFromPath WINELIB_NAME_AW(UrlCreateFromPath)
|
---|
718 |
|
---|
719 | typedef struct tagPARSEDURLA {
|
---|
720 | DWORD cbSize;
|
---|
721 | LPCSTR pszProtocol;
|
---|
722 | UINT cchProtocol;
|
---|
723 | LPCSTR pszSuffix;
|
---|
724 | UINT cchSuffix;
|
---|
725 | UINT nScheme;
|
---|
726 | } PARSEDURLA, *PPARSEDURLA;
|
---|
727 |
|
---|
728 | typedef struct tagPARSEDURLW {
|
---|
729 | DWORD cbSize;
|
---|
730 | LPCWSTR pszProtocol;
|
---|
731 | UINT cchProtocol;
|
---|
732 | LPCWSTR pszSuffix;
|
---|
733 | UINT cchSuffix;
|
---|
734 | UINT nScheme;
|
---|
735 | } PARSEDURLW, *PPARSEDURLW;
|
---|
736 |
|
---|
737 | HRESULT WINAPI ParseURLA(LPCSTR pszUrl, PARSEDURLA *ppu);
|
---|
738 | HRESULT WINAPI ParseURLW(LPCWSTR pszUrl, PARSEDURLW *ppu);
|
---|
739 | #define ParseURL WINELIB_NAME_AW(ParseUrl)
|
---|
740 |
|
---|
741 | #endif /* NO_SHLWAPI_PATH */
|
---|
742 |
|
---|
743 |
|
---|
744 | /* String functions */
|
---|
745 | #ifndef NO_SHLWAPI_STRFCNS
|
---|
746 |
|
---|
747 | /* StrToIntEx flags */
|
---|
748 | #define STIF_DEFAULT 0x0L
|
---|
749 | #define STIF_SUPPORT_HEX 0x1L
|
---|
750 |
|
---|
751 | BOOL WINAPI ChrCmpIA (WORD,WORD);
|
---|
752 | BOOL WINAPI ChrCmpIW (WCHAR,WCHAR);
|
---|
753 | #define ChrCmpI WINELIB_NAME_AW(ChrCmpI)
|
---|
754 |
|
---|
755 | INT WINAPI StrCSpnA(LPCSTR,LPCSTR);
|
---|
756 | INT WINAPI StrCSpnW(LPCWSTR,LPCWSTR);
|
---|
757 | #define StrCSpn WINELIB_NAME_AW(StrCSpn)
|
---|
758 |
|
---|
759 | INT WINAPI StrCSpnIA(LPCSTR,LPCSTR);
|
---|
760 | INT WINAPI StrCSpnIW(LPCWSTR,LPCWSTR);
|
---|
761 | #define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
|
---|
762 |
|
---|
763 | #define StrCatA lstrcatA
|
---|
764 | LPWSTR WINAPI StrCatW(LPWSTR,LPCWSTR);
|
---|
765 | #define StrCat WINELIB_NAME_AW(StrCat)
|
---|
766 |
|
---|
767 | LPSTR WINAPI StrCatBuffA(LPSTR,LPCSTR,INT);
|
---|
768 | LPWSTR WINAPI StrCatBuffW(LPWSTR,LPCWSTR,INT);
|
---|
769 | #define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
|
---|
770 |
|
---|
771 | DWORD WINAPI StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR);
|
---|
772 |
|
---|
773 | LPSTR WINAPI StrChrA(LPCSTR,WORD);
|
---|
774 | LPWSTR WINAPI StrChrW(LPCWSTR,WCHAR);
|
---|
775 | #define StrChr WINELIB_NAME_AW(StrChr)
|
---|
776 |
|
---|
777 | LPSTR WINAPI StrChrIA(LPCSTR,WORD);
|
---|
778 | LPWSTR WINAPI StrChrIW(LPCWSTR,WCHAR);
|
---|
779 | #define StrChrI WINELIB_NAME_AW(StrChrI)
|
---|
780 |
|
---|
781 | #define StrCmpA lstrcmpA
|
---|
782 | int WINAPI StrCmpW(LPCWSTR,LPCWSTR);
|
---|
783 | #define StrCmp WINELIB_NAME_AW(StrCmp)
|
---|
784 |
|
---|
785 | #define StrCmpIA lstrcmpiA
|
---|
786 | int WINAPI StrCmpIW(LPCWSTR,LPCWSTR);
|
---|
787 | #define StrCmpI WINELIB_NAME_AW(StrCmpI)
|
---|
788 |
|
---|
789 | #define StrCpyA lstrcpyA
|
---|
790 | LPWSTR WINAPI StrCpyW(LPWSTR,LPCWSTR);
|
---|
791 | #define StrCpy WINELIB_NAME_AW(StrCpy)
|
---|
792 |
|
---|
793 | #define StrCpyNA lstrcpynA
|
---|
794 | LPWSTR WINAPI StrCpyNW(LPWSTR,LPCWSTR,int);
|
---|
795 | #define StrCpyN WINELIB_NAME_AW(StrCpyN)
|
---|
796 | #define StrNCpy WINELIB_NAME_AW(StrCpyN)
|
---|
797 |
|
---|
798 | INT WINAPI StrCmpLogicalW(LPCWSTR,LPCWSTR);
|
---|
799 |
|
---|
800 | INT WINAPI StrCmpNA(LPCSTR,LPCSTR,INT);
|
---|
801 | INT WINAPI StrCmpNW(LPCWSTR,LPCWSTR,INT);
|
---|
802 | #define StrCmpN WINELIB_NAME_AW(StrCmpN)
|
---|
803 | #define StrNCmp WINELIB_NAME_AW(StrCmpN)
|
---|
804 |
|
---|
805 | INT WINAPI StrCmpNIA(LPCSTR,LPCSTR,INT);
|
---|
806 | INT WINAPI StrCmpNIW(LPCWSTR,LPCWSTR,INT);
|
---|
807 | #define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
|
---|
808 | #define StrNCmpI WINELIB_NAME_AW(StrCmpNI)
|
---|
809 |
|
---|
810 | LPSTR WINAPI StrDupA(LPCSTR);
|
---|
811 | LPWSTR WINAPI StrDupW(LPCWSTR);
|
---|
812 | #define StrDup WINELIB_NAME_AW(StrDup)
|
---|
813 |
|
---|
814 | HRESULT WINAPI SHStrDupA(LPCSTR,WCHAR**);
|
---|
815 | HRESULT WINAPI SHStrDupW(LPCWSTR,WCHAR**);
|
---|
816 | #define SHStrDup WINELIB_NAME_AW(SHStrDup)
|
---|
817 |
|
---|
818 | LPSTR WINAPI StrFormatByteSizeA (DWORD,LPSTR,UINT);
|
---|
819 |
|
---|
820 | /* A/W Pairing is broken for this function */
|
---|
821 | LPSTR WINAPI StrFormatByteSize64A (LONGLONG,LPSTR,UINT);
|
---|
822 | LPWSTR WINAPI StrFormatByteSizeW (LONGLONG,LPWSTR,UINT);
|
---|
823 | #ifndef WINE_NO_UNICODE_MACROS
|
---|
824 | #ifdef UNICODE
|
---|
825 | #define StrFormatByteSize StrFormatByteSizeW
|
---|
826 | #else
|
---|
827 | #define StrFormatByteSize StrFormatByteSize64A
|
---|
828 | #endif
|
---|
829 | #endif
|
---|
830 |
|
---|
831 | LPSTR WINAPI StrFormatKBSizeA(LONGLONG,LPSTR,UINT);
|
---|
832 | LPWSTR WINAPI StrFormatKBSizeW(LONGLONG,LPWSTR,UINT);
|
---|
833 | #define StrFormatKBSize WINELIB_NAME_AW(StrFormatKBSize)
|
---|
834 |
|
---|
835 | int WINAPI StrFromTimeIntervalA(LPSTR,UINT,DWORD,int);
|
---|
836 | int WINAPI StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int);
|
---|
837 | #define StrFromTimeInterval WINELIB_NAME_AW(StrFromTimeInterval)
|
---|
838 |
|
---|
839 | BOOL WINAPI StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int);
|
---|
840 | BOOL WINAPI StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int);
|
---|
841 | #define StrIsIntlEqual WINELIB_NAME_AW(StrIsIntlEqual)
|
---|
842 |
|
---|
843 | #define StrIntlEqNA(a,b,c) StrIsIntlEqualA(TRUE,a,b,c)
|
---|
844 | #define StrIntlEqNW(a,b,c) StrIsIntlEqualW(TRUE,a,b,c)
|
---|
845 |
|
---|
846 | #define StrIntlEqNIA(a,b,c) StrIsIntlEqualA(FALSE,a,b,c)
|
---|
847 | #define StrIntlEqNIW(a,b,c) StrIsIntlEqualW(FALSE,a,b,c)
|
---|
848 |
|
---|
849 | LPSTR WINAPI StrNCatA(LPSTR,LPCSTR,int);
|
---|
850 | LPWSTR WINAPI StrNCatW(LPWSTR,LPCWSTR,int);
|
---|
851 | #define StrNCat WINELIB_NAME_AW(StrNCat)
|
---|
852 | #define StrCatN WINELIB_NAME_AW(StrNCat)
|
---|
853 |
|
---|
854 | LPSTR WINAPI StrPBrkA(LPCSTR,LPCSTR);
|
---|
855 | LPWSTR WINAPI StrPBrkW(LPCWSTR,LPCWSTR);
|
---|
856 | #define StrPBrk WINELIB_NAME_AW(StrPBrk)
|
---|
857 |
|
---|
858 | LPSTR WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
|
---|
859 | LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WORD);
|
---|
860 | #define StrRChr WINELIB_NAME_AW(StrRChr)
|
---|
861 |
|
---|
862 | LPSTR WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
|
---|
863 | LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WORD);
|
---|
864 | #define StrRChrI WINELIB_NAME_AW(StrRChrI)
|
---|
865 |
|
---|
866 | LPSTR WINAPI StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
|
---|
867 | LPWSTR WINAPI StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
|
---|
868 | #define StrRStrI WINELIB_NAME_AW(StrRStrI)
|
---|
869 |
|
---|
870 | int WINAPI StrSpnA(LPCSTR,LPCSTR);
|
---|
871 | int WINAPI StrSpnW(LPCWSTR,LPCWSTR);
|
---|
872 | #define StrSpn WINELIB_NAME_AW(StrSpn)
|
---|
873 |
|
---|
874 | LPSTR WINAPI StrStrA(LPCSTR,LPCSTR);
|
---|
875 | LPWSTR WINAPI StrStrW(LPCWSTR,LPCWSTR);
|
---|
876 | #define StrStr WINELIB_NAME_AW(StrStr)
|
---|
877 |
|
---|
878 | LPSTR WINAPI StrStrIA(LPCSTR,LPCSTR);
|
---|
879 | LPWSTR WINAPI StrStrIW(LPCWSTR,LPCWSTR);
|
---|
880 | #define StrStrI WINELIB_NAME_AW(StrStrI)
|
---|
881 |
|
---|
882 | int WINAPI StrToIntA(LPCSTR);
|
---|
883 | int WINAPI StrToIntW(LPCWSTR);
|
---|
884 | #define StrToInt WINELIB_NAME_AW(StrToInt)
|
---|
885 | #define StrToLong WINELIB_NAME_AW(StrToInt)
|
---|
886 |
|
---|
887 | BOOL WINAPI StrToIntExA(LPCSTR,DWORD,int*);
|
---|
888 | BOOL WINAPI StrToIntExW(LPCWSTR,DWORD,int*);
|
---|
889 | #define StrToIntEx WINELIB_NAME_AW(StrToIntEx)
|
---|
890 |
|
---|
891 | BOOL WINAPI StrToInt64ExA(LPCSTR,DWORD,LONGLONG*);
|
---|
892 | BOOL WINAPI StrToInt64ExW(LPCWSTR,DWORD,LONGLONG*);
|
---|
893 | #define StrToIntEx64 WINELIB_NAME_AW(StrToIntEx64)
|
---|
894 |
|
---|
895 | BOOL WINAPI StrTrimA(LPSTR,LPCSTR);
|
---|
896 | BOOL WINAPI StrTrimW(LPWSTR,LPCWSTR);
|
---|
897 | #define StrTrim WINELIB_NAME_AW(StrTrim)
|
---|
898 |
|
---|
899 | INT WINAPI wvnsprintfA(LPSTR,INT,LPCSTR,__ms_va_list);
|
---|
900 | INT WINAPI wvnsprintfW(LPWSTR,INT,LPCWSTR,__ms_va_list);
|
---|
901 | #define wvnsprintf WINELIB_NAME_AW(wvnsprintf)
|
---|
902 |
|
---|
903 | INT WINAPIV wnsprintfA(LPSTR,INT,LPCSTR, ...);
|
---|
904 | INT WINAPIV wnsprintfW(LPWSTR,INT,LPCWSTR, ...);
|
---|
905 | #define wnsprintf WINELIB_NAME_AW(wnsprintf)
|
---|
906 |
|
---|
907 | HRESULT WINAPI SHLoadIndirectString(LPCWSTR,LPWSTR,UINT,PVOID*);
|
---|
908 |
|
---|
909 | BOOL WINAPI IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int);
|
---|
910 | BOOL WINAPI IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int);
|
---|
911 | #define IntlStrEqWorker WINELIB_NAME_AW(IntlStrEqWorker)
|
---|
912 |
|
---|
913 | #define IntlStrEqNA(s1,s2,n) IntlStrEqWorkerA(TRUE,s1,s2,n)
|
---|
914 | #define IntlStrEqNW(s1,s2,n) IntlStrEqWorkerW(TRUE,s1,s2,n)
|
---|
915 | #define IntlStrEqN WINELIB_NAME_AW(IntlStrEqN)
|
---|
916 |
|
---|
917 | #define IntlStrEqNIA(s1,s2,n) IntlStrEqWorkerA(FALSE,s1,s2,n)
|
---|
918 | #define IntlStrEqNIW(s1,s2,n) IntlStrEqWorkerW(FALSE,s1,s2,n)
|
---|
919 | #define IntlStrEqNI WINELIB_NAME_AW(IntlStrEqNI)
|
---|
920 |
|
---|
921 | HRESULT WINAPI StrRetToStrA(STRRET*,LPCITEMIDLIST,LPSTR*);
|
---|
922 | HRESULT WINAPI StrRetToStrW(STRRET*,LPCITEMIDLIST,LPWSTR*);
|
---|
923 | #define StrRetToStr WINELIB_NAME_AW(StrRetToStr)
|
---|
924 |
|
---|
925 | HRESULT WINAPI StrRetToBufA(STRRET*,LPCITEMIDLIST,LPSTR,UINT);
|
---|
926 | HRESULT WINAPI StrRetToBufW(STRRET*,LPCITEMIDLIST,LPWSTR,UINT);
|
---|
927 | #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
|
---|
928 |
|
---|
929 | HRESULT WINAPI StrRetToBSTR(STRRET*,LPCITEMIDLIST,BSTR*);
|
---|
930 |
|
---|
931 | #endif /* NO_SHLWAPI_STRFCNS */
|
---|
932 |
|
---|
933 |
|
---|
934 | /* GDI functions */
|
---|
935 | #ifndef NO_SHLWAPI_GDI
|
---|
936 |
|
---|
937 | HPALETTE WINAPI SHCreateShellPalette(HDC);
|
---|
938 |
|
---|
939 | COLORREF WINAPI ColorHLSToRGB(WORD,WORD,WORD);
|
---|
940 |
|
---|
941 | COLORREF WINAPI ColorAdjustLuma(COLORREF,int,BOOL);
|
---|
942 |
|
---|
943 | VOID WINAPI ColorRGBToHLS(COLORREF,LPWORD,LPWORD,LPWORD);
|
---|
944 |
|
---|
945 | #endif /* NO_SHLWAPI_GDI */
|
---|
946 |
|
---|
947 |
|
---|
948 | /* Stream functions */
|
---|
949 | #ifndef NO_SHLWAPI_STREAM
|
---|
950 |
|
---|
951 | struct IStream * WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
|
---|
952 | struct IStream * WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
|
---|
953 | #define SHOpenRegStream WINELIB_NAME_AW(SHOpenRegStream2) /* Uses version 2 */
|
---|
954 |
|
---|
955 | struct IStream * WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
|
---|
956 | struct IStream * WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
|
---|
957 | #define SHOpenRegStream2 WINELIB_NAME_AW(SHOpenRegStream2)
|
---|
958 |
|
---|
959 | HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
|
---|
960 | HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
|
---|
961 | #define SHCreateStreamOnFile WINELIB_NAME_AW(SHCreateStreamOnFile)
|
---|
962 |
|
---|
963 | HRESULT WINAPI SHCreateStreamOnFileEx(LPCWSTR,DWORD,DWORD,BOOL,struct IStream*,struct IStream**);
|
---|
964 |
|
---|
965 | HRESULT WINAPI SHCreateStreamWrapper(LPBYTE,DWORD,DWORD,struct IStream**);
|
---|
966 |
|
---|
967 | #endif /* NO_SHLWAPI_STREAM */
|
---|
968 |
|
---|
969 | /* SHAutoComplete flags */
|
---|
970 | #define SHACF_DEFAULT 0x00000000
|
---|
971 | #define SHACF_FILESYSTEM 0x00000001
|
---|
972 | #define SHACF_URLHISTORY 0x00000002
|
---|
973 | #define SHACF_URLMRU 0x00000004
|
---|
974 | #define SHACF_URLALL (SHACF_URLHISTORY|SHACF_URLMRU)
|
---|
975 | #define SHACF_USETAB 0x00000008
|
---|
976 | #define SHACF_FILESYS_ONLY 0x00000010
|
---|
977 | #define SHACF_FILESYS_DIRS 0x00000020
|
---|
978 | #define SHACF_AUTOSUGGEST_FORCE_ON 0x10000000
|
---|
979 | #define SHACF_AUTOSUGGEST_FORCE_OFF 0x20000000
|
---|
980 | #define SHACF_AUTOAPPEND_FORCE_ON 0x40000000
|
---|
981 | #define SHACF_AUTOAPPEND_FORCE_OFF 0x80000000
|
---|
982 |
|
---|
983 | HRESULT WINAPI SHAutoComplete(HWND,DWORD);
|
---|
984 |
|
---|
985 | /* Threads */
|
---|
986 | HRESULT WINAPI SHGetThreadRef(IUnknown**);
|
---|
987 | HRESULT WINAPI SHSetThreadRef(IUnknown*);
|
---|
988 | HRESULT WINAPI SHReleaseThreadRef(void);
|
---|
989 |
|
---|
990 | /* SHCreateThread flags */
|
---|
991 | #define CTF_INSIST 0x01 /* Always call */
|
---|
992 | #define CTF_THREAD_REF 0x02 /* Hold thread ref */
|
---|
993 | #define CTF_PROCESS_REF 0x04 /* Hold process ref */
|
---|
994 | #define CTF_COINIT 0x08 /* Startup COM first */
|
---|
995 | #define CTF_FREELIBANDEXIT 0x10 /* Hold DLL ref */
|
---|
996 | #define CTF_REF_COUNTED 0x20 /* Thread is ref counted */
|
---|
997 | #define CTF_WAIT_ALLOWCOM 0x40 /* Allow marshalling */
|
---|
998 |
|
---|
999 | BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
|
---|
1000 |
|
---|
1001 | BOOL WINAPI SHSkipJunction(struct IBindCtx*,const CLSID*);
|
---|
1002 |
|
---|
1003 | /* Version Information */
|
---|
1004 |
|
---|
1005 | typedef struct _DllVersionInfo {
|
---|
1006 | DWORD cbSize;
|
---|
1007 | DWORD dwMajorVersion;
|
---|
1008 | DWORD dwMinorVersion;
|
---|
1009 | DWORD dwBuildNumber;
|
---|
1010 | DWORD dwPlatformID;
|
---|
1011 | } DLLVERSIONINFO;
|
---|
1012 |
|
---|
1013 | #define DLLVER_PLATFORM_WINDOWS 0x01 /* Win9x */
|
---|
1014 | #define DLLVER_PLATFORM_NT 0x02 /* WinNT */
|
---|
1015 |
|
---|
1016 | typedef HRESULT (CALLBACK *DLLGETVERSIONPROC)(DLLVERSIONINFO *);
|
---|
1017 |
|
---|
1018 | #ifdef __WINESRC__
|
---|
1019 | /* shouldn't be here, but is nice for type checking */
|
---|
1020 | HRESULT WINAPI DllGetVersion(DLLVERSIONINFO *) DECLSPEC_HIDDEN;
|
---|
1021 | #endif
|
---|
1022 |
|
---|
1023 | typedef struct _DLLVERSIONINFO2 {
|
---|
1024 | DLLVERSIONINFO info1;
|
---|
1025 | DWORD dwFlags; /* Reserved */
|
---|
1026 | ULONGLONG DECLSPEC_ALIGN(8) ullVersion; /* 16 bits each for Major, Minor, Build, QFE */
|
---|
1027 | } DLLVERSIONINFO2;
|
---|
1028 |
|
---|
1029 | #define DLLVER_MAJOR_MASK 0xFFFF000000000000
|
---|
1030 | #define DLLVER_MINOR_MASK 0x0000FFFF00000000
|
---|
1031 | #define DLLVER_BUILD_MASK 0x00000000FFFF0000
|
---|
1032 | #define DLLVER_QFE_MASK 0x000000000000FFFF
|
---|
1033 |
|
---|
1034 | #define MAKEDLLVERULL(mjr, mnr, bld, qfe) (((ULONGLONG)(mjr)<< 48)| \
|
---|
1035 | ((ULONGLONG)(mnr)<< 32) | ((ULONGLONG)(bld)<< 16) | (ULONGLONG)(qfe))
|
---|
1036 |
|
---|
1037 | HRESULT WINAPI DllInstall(BOOL,LPCWSTR) DECLSPEC_HIDDEN;
|
---|
1038 |
|
---|
1039 |
|
---|
1040 | /* IsOS definitions */
|
---|
1041 |
|
---|
1042 | #define OS_WIN32SORGREATER 0x00
|
---|
1043 | #define OS_NT 0x01
|
---|
1044 | #define OS_WIN95ORGREATER 0x02
|
---|
1045 | #define OS_NT4ORGREATER 0x03
|
---|
1046 | #define OS_WIN2000ORGREATER_ALT 0x04
|
---|
1047 | #define OS_WIN98ORGREATER 0x05
|
---|
1048 | #define OS_WIN98_GOLD 0x06
|
---|
1049 | #define OS_WIN2000ORGREATER 0x07
|
---|
1050 | #define OS_WIN2000PRO 0x08
|
---|
1051 | #define OS_WIN2000SERVER 0x09
|
---|
1052 | #define OS_WIN2000ADVSERVER 0x0A
|
---|
1053 | #define OS_WIN2000DATACENTER 0x0B
|
---|
1054 | #define OS_WIN2000TERMINAL 0x0C
|
---|
1055 | #define OS_EMBEDDED 0x0D
|
---|
1056 | #define OS_TERMINALCLIENT 0x0E
|
---|
1057 | #define OS_TERMINALREMOTEADMIN 0x0F
|
---|
1058 | #define OS_WIN95_GOLD 0x10
|
---|
1059 | #define OS_MEORGREATER 0x11
|
---|
1060 | #define OS_XPORGREATER 0x12
|
---|
1061 | #define OS_HOME 0x13
|
---|
1062 | #define OS_PROFESSIONAL 0x14
|
---|
1063 | #define OS_DATACENTER 0x15
|
---|
1064 | #define OS_ADVSERVER 0x16
|
---|
1065 | #define OS_SERVER 0x17
|
---|
1066 | #define OS_TERMINALSERVER 0x18
|
---|
1067 | #define OS_PERSONALTERMINALSERVER 0x19
|
---|
1068 | #define OS_FASTUSERSWITCHING 0x1A
|
---|
1069 | #define OS_WELCOMELOGONUI 0x1B
|
---|
1070 | #define OS_DOMAINMEMBER 0x1C
|
---|
1071 | #define OS_ANYSERVER 0x1D
|
---|
1072 | #define OS_WOW6432 0x1E
|
---|
1073 | #define OS_WEBSERVER 0x1F
|
---|
1074 | #define OS_SMALLBUSINESSSERVER 0x20
|
---|
1075 | #define OS_TABLETPC 0x21
|
---|
1076 | #define OS_SERVERADMINUI 0x22
|
---|
1077 | #define OS_MEDIACENTER 0x23
|
---|
1078 | #define OS_APPLIANCE 0x24
|
---|
1079 |
|
---|
1080 | BOOL WINAPI IsOS(DWORD);
|
---|
1081 |
|
---|
1082 | /* SHSetTimerQueueTimer definitions */
|
---|
1083 | #define TPS_EXECUTEIO 0x00000001
|
---|
1084 | #define TPS_LONGEXECTIME 0x00000008
|
---|
1085 |
|
---|
1086 | /* SHFormatDateTimeA/SHFormatDateTimeW flags */
|
---|
1087 | #define FDTF_SHORTTIME 0x00000001
|
---|
1088 | #define FDTF_SHORTDATE 0x00000002
|
---|
1089 | #define FDTF_DEFAULT (FDTF_SHORTDATE | FDTF_SHORTTIME)
|
---|
1090 | #define FDTF_LONGDATE 0x00000004
|
---|
1091 | #define FDTF_LONGTIME 0x00000008
|
---|
1092 | #define FDTF_RELATIVE 0x00000010
|
---|
1093 | #define FDTF_LTRDATE 0x00000100
|
---|
1094 | #define FDTF_RTLDATE 0x00000200
|
---|
1095 | #define FDTF_NOAUTOREADINGORDER 0x00000400
|
---|
1096 |
|
---|
1097 |
|
---|
1098 | typedef struct
|
---|
1099 | {
|
---|
1100 | const IID *piid;
|
---|
1101 | int dwOffset;
|
---|
1102 | } QITAB, *LPQITAB;
|
---|
1103 |
|
---|
1104 | HRESULT WINAPI QISearch(void* base, const QITAB *pqit, REFIID riid, void **ppv);
|
---|
1105 |
|
---|
1106 | #include <poppack.h>
|
---|
1107 |
|
---|
1108 | #ifdef __cplusplus
|
---|
1109 | } /* extern "C" */
|
---|
1110 | #endif /* defined(__cplusplus) */
|
---|
1111 |
|
---|
1112 | #endif /* __WINE_SHLWAPI_H */
|
---|