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