- NDK 0.98, now with versionned headers. Too many changes to list, see the TinyKRNL...
[reactos.git] / reactos / include / shlwapi.h
1 #ifndef _SHLWAPI_H
2 #define _SHLWAPI_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #ifndef __OBJC__
12 #include <objbase.h>
13 #include <shlobj.h>
14 #endif
15
16 #ifndef WINSHLWAPI
17 #define WINSHLWAPI DECLSPEC_IMPORT
18 #endif
19
20 #define DLLVER_PLATFORM_WINDOWS 0x00000001
21 #define DLLVER_PLATFORM_NT 0x00000002
22
23 #define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
24 #define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO
25 #define URL_DONT_SIMPLIFY 0x08000000
26 #define URL_ESCAPE_PERCENT 0x00001000
27 #define URL_ESCAPE_SEGMENT_ONLY 0x00002000
28 #define URL_ESCAPE_SPACES_ONLY 0x04000000
29 #define URL_ESCAPE_UNSAFE 0x20000000
30 #define URL_INTERNAL_PATH 0x00800000
31 #define URL_PARTFLAG_KEEPSCHEME 0x00000001
32 #define URL_PLUGGABLE_PROTOCOL 0x40000000
33 #define URL_UNESCAPE 0x10000000
34 #define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
35 #define URL_UNESCAPE_INPLACE 0x00100000
36
37 #define URL_APPLY_FORCEAPPLY 0x00000008
38 #define URL_APPLY_GUESSFILE 0x00000004
39 #define URL_APPLY_GUESSSCHEME 0x00000002
40 #define URL_APPLY_DEFAULT 0x00000001
41
42 #define OS_WIN32SORGREATER 0x00
43 #define OS_NT 0x01
44 #define OS_WIN95ORGREATER 0x02
45 #define OS_NT4ORGREATER 0x03
46 #define OS_WIN2000ORGREATER_ALT 0x04
47 #define OS_WIN98ORGREATER 0x05
48 #define OS_WIN98_GOLD 0x06
49 #define OS_WIN2000ORGREATER 0x07
50 #define OS_WIN2000PRO 0x08
51 #define OS_WIN2000SERVER 0x09
52 #define OS_WIN2000ADVSERVER 0x0A
53 #define OS_WIN2000DATACENTER 0x0B
54 #define OS_WIN2000TERMINAL 0x0C
55 #define OS_EMBEDDED 0x0D
56 #define OS_TERMINALCLIENT 0x0E
57 #define OS_TERMINALREMOTEADMIN 0x0F
58 #define OS_WIN95_GOLD 0x10
59 #define OS_MEORGREATER 0x11
60 #define OS_XPORGREATER 0x12
61 #define OS_HOME 0x13
62 #define OS_PROFESSIONAL 0x14
63 #define OS_DATACENTER 0x15
64 #define OS_ADVSERVER 0x16
65 #define OS_SERVER 0x17
66 #define OS_TERMINALSERVER 0x18
67 #define OS_PERSONALTERMINALSERVER 0x19
68 #define OS_FASTUSERSWITCHING 0x1A
69 #define OS_WELCOMELOGONUI 0x1B
70 #define OS_DOMAINMEMBER 0x1C
71 #define OS_ANYSERVER 0x1D
72 #define OS_WOW6432 0x1E
73 #define OS_WEBSERVER 0x1F
74 #define OS_SMALLBUSINESSSERVER 0x20
75 #define OS_TABLETPC 0x21
76 #define OS_SERVERADMINUI 0x22
77 #define OS_MEDIACENTER 0x23
78 #define OS_APPLIANCE 0x24
79
80 #define SHREGSET_HKCU 0x1
81 #define SHREGSET_FORCE_HKCU 0x2
82 #define SHREGSET_HKLM 0x4
83 #define SHREGSET_FORCE_HKLM 0x8
84 #define SHREGSET_DEFAULT (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)
85
86 #define STIF_DEFAULT 0x0L
87 #define STIF_SUPPORT_HEX 0x1L
88
89 #define CTF_INSIST 0x01
90 #define CTF_THREAD_REF 0x02
91 #define CTF_PROCESS_REF 0x04
92 #define CTF_COINIT 0x08
93 #define CTF_FREELIBANDEXIT 0x10
94 #define CTF_REF_COUNTED 0x20
95 #define CTF_WAIT_ALLOWCOM 0x40
96
97 #define GCT_INVALID 0x0
98 #define GCT_LFNCHAR 0x1
99 #define GCT_SHORTCHAR 0x2
100 #define GCT_WILD 0x4
101 #define GCT_SEPARATOR 0x8
102
103 #ifndef RC_INVOKED
104 #include <pshpack1.h>
105 typedef struct _DllVersionInfo
106 {
107 DWORD cbSize;
108 DWORD dwMajorVersion;
109 DWORD dwMinorVersion;
110 DWORD dwBuildNumber;
111 DWORD dwPlatformID;
112 } DLLVERSIONINFO;
113 typedef struct _DLLVERSIONINFO2
114 {
115 DLLVERSIONINFO info1;
116 DWORD dwFlags;
117 ULONGLONG ullVersion;
118 } DLLVERSIONINFO2;
119 #include <poppack.h>
120
121 #define MAKEDLLVERULL(major, minor, build, qfe) \
122 (((ULONGLONG)(major) << 48) | \
123 ((ULONGLONG)(minor) << 32) | \
124 ((ULONGLONG)(build) << 16) | \
125 ((ULONGLONG)( qfe) << 0))
126
127 typedef enum {
128 ASSOCSTR_COMMAND,
129 ASSOCSTR_EXECUTABLE,
130 ASSOCSTR_FRIENDLYDOCNAME,
131 ASSOCSTR_FRIENDLYAPPNAME,
132 ASSOCSTR_NOOPEN,
133 ASSOCSTR_SHELLNEWVALUE,
134 ASSOCSTR_DDECOMMAND,
135 ASSOCSTR_DDEIFEXEC,
136 ASSOCSTR_DDEAPPLICATION,
137 ASSOCSTR_DDETOPIC
138 } ASSOCSTR;
139 typedef enum
140 {
141 ASSOCKEY_SHELLEXECCLASS = 1,
142 ASSOCKEY_APP,
143 ASSOCKEY_CLASS,
144 ASSOCKEY_BASECLASS
145 } ASSOCKEY;
146 typedef enum
147 {
148 ASSOCDATA_MSIDESCRIPTOR = 1,
149 ASSOCDATA_NOACTIVATEHANDLER,
150 ASSOCDATA_QUERYCLASSSTORE
151 } ASSOCDATA;
152 typedef DWORD ASSOCF;
153 enum
154 {
155 ASSOCF_INIT_NOREMAPCLSID = 0x001,
156 ASSOCF_INIT_BYEXENAME = 0x002,
157 ASSOCF_OPEN_BYEXENAME = 0x002,
158 ASSOCF_INIT_DEFAULTTOSTAR = 0x004,
159 ASSOCF_INIT_DEFAULTTOFOLDER = 0x008,
160 ASSOCF_NOUSERSETTINGS = 0x010,
161 ASSOCF_NOTRUNCATE = 0x020,
162 ASSOCF_VERIFY = 0x040,
163 ASSOCF_REMAPRUNDLL = 0x080,
164 ASSOCF_NOFIXUPS = 0x100,
165 ASSOCF_IGNOREBASECLASS = 0x200,
166 };
167
168 typedef enum
169 {
170 ASSOCENUM_NONE
171 } ASSOCENUM;
172 typedef enum
173 {
174 SHREGDEL_DEFAULT = 0x00000000,
175 SHREGDEL_HKCU = 0x00000001,
176 SHREGDEL_HKLM = 0x00000010,
177 SHREGDEL_BOTH = 0x00000011
178 } SHREGDEL_FLAGS;
179 typedef enum
180 {
181 SHREGENUM_DEFAULT = 0x00000000,
182 SHREGENUM_HKCU = 0x00000001,
183 SHREGENUM_HKLM = 0x00000010,
184 SHREGENUM_BOTH = 0x00000011
185 } SHREGENUM_FLAGS;
186 typedef struct tagPARSEDURLA {
187 DWORD cbSize;
188 LPCSTR pszProtocol;
189 UINT cchProtocol;
190 LPCSTR pszSuffix;
191 UINT cchSuffix;
192 UINT nScheme;
193 } PARSEDURLA, *PPARSEDURLA;
194 typedef struct tagPARSEDURLW {
195 DWORD cbSize;
196 LPCWSTR pszProtocol;
197 UINT cchProtocol;
198 LPCWSTR pszSuffix;
199 UINT cchSuffix;
200 UINT nScheme;
201 } PARSEDURLW, *PPARSEDURLW;
202 typedef enum
203 {
204 URLIS_URL,
205 URLIS_OPAQUE,
206 URLIS_NOHISTORY,
207 URLIS_FILEURL,
208 URLIS_APPLIABLE,
209 URLIS_DIRECTORY,
210 URLIS_HASQUERY
211 } URLIS;
212 typedef enum {
213 URL_SCHEME_INVALID = -1,
214 URL_SCHEME_UNKNOWN = 0,
215 URL_SCHEME_FTP,
216 URL_SCHEME_HTTP,
217 URL_SCHEME_GOPHER,
218 URL_SCHEME_MAILTO,
219 URL_SCHEME_NEWS,
220 URL_SCHEME_NNTP,
221 URL_SCHEME_TELNET,
222 URL_SCHEME_WAIS,
223 URL_SCHEME_FILE,
224 URL_SCHEME_MK,
225 URL_SCHEME_HTTPS,
226 URL_SCHEME_SHELL,
227 URL_SCHEME_SNEWS,
228 URL_SCHEME_LOCAL,
229 URL_SCHEME_JAVASCRIPT,
230 URL_SCHEME_VBSCRIPT,
231 URL_SCHEME_ABOUT,
232 URL_SCHEME_RES,
233 URL_SCHEME_MSSHELLROOTED,
234 URL_SCHEME_MSSHELLIDLIST,
235 URL_SCHEME_MSHELP,
236 URL_SCHEME_MAXVALUE
237 } URL_SCHEME;
238 typedef enum {
239 URL_PART_NONE = 0,
240 URL_PART_SCHEME = 1,
241 URL_PART_HOSTNAME,
242 URL_PART_USERNAME,
243 URL_PART_PASSWORD,
244 URL_PART_PORT,
245 URL_PART_QUERY
246 } URL_PART;
247
248
249 typedef HANDLE HUSKEY, *PHUSKEY;
250
251 typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
252
253 WINSHLWAPI BOOL WINAPI ChrCmpIA(WORD,WORD);
254 WINSHLWAPI BOOL WINAPI ChrCmpIW(WCHAR,WCHAR);
255 #define IntlStrEqNA(pStr1, pStr2, nChar) IntlStrEqWorkerA(TRUE, pStr1, pStr2, nChar);
256 #define IntlStrEqNW(pStr1, pStr2, nChar) IntlStrEqWorkerW(TRUE, pStr1, pStr2, nChar);
257 #define IntlStrEqNIA(pStr1, pStr2, nChar) IntlStrEqWorkerA(FALSE, pStr1, pStr2, nChar);
258 #define IntlStrEqNIW(pStr1, pStr2, nChar) IntlStrEqWorkerW(FALSE, pStr1, pStr2, nChar);
259 WINSHLWAPI BOOL WINAPI IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int);
260 WINSHLWAPI BOOL WINAPI IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int);
261 WINSHLWAPI BOOL WINAPI IsOS(DWORD);
262 WINSHLWAPI HRESULT WINAPI SHLoadIndirectString(LPCWSTR,LPWSTR,UINT,PVOID*);
263 WINSHLWAPI HRESULT WINAPI SHStrDupA(LPCSTR,LPWSTR*);
264 WINSHLWAPI HRESULT WINAPI SHStrDupW(LPCWSTR,LPWSTR*);
265 WINSHLWAPI LPSTR WINAPI StrCatA(LPSTR,LPCSTR);
266 WINSHLWAPI LPWSTR WINAPI StrCatW(LPWSTR,LPCWSTR);
267 WINSHLWAPI LPSTR WINAPI StrCatBuffA(LPSTR,LPCSTR,int);
268 WINSHLWAPI LPWSTR WINAPI StrCatBuffW(LPWSTR,LPCWSTR,int);
269 WINSHLWAPI DWORD WINAPI StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR);
270 WINSHLWAPI LPSTR WINAPI StrChrA(LPCSTR,WORD);
271 WINSHLWAPI LPWSTR WINAPI StrChrW(LPCWSTR,WCHAR);
272 WINSHLWAPI LPSTR WINAPI StrChrIA(LPCSTR,WORD);
273 WINSHLWAPI LPWSTR WINAPI StrChrIW(LPCWSTR,WCHAR);
274 #define StrCmpIA lstrcmpiA
275 #define StrCmpA lstrcmpA
276 #define StrCpyA lstrcpyA
277 #define StrCpyNA lstrcpynA
278 WINSHLWAPI int WINAPI StrCmpIW(LPCWSTR,LPCWSTR);
279 WINSHLWAPI int WINAPI StrCmpW(LPCWSTR,LPCWSTR);
280 WINSHLWAPI LPWSTR WINAPI StrCpyW(LPWSTR,LPCWSTR);
281 WINSHLWAPI LPWSTR WINAPI StrCpyNW(LPWSTR,LPCWSTR,int);
282 WINSHLWAPI int WINAPI StrCmpNA(LPCSTR,LPCSTR,int);
283 WINSHLWAPI int WINAPI StrCmpNW(LPCWSTR,LPCWSTR,int);
284 WINSHLWAPI int WINAPI StrCmpNIA(LPCSTR,LPCSTR,int);
285 WINSHLWAPI int WINAPI StrCmpNIW(LPCWSTR,LPCWSTR,int);
286 WINSHLWAPI int WINAPI StrCSpnA(LPCSTR,LPCSTR);
287 WINSHLWAPI int WINAPI StrCSpnW(LPCWSTR,LPCWSTR);
288 WINSHLWAPI int WINAPI StrCSpnIA(LPCSTR,LPCSTR);
289 WINSHLWAPI int WINAPI StrCSpnIW(LPCWSTR,LPCWSTR);
290 WINSHLWAPI LPSTR WINAPI StrDupA(LPCSTR);
291 WINSHLWAPI LPWSTR WINAPI StrDupW(LPCWSTR);
292 WINSHLWAPI LPSTR WINAPI StrFormatByteSize64A(LONGLONG,LPSTR,UINT);
293 WINSHLWAPI LPSTR WINAPI StrFormatByteSizeA(DWORD,LPSTR,UINT);
294 WINSHLWAPI LPWSTR WINAPI StrFormatByteSizeW(LONGLONG,LPWSTR,UINT);
295 WINSHLWAPI LPSTR WINAPI StrFormatKBSizeA(LONGLONG,LPSTR,UINT);
296 WINSHLWAPI LPWSTR WINAPI StrFormatKBSizeW(LONGLONG,LPWSTR,UINT);
297 WINSHLWAPI int WINAPI StrFromTimeIntervalA(LPSTR,UINT,DWORD,int);
298 WINSHLWAPI int WINAPI StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int);
299 WINSHLWAPI BOOL WINAPI StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int);
300 WINSHLWAPI BOOL WINAPI StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int);
301 WINSHLWAPI LPSTR WINAPI StrNCatA(LPSTR,LPCSTR,int);
302 WINSHLWAPI LPWSTR WINAPI StrNCatW(LPWSTR,LPCWSTR,int);
303 WINSHLWAPI LPSTR WINAPI StrPBrkA(LPCSTR,LPCSTR);
304 WINSHLWAPI LPWSTR WINAPI StrPBrkW(LPCWSTR,LPCWSTR);
305 WINSHLWAPI LPSTR WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
306 WINSHLWAPI LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WCHAR);
307 WINSHLWAPI LPSTR WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
308 WINSHLWAPI LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WCHAR);
309 #ifndef __OBJC__
310 WINSHLWAPI HRESULT WINAPI StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
311 WINSHLWAPI HRESULT WINAPI StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
312 WINSHLWAPI HRESULT WINAPI StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
313 WINSHLWAPI HRESULT WINAPI StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*);
314 #endif
315 WINSHLWAPI LPSTR WINAPI StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
316 WINSHLWAPI LPWSTR WINAPI StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
317 WINSHLWAPI int WINAPI StrSpnA(LPCSTR,LPCSTR);
318 WINSHLWAPI int WINAPI StrSpnW(LPCWSTR,LPCWSTR);
319 WINSHLWAPI LPSTR WINAPI StrStrA(LPCSTR, LPCSTR);
320 WINSHLWAPI LPSTR WINAPI StrStrIA(LPCSTR,LPCSTR);
321 WINSHLWAPI LPWSTR WINAPI StrStrIW(LPCWSTR,LPCWSTR);
322 WINSHLWAPI LPWSTR WINAPI StrStrW(LPCWSTR,LPCWSTR);
323 WINSHLWAPI int WINAPI StrToIntA(LPCSTR);
324 WINSHLWAPI int WINAPI StrToIntW(LPCWSTR);
325 WINSHLWAPI BOOL WINAPI StrToIntExA(LPCSTR,DWORD,int*);
326 WINSHLWAPI BOOL WINAPI StrToIntExW(LPCWSTR,DWORD,int*);
327 WINSHLWAPI BOOL WINAPI StrTrimA(LPSTR,LPCSTR);
328 WINSHLWAPI BOOL WINAPI StrTrimW(LPWSTR,LPCWSTR);
329 WINSHLWAPI LPSTR WINAPI PathAddBackslashA(LPSTR);
330 WINSHLWAPI LPWSTR WINAPI PathAddBackslashW(LPWSTR);
331 WINSHLWAPI BOOL WINAPI PathAddExtensionA(LPSTR,LPCSTR);
332 WINSHLWAPI BOOL WINAPI PathAddExtensionW(LPWSTR,LPCWSTR);
333 WINSHLWAPI BOOL WINAPI PathAppendA(LPSTR,LPCSTR);
334 WINSHLWAPI BOOL WINAPI PathAppendW(LPWSTR,LPCWSTR);
335 WINSHLWAPI LPSTR WINAPI PathBuildRootA(LPSTR,int);
336 WINSHLWAPI LPWSTR WINAPI PathBuildRootW(LPWSTR,int);
337 WINSHLWAPI BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR);
338 WINSHLWAPI BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR);
339 WINSHLWAPI LPSTR WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR);
340 WINSHLWAPI LPWSTR WINAPI PathCombineW(LPWSTR,LPCWSTR,LPCWSTR);
341 WINSHLWAPI int WINAPI PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR);
342 WINSHLWAPI int WINAPI PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR);
343 WINSHLWAPI BOOL WINAPI PathCompactPathA(HDC,LPSTR,UINT);
344 WINSHLWAPI BOOL WINAPI PathCompactPathW(HDC,LPWSTR,UINT);
345 WINSHLWAPI BOOL WINAPI PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD);
346 WINSHLWAPI BOOL WINAPI PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD);
347 WINSHLWAPI HRESULT WINAPI PathCreateFromUrlA(LPCSTR,LPSTR,LPDWORD,DWORD);
348 WINSHLWAPI HRESULT WINAPI PathCreateFromUrlW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
349 WINSHLWAPI BOOL WINAPI PathFileExistsA(LPCSTR);
350 WINSHLWAPI BOOL WINAPI PathFileExistsW(LPCWSTR);
351 WINSHLWAPI LPSTR WINAPI PathFindExtensionA(LPCSTR);
352 WINSHLWAPI LPWSTR WINAPI PathFindExtensionW(LPCWSTR);
353 WINSHLWAPI LPSTR WINAPI PathFindFileNameA(LPCSTR);
354 WINSHLWAPI LPWSTR WINAPI PathFindFileNameW(LPCWSTR);
355 WINSHLWAPI LPSTR WINAPI PathFindNextComponentA(LPCSTR);
356 WINSHLWAPI LPWSTR WINAPI PathFindNextComponentW(LPCWSTR);
357 WINSHLWAPI BOOL WINAPI PathFindOnPathA(LPSTR,LPCSTR*);
358 WINSHLWAPI BOOL WINAPI PathFindOnPathW(LPWSTR,LPCWSTR*);
359 WINSHLWAPI LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR*,int);
360 WINSHLWAPI LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR*,int);
361 WINSHLWAPI LPSTR WINAPI PathGetArgsA(LPCSTR);
362 WINSHLWAPI LPWSTR WINAPI PathGetArgsW(LPCWSTR);
363 WINSHLWAPI UINT WINAPI PathGetCharTypeA(UCHAR);
364 WINSHLWAPI UINT WINAPI PathGetCharTypeW(WCHAR);
365 WINSHLWAPI int WINAPI PathGetDriveNumberA(LPCSTR);
366 WINSHLWAPI int WINAPI PathGetDriveNumberW(LPCWSTR);
367 WINSHLWAPI BOOL WINAPI PathIsContentTypeA(LPCSTR,LPCSTR);
368 WINSHLWAPI BOOL WINAPI PathIsContentTypeW(LPCWSTR,LPCWSTR);
369 WINSHLWAPI BOOL WINAPI PathIsDirectoryA(LPCSTR);
370 WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR);
371 WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR);
372 WINSHLWAPI BOOL WINAPI PathIsDirectoryW(LPCWSTR);
373 WINSHLWAPI BOOL WINAPI PathIsFileSpecA(LPCSTR);
374 WINSHLWAPI BOOL WINAPI PathIsFileSpecW(LPCWSTR);
375 WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecA(LPCSTR);
376 WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecW(LPCWSTR);
377 WINSHLWAPI BOOL WINAPI PathIsNetworkPathA(LPCSTR);
378 WINSHLWAPI BOOL WINAPI PathIsNetworkPathW(LPCWSTR);
379 WINSHLWAPI BOOL WINAPI PathIsPrefixA(LPCSTR,LPCSTR);
380 WINSHLWAPI BOOL WINAPI PathIsPrefixW(LPCWSTR,LPCWSTR);
381 WINSHLWAPI BOOL WINAPI PathIsRelativeA(LPCSTR);
382 WINSHLWAPI BOOL WINAPI PathIsRelativeW(LPCWSTR);
383 WINSHLWAPI BOOL WINAPI PathIsRootA(LPCSTR);
384 WINSHLWAPI BOOL WINAPI PathIsRootW(LPCWSTR);
385 WINSHLWAPI BOOL WINAPI PathIsSameRootA(LPCSTR,LPCSTR);
386 WINSHLWAPI BOOL WINAPI PathIsSameRootW(LPCWSTR,LPCWSTR);
387 WINSHLWAPI BOOL WINAPI PathIsSystemFolderA(LPCSTR,DWORD);
388 WINSHLWAPI BOOL WINAPI PathIsSystemFolderW(LPCWSTR,DWORD);
389 WINSHLWAPI BOOL WINAPI PathIsUNCA(LPCSTR);
390 WINSHLWAPI BOOL WINAPI PathIsUNCServerA(LPCSTR);
391 WINSHLWAPI BOOL WINAPI PathIsUNCServerShareA(LPCSTR);
392 WINSHLWAPI BOOL WINAPI PathIsUNCServerShareW(LPCWSTR);
393 WINSHLWAPI BOOL WINAPI PathIsUNCServerW(LPCWSTR);
394 WINSHLWAPI BOOL WINAPI PathIsUNCW(LPCWSTR);
395 WINSHLWAPI BOOL WINAPI PathIsURLA(LPCSTR);
396 WINSHLWAPI BOOL WINAPI PathIsURLW(LPCWSTR);
397 WINSHLWAPI BOOL WINAPI PathMakePrettyA(LPSTR);
398 WINSHLWAPI BOOL WINAPI PathMakePrettyW(LPWSTR);
399 WINSHLWAPI BOOL WINAPI PathMakeSystemFolderA(LPCSTR);
400 WINSHLWAPI BOOL WINAPI PathMakeSystemFolderW(LPCWSTR);
401 WINSHLWAPI BOOL WINAPI PathMatchSpecA(LPCSTR,LPCSTR);
402 WINSHLWAPI BOOL WINAPI PathMatchSpecW(LPCWSTR,LPCWSTR);
403 WINSHLWAPI int WINAPI PathParseIconLocationA(LPSTR);
404 WINSHLWAPI int WINAPI PathParseIconLocationW(LPWSTR);
405 WINSHLWAPI void WINAPI PathQuoteSpacesA(LPSTR);
406 WINSHLWAPI void WINAPI PathQuoteSpacesW(LPWSTR);
407 WINSHLWAPI BOOL WINAPI PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD);
408 WINSHLWAPI BOOL WINAPI PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD);
409 WINSHLWAPI void WINAPI PathRemoveArgsA(LPSTR);
410 WINSHLWAPI void WINAPI PathRemoveArgsW(LPWSTR);
411 WINSHLWAPI LPSTR WINAPI PathRemoveBackslashA(LPSTR);
412 WINSHLWAPI LPWSTR WINAPI PathRemoveBackslashW(LPWSTR);
413 WINSHLWAPI void WINAPI PathRemoveBlanksA(LPSTR);
414 WINSHLWAPI void WINAPI PathRemoveBlanksW(LPWSTR);
415 WINSHLWAPI void WINAPI PathRemoveExtensionA(LPSTR);
416 WINSHLWAPI void WINAPI PathRemoveExtensionW(LPWSTR);
417 WINSHLWAPI BOOL WINAPI PathRemoveFileSpecA(LPSTR);
418 WINSHLWAPI BOOL WINAPI PathRemoveFileSpecW(LPWSTR);
419 WINSHLWAPI BOOL WINAPI PathRenameExtensionA(LPSTR,LPCSTR);
420 WINSHLWAPI BOOL WINAPI PathRenameExtensionW(LPWSTR,LPCWSTR);
421 WINSHLWAPI BOOL WINAPI PathSearchAndQualifyA(LPCSTR,LPSTR,UINT);
422 WINSHLWAPI BOOL WINAPI PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT);
423 WINSHLWAPI void WINAPI PathSetDlgItemPathA(HWND,int,LPCSTR);
424 WINSHLWAPI void WINAPI PathSetDlgItemPathW(HWND,int,LPCWSTR);
425 WINSHLWAPI LPSTR WINAPI PathSkipRootA(LPCSTR);
426 WINSHLWAPI LPWSTR WINAPI PathSkipRootW(LPCWSTR);
427 WINSHLWAPI void WINAPI PathStripPathA(LPSTR);
428 WINSHLWAPI void WINAPI PathStripPathW(LPWSTR);
429 WINSHLWAPI BOOL WINAPI PathStripToRootA(LPSTR);
430 WINSHLWAPI BOOL WINAPI PathStripToRootW(LPWSTR);
431 WINSHLWAPI void WINAPI PathUndecorateA(LPSTR);
432 WINSHLWAPI void WINAPI PathUndecorateW(LPWSTR);
433 WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT);
434 WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT);
435 WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderA(LPCSTR);
436 WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPCWSTR);
437 WINSHLWAPI void WINAPI PathUnquoteSpacesA(LPSTR);
438 WINSHLWAPI void WINAPI PathUnquoteSpacesW(LPWSTR);
439 WINSHLWAPI HRESULT WINAPI SHAutoComplete(HWND,DWORD);
440 #ifndef __OBJC__
441 WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
442 WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
443 WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
444 WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
445 WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
446 WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
447 #endif
448 WINSHLWAPI BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
449 WINSHLWAPI DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
450 WINSHLWAPI DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
451 WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyA(HKEY,LPCSTR);
452 WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyW(HKEY,LPCWSTR);
453 WINSHLWAPI DWORD WINAPI SHDeleteKeyA(HKEY,LPCSTR);
454 WINSHLWAPI DWORD WINAPI SHDeleteKeyW(HKEY,LPCWSTR);
455 WINSHLWAPI LONG WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD);
456 WINSHLWAPI LONG WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD);
457 WINSHLWAPI LONG WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
458 WINSHLWAPI LONG WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
459 WINSHLWAPI DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
460 WINSHLWAPI DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
461 #ifndef __OBJC__
462 WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**);
463 WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*);
464 WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
465 #endif
466 WINSHLWAPI LONG WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
467 WINSHLWAPI LONG WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
468 WINSHLWAPI DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
469 WINSHLWAPI DWORD WINAPI SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD);
470 WINSHLWAPI DWORD WINAPI SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
471 WINSHLWAPI DWORD WINAPI SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
472 WINSHLWAPI DWORD WINAPI SHDeleteValueA(HKEY,LPCSTR,LPCSTR);
473 WINSHLWAPI DWORD WINAPI SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR);
474 WINSHLWAPI HRESULT WINAPI AssocCreate(CLSID,const IID* const,LPVOID*);
475 WINSHLWAPI HRESULT WINAPI AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,HKEY*);
476 WINSHLWAPI HRESULT WINAPI AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,HKEY*);
477 WINSHLWAPI HRESULT WINAPI AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,DWORD*);
478 WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,DWORD*);
479 WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,DWORD*);
480 WINSHLWAPI HRESULT WINAPI AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD*);
481
482 WINSHLWAPI HRESULT WINAPI UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD);
483 WINSHLWAPI HRESULT WINAPI UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
484 WINSHLWAPI HRESULT WINAPI UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
485 WINSHLWAPI HRESULT WINAPI UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
486 WINSHLWAPI HRESULT WINAPI UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
487 WINSHLWAPI HRESULT WINAPI UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
488 WINSHLWAPI int WINAPI UrlCompareA(LPCSTR,LPCSTR,BOOL);
489 WINSHLWAPI int WINAPI UrlCompareW(LPCWSTR,LPCWSTR,BOOL);
490 WINSHLWAPI HRESULT WINAPI UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
491 WINSHLWAPI HRESULT WINAPI UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
492 WINSHLWAPI HRESULT WINAPI UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
493 WINSHLWAPI HRESULT WINAPI UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
494 WINSHLWAPI LPCSTR WINAPI UrlGetLocationA(LPCSTR);
495 WINSHLWAPI LPCWSTR WINAPI UrlGetLocationW(LPCWSTR);
496 WINSHLWAPI HRESULT WINAPI UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD);
497 WINSHLWAPI HRESULT WINAPI UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
498 WINSHLWAPI HRESULT WINAPI UrlHashA(LPCSTR,LPBYTE,DWORD);
499 WINSHLWAPI HRESULT WINAPI UrlHashW(LPCWSTR,LPBYTE,DWORD);
500 WINSHLWAPI BOOL WINAPI UrlIsA(LPCSTR,URLIS);
501 WINSHLWAPI BOOL WINAPI UrlIsW(LPCWSTR,URLIS);
502 #define UrlIsFileUrlA(pszURL) UrlIsA(pzURL, URLIS_FILEURL)
503 #define UrlIsFileUrlW(pszURL) UrlIsW(pszURL, URLIS_FILEURL)
504 WINSHLWAPI BOOL WINAPI UrlIsNoHistoryA(LPCSTR);
505 WINSHLWAPI BOOL WINAPI UrlIsNoHistoryW(LPCWSTR);
506 WINSHLWAPI BOOL WINAPI UrlIsOpaqueA(LPCSTR);
507 WINSHLWAPI BOOL WINAPI UrlIsOpaqueW(LPCWSTR);
508 WINSHLWAPI HRESULT WINAPI UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
509 WINSHLWAPI HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
510 #define UrlUnescapeInPlaceA(pszUrl,dwFlags )\
511 UrlUnescapeA(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
512 #define UrlUnescapeInPlaceW(pszUrl,dwFlags )\
513 UrlUnescapeW(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
514 WINSHLWAPI LONG WINAPI SHRegCloseUSKey(HUSKEY);
515 WINSHLWAPI LONG WINAPI SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
516 WINSHLWAPI LONG WINAPI SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
517 WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
518 WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
519 WINSHLWAPI LONG WINAPI SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
520 WINSHLWAPI LONG WINAPI SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
521 WINSHLWAPI HKEY WINAPI SHRegDuplicateHKey(HKEY);
522 WINSHLWAPI LONG WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS);
523 WINSHLWAPI LONG WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS);
524 WINSHLWAPI LONG WINAPI SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
525 WINSHLWAPI LONG WINAPI SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
526 WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL);
527 WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL);
528 WINSHLWAPI DWORD WINAPI SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD);
529 WINSHLWAPI DWORD WINAPI SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
530 WINSHLWAPI LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
531 WINSHLWAPI LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
532 WINSHLWAPI LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
533 WINSHLWAPI LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
534 WINSHLWAPI LONG WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
535 WINSHLWAPI LONG WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
536 WINSHLWAPI LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
537 WINSHLWAPI LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
538 WINSHLWAPI DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD);
539 WINSHLWAPI DWORD WINAPI SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
540 WINSHLWAPI LONG WINAPI SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
541 WINSHLWAPI LONG WINAPI SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
542 WINSHLWAPI LONG WINAPI SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
543 WINSHLWAPI LONG WINAPI SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
544 WINSHLWAPI HRESULT WINAPI HashData(LPBYTE,DWORD,LPBYTE,DWORD);
545 WINSHLWAPI HPALETTE WINAPI SHCreateShellPalette(HDC);
546 WINSHLWAPI COLORREF WINAPI ColorHLSToRGB(WORD,WORD,WORD);
547 WINSHLWAPI COLORREF WINAPI ColorAdjustLuma(COLORREF,int,BOOL);
548 WINSHLWAPI void WINAPI ColorRGBToHLS(COLORREF,WORD*,WORD*,WORD*);
549 WINSHLWAPI int __cdecl wnsprintfA(LPSTR,int,LPCSTR,...);
550 WINSHLWAPI int __cdecl wnsprintfW(LPWSTR,int,LPCWSTR,...);
551 WINSHLWAPI int WINAPI wvnsprintfA(LPSTR,int,LPCSTR,va_list);
552 WINSHLWAPI int WINAPI wvnsprintfW(LPWSTR,int,LPCWSTR,va_list);
553
554 HINSTANCE WINAPI MLLoadLibraryA(LPCSTR,HMODULE,DWORD);
555 HINSTANCE WINAPI MLLoadLibraryW(LPCWSTR,HMODULE,DWORD);
556
557 HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
558
559 #ifdef UNICODE
560 #define ChrCmpI ChrCmpIW
561 #define IntlStrEqN IntlStrEqNW
562 #define IntlStrEqNI IntlStrEqNIW
563 #define IntlStrEqWorker IntlStrEqWorkerW
564 #define SHStrDup SHStrDupW
565 #define StrCat StrCatW
566 #define StrCatBuff StrCatBuffW
567 #define StrChr StrChrW
568 #define StrChrI StrChrIW
569 #define StrCmp StrCmpW
570 #define StrCmpI StrCmpIW
571 #define StrCmpNI StrCmpNIW
572 #define StrCmpN StrCmpNW
573 #define StrCpyN StrCpyNW
574 #define StrCpy StrCpyW
575 #define StrCSpnI StrCSpnIW
576 #define StrCSpn StrCSpnW
577 #define StrDup StrDupW
578 #define StrFormatByteSize StrFormatByteSizeW
579 #define StrFormatKBSize StrFormatKBSizeW
580 #define StrFromTimeInterval StrFromTimeIntervalW
581 #define StrIsIntlEqual StrIsIntlEqualW
582 #define StrNCat StrNCatW
583 #define StrPBrk StrPBrkW
584 #define StrRChr StrRChrW
585 #define StrRChrI StrRChrIW
586 #ifndef __OBJC__
587 #define StrRetToBuf StrRetToBufW
588 #define StrRetToStr StrRetToStrW
589 #endif
590 #define StrRStrI StrRStrIW
591 #define StrSpn StrSpnW
592 #define StrStrI StrStrIW
593 #define StrStr StrStrW
594 #define StrToInt StrToIntW
595 #define StrToIntEx StrToIntExW
596 #define StrTrim StrTrimW
597 #define PathAddBackslash PathAddBackslashW
598 #define PathAddExtension PathAddExtensionW
599 #define PathAppend PathAppendW
600 #define PathBuildRoot PathBuildRootW
601 #define PathCanonicalize PathCanonicalizeW
602 #define PathCombine PathCombineW
603 #define PathCommonPrefix PathCommonPrefixW
604 #define PathCompactPath PathCompactPathW
605 #define PathCompactPathEx PathCompactPathExW
606 #define PathCreateFromUrl PathCreateFromUrlW
607 #define PathFileExists PathFileExistsW
608 #define PathFindExtension PathFindExtensionW
609 #define PathFindFileName PathFindFileNameW
610 #define PathFindNextComponent PathFindNextComponentW
611 #define PathFindOnPath PathFindOnPathW
612 #define PathFindSuffixArray PathFindSuffixArrayW
613 #define PathGetArgs PathGetArgsW
614 #define PathGetCharType PathGetCharTypeW
615 #define PathGetDriveNumber PathGetDriveNumberW
616 #define PathIsContentType PathIsContentTypeW
617 #define PathIsDirectoryEmpty PathIsDirectoryEmptyW
618 #define PathIsDirectory PathIsDirectoryW
619 #define PathIsFileSpec PathIsFileSpecW
620 #define PathIsLFNFileSpec PathIsLFNFileSpecW
621 #define PathIsNetworkPath PathIsNetworkPathW
622 #define PathIsPrefix PathIsPrefixW
623 #define PathIsRelative PathIsRelativeW
624 #define PathIsRoot PathIsRootW
625 #define PathIsSameRoot PathIsSameRootW
626 #define PathIsSystemFolder PathIsSystemFolderW
627 #define PathIsUNCServerShare PathIsUNCServerShareW
628 #define PathIsUNCServer PathIsUNCServerW
629 #define PathIsUNC PathIsUNCW
630 #define PathIsURL PathIsURLW
631 #define PathMakePretty PathMakePrettyW
632 #define PathMakeSystemFolder PathMakeSystemFolderW
633 #define PathMatchSpec PathMatchSpecW
634 #define PathParseIconLocation PathParseIconLocationW
635 #define PathQuoteSpaces PathQuoteSpacesW
636 #define PathRelativePathTo PathRelativePathToW
637 #define PathRemoveArgs PathRemoveArgsW
638 #define PathRemoveBackslash PathRemoveBackslashW
639 #define PathRemoveBlanks PathRemoveBlanksW
640 #define PathRemoveExtension PathRemoveExtensionW
641 #define PathRemoveFileSpec PathRemoveFileSpecW
642 #define PathRenameExtension PathRenameExtensionW
643 #define PathSearchAndQualify PathSearchAndQualifyW
644 #define PathSetDlgItemPath PathSetDlgItemPathW
645 #define PathSkipRoot PathSkipRootW
646 #define PathStripPath PathStripPathW
647 #define PathStripToRoot PathStripToRootW
648 #define PathUndecorate PathUndecorateW
649 #define PathUnExpandEnvStrings PathUnExpandEnvStringsW
650 #define PathUnmakeSystemFolder PathUnmakeSystemFolderW
651 #define PathUnquoteSpaces PathUnquoteSpacesW
652 #ifndef __OBJC__
653 #define SHCreateStreamOnFile SHCreateStreamOnFileW
654 #define SHOpenRegStream SHOpenRegStreamW
655 #define SHOpenRegStream2 SHOpenRegStream2W
656 #endif
657 #define SHCopyKey SHCopyKeyW
658 #define SHDeleteEmptyKey SHDeleteEmptyKeyW
659 #define SHDeleteKey SHDeleteKeyW
660 #define SHEnumKeyEx SHEnumKeyExW
661 #define SHQueryInfoKey SHRegQueryInfoKeyW
662 #define SHQueryValueEx SHQueryValueExW
663 #define SHEnumValue SHEnumValueW
664 #define SHGetValue SHGetValueW
665 #define SHSetValue SHSetValueW
666 #define SHDeleteValue SHDeleteValueW
667 #define AssocQueryKey AssocQueryKeyW
668 #define AssocQueryStringByKey AssocQueryStringByKeyW
669 #define AssocQueryString AssocQueryStringW
670 #define UrlApplyScheme UrlApplySchemeW
671 #define UrlCanonicalize UrlCanonicalizeW
672 #define UrlCombine UrlCombineW
673 #define UrlCompare UrlCompareW
674 #define UrlCreateFromPath UrlCreateFromPathW
675 #define UrlEscape UrlEscapeW
676 #define UrlGetLocation UrlGetLocationW
677 #define UrlGetPart UrlGetPartW
678 #define UrlHash UrlHashW
679 #define UrlIs UrlIsW
680 #define UrlIsFileUrl UrlIsFileUrlW
681 #define UrlIsNoHistory UrlIsNoHistoryW
682 #define UrlIsOpaque UrlIsOpaqueW
683 #define UrlUnescape UrlUnescapeW
684 #define UrlUnescapeInPlace UrlUnescapeInPlaceW
685 #define SHRegCreateUSKey SHRegCreateUSKeyW
686 #define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyW
687 #define SHRegDeleteUSValue SHRegDeleteUSValueW
688 #define SHRegEnumUSKey SHRegEnumUSKeyW
689 #define SHRegEnumUSValue SHRegEnumUSValueW
690 #define SHRegGetBoolUSValue SHRegGetBoolUSValueW
691 #define SHRegGetPath SHRegGetPathW
692 #define SHRegGetUSValue SHRegGetUSValueW
693 #define SHRegOpenUSKey SHRegOpenUSKeyW
694 #define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyW
695 #define SHRegQueryUSValue SHRegQueryUSValueW
696 #define SHRegSetPath SHRegSetPathW
697 #define SHRegSetUSValue SHRegSetUSValueW
698 #define SHRegWriteUSValue SHRegWriteUSValueW
699 #define wnsprintf wnsprintfW
700 #define wvnsprintf wvnsprintfW
701 typedef PARSEDURLW PARSEDURL;
702 typedef PPARSEDURLW PPARSEDURL;
703 #else /* UNICODE */
704 #define ChrCmpI ChrCmpIA
705 #define IntlStrEqN IntlStrEqNA
706 #define IntlStrEqNI IntlStrEqNIA
707 #define IntlStrEqWorker IntlStrEqWorkerA
708 #define SHStrDup SHStrDupA
709 #define StrCat lstrcatA
710 #define StrCatBuff StrCatBuffA
711 #define StrChr StrChrA
712 #define StrChrI StrChrIA
713 #define StrCmp lstrcmpA
714 #define StrCmpI lstrcmpiA
715 #define StrCmpNI StrCmpNIA
716 #define StrCmpN StrCmpNA
717 #define StrCpyN lstrcpynA
718 #define StrCpy lstrcpyA
719 #define StrCSpnI StrCSpnIA
720 #define StrCSpn StrCSpnA
721 #define StrDup StrDupA
722 #define StrFormatByteSize StrFormatByteSizeA
723 #define StrFormatKBSize StrFormatKBSizeA
724 #define StrFromTimeInterval StrFromTimeIntervalA
725 #define StrIsIntlEqual StrIsIntlEqualA
726 #define StrNCat StrNCatA
727 #define StrPBrk StrPBrkA
728 #define StrRChr StrRChrA
729 #define StrRChrI StrRChrIA
730 #ifndef __OBJC__
731 #define StrRetToBuf StrRetToBufA
732 #define StrRetToStr StrRetToStrA
733 #endif
734 #define StrRStrI StrRStrIA
735 #define StrSpn StrSpnA
736 #define StrStrI StrStrIA
737 #define StrStr StrStrA
738 #define StrToInt StrToIntA
739 #define StrToIntEx StrToIntExA
740 #define StrTrim StrTrimA
741 #define PathAddBackslash PathAddBackslashA
742 #define PathAddExtension PathAddExtensionA
743 #define PathAppend PathAppendA
744 #define PathBuildRoot PathBuildRootA
745 #define PathCanonicalize PathCanonicalizeA
746 #define PathCombine PathCombineA
747 #define PathCommonPrefix PathCommonPrefixA
748 #define PathCompactPath PathCompactPathA
749 #define PathCompactPathEx PathCompactPathExA
750 #define PathCreateFromUrl PathCreateFromUrlA
751 #define PathFileExists PathFileExistsA
752 #define PathFindExtension PathFindExtensionA
753 #define PathFindFileName PathFindFileNameA
754 #define PathFindNextComponent PathFindNextComponentA
755 #define PathFindOnPath PathFindOnPathA
756 #define PathFindSuffixArray PathFindSuffixArrayA
757 #define PathGetArgs PathGetArgsA
758 #define PathGetCharType PathGetCharTypeA
759 #define PathGetDriveNumber PathGetDriveNumberA
760 #define PathIsContentType PathIsContentTypeA
761 #define PathIsDirectoryEmpty PathIsDirectoryEmptyA
762 #define PathIsDirectory PathIsDirectoryA
763 #define PathIsFileSpec PathIsFileSpecA
764 #define PathIsLFNFileSpec PathIsLFNFileSpecA
765 #define PathIsNetworkPath PathIsNetworkPathA
766 #define PathIsPrefix PathIsPrefixA
767 #define PathIsRelative PathIsRelativeA
768 #define PathIsRoot PathIsRootA
769 #define PathIsSameRoot PathIsSameRootA
770 #define PathIsSystemFolder PathIsSystemFolderA
771 #define PathIsUNCServerShare PathIsUNCServerShareA
772 #define PathIsUNCServer PathIsUNCServerA
773 #define PathIsUNC PathIsUNCA
774 #define PathIsURL PathIsURLA
775 #define PathMakePretty PathMakePrettyA
776 #define PathMakeSystemFolder PathMakeSystemFolderA
777 #define PathMatchSpec PathMatchSpecA
778 #define PathParseIconLocation PathParseIconLocationA
779 #define PathQuoteSpaces PathQuoteSpacesA
780 #define PathRelativePathTo PathRelativePathToA
781 #define PathRemoveArgs PathRemoveArgsA
782 #define PathRemoveBackslash PathRemoveBackslashA
783 #define PathRemoveBlanks PathRemoveBlanksA
784 #define PathRemoveExtension PathRemoveExtensionA
785 #define PathRemoveFileSpec PathRemoveFileSpecA
786 #define PathRenameExtension PathRenameExtensionA
787 #define PathSearchAndQualify PathSearchAndQualifyA
788 #define PathSetDlgItemPath PathSetDlgItemPathA
789 #define PathSkipRoot PathSkipRootA
790 #define PathStripPath PathStripPathA
791 #define PathStripToRoot PathStripToRootA
792 #define PathUndecorate PathUndecorateA
793 #define PathUnExpandEnvStrings PathUnExpandEnvStringsA
794 #define PathUnmakeSystemFolder PathUnmakeSystemFolderA
795 #define PathUnquoteSpaces PathUnquoteSpacesA
796 #ifndef __OBJC__
797 #define SHCreateStreamOnFile SHCreateStreamOnFileA
798 #define SHOpenRegStream SHOpenRegStreamA
799 #define SHOpenRegStream2 SHOpenRegStream2A
800 #endif
801 #define SHCopyKey SHCopyKeyA
802 #define SHDeleteEmptyKey SHDeleteEmptyKeyA
803 #define SHDeleteKey SHDeleteKeyA
804 #define SHEnumKeyEx SHEnumKeyExA
805 #define SHQueryInfoKey SHRegQueryInfoKeyA
806 #define SHQueryValueEx SHQueryValueExA
807 #define SHEnumValue SHEnumValueA
808 #define SHGetValue SHGetValueA
809 #define SHSetValue SHSetValueA
810 #define SHDeleteValue SHDeleteValueA
811 #define AssocQueryKey AssocQueryKeyA
812 #define AssocQueryStringByKey AssocQueryStringByKeyA
813 #define AssocQueryString AssocQueryStringA
814 #define UrlApplyScheme UrlApplySchemeA
815 #define UrlCanonicalize UrlCanonicalizeA
816 #define UrlCombine UrlCombineA
817 #define UrlCompare UrlCompareA
818 #define UrlCreateFromPath UrlCreateFromPathA
819 #define UrlEscape UrlEscapeA
820 #define UrlGetLocation UrlGetLocationA
821 #define UrlGetPart UrlGetPartA
822 #define UrlHash UrlHashA
823 #define UrlIs UrlIsA
824 #define UrlIsFileUrl UrlIsFileUrl
825 #define UrlIsNoHistory UrlIsNoHistoryA
826 #define UrlIsOpaque UrlIsOpaqueA
827 #define UrlUnescape UrlUnescapeA
828 #define UrlUnescapeInPlace UrlUnescapeInPlaceA
829 #define SHRegCreateUSKey SHRegCreateUSKeyA
830 #define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyA
831 #define SHRegDeleteUSValue SHRegDeleteUSValueA
832 #define SHRegEnumUSKey SHRegEnumUSKeyA
833 #define SHRegEnumUSValue SHRegEnumUSValueA
834 #define SHRegGetBoolUSValue SHRegGetBoolUSValueA
835 #define SHRegGetPath SHRegGetPathA
836 #define SHRegGetUSValue SHRegGetUSValueA
837 #define SHRegOpenUSKey SHRegOpenUSKeyA
838 #define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyA
839 #define SHRegQueryUSValue SHRegQueryUSValueA
840 #define SHRegSetPath SHRegSetPathA
841 #define SHRegSetUSValue SHRegSetUSValueA
842 #define SHRegWriteUSValue SHRegWriteUSValueA
843 #define wnsprintf wnsprintfA
844 #define wvnsprintf wvnsprintfA
845 typedef PARSEDURLA PARSEDURL;
846 typedef PPARSEDURLA PPARSEDURL;
847 #endif /* UNICODE */
848
849 #define StrToLong StrToInt
850
851 #endif /* !RC_INVOKED */
852
853 #ifdef __cplusplus
854 }
855 #endif
856 #endif /* ! defined _SHLWAPI_H */