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