OSDN Git Service

Redo the filters based on assumptions discussed in mingw-dvlpr list.
[mingw/mingw-org-wsl.git] / include / shlwapi.h
1 /**
2  * @file shlwapi.h
3  * @copy 2012 MinGW.org project
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9  * and/or sell copies of the Software, and to permit persons to whom the
10  * Software is furnished to do so, subject to the following conditions:
11  * 
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  * 
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  * DEALINGS IN THE SOFTWARE.
23  */
24 #ifndef _SHLWAPI_H
25 #define _SHLWAPI_H
26 #pragma GCC system_header
27 #include <_mingw.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #ifndef _OBJC_NO_COM
34 #include <objbase.h>
35 #include <shlobj.h>
36 #endif
37
38 #ifndef WINSHLWAPI
39 #define WINSHLWAPI DECLSPEC_IMPORT
40 #endif
41
42 #define DLLVER_PLATFORM_WINDOWS 0x00000001
43 #define DLLVER_PLATFORM_NT      0x00000002
44
45 #define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
46 #define URL_DONT_SIMPLIFY       0x08000000
47 #define URL_ESCAPE_PERCENT      0x00001000
48 #define URL_ESCAPE_SEGMENT_ONLY 0x00002000
49 #define URL_ESCAPE_SPACES_ONLY  0x04000000
50 #define URL_ESCAPE_UNSAFE       0x20000000
51 #define URL_INTERNAL_PATH       0x00800000
52 #define URL_PARTFLAG_KEEPSCHEME 0x00000001
53 #define URL_PLUGGABLE_PROTOCOL  0x40000000
54 #define URL_UNESCAPE            0x10000000
55 #define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
56 #define URL_UNESCAPE_INPLACE    0x00100000
57
58 #ifndef RC_INVOKED
59 #include <pshpack1.h>
60 typedef struct _DllVersionInfo
61 {
62     DWORD cbSize;
63     DWORD dwMajorVersion;
64     DWORD dwMinorVersion;
65     DWORD dwBuildNumber;
66     DWORD dwPlatformID;
67 } DLLVERSIONINFO;
68 typedef struct _DLLVERSIONINFO2
69 {
70     DLLVERSIONINFO info1;
71     DWORD dwFlags;
72     ULONGLONG ullVersion;
73 } DLLVERSIONINFO2;
74 #include <poppack.h>
75
76 #define MAKEDLLVERULL(major, minor, build, qfe) \
77         (((ULONGLONG)(major) << 48) | \
78          ((ULONGLONG)(minor) << 32) | \
79          ((ULONGLONG)(build) << 16) | \
80          ((ULONGLONG)(  qfe) <<  0))
81
82 typedef enum {
83     ASSOCSTR_COMMAND = 1,
84     ASSOCSTR_EXECUTABLE,
85     ASSOCSTR_FRIENDLYDOCNAME,
86     ASSOCSTR_FRIENDLYAPPNAME,
87     ASSOCSTR_NOOPEN,
88     ASSOCSTR_SHELLNEWVALUE,
89     ASSOCSTR_DDECOMMAND,
90     ASSOCSTR_DDEIFEXEC,
91     ASSOCSTR_DDEAPPLICATION,
92     ASSOCSTR_DDETOPIC,
93     ASSOCSTR_INFOTIP
94 #if _WIN32_IE >= 0x0600
95     ,
96     ASSOCSTR_QUICKTIP,
97     ASSOCSTR_TILEINFO,
98     ASSOCSTR_CONTENTTYPE,
99     ASSOCSTR_DEFAULTICON,
100     ASSOCSTR_SHELLEXTENSION
101 #endif
102 } ASSOCSTR;
103 typedef enum
104 {
105     ASSOCKEY_SHELLEXECCLASS = 1,
106     ASSOCKEY_APP,
107     ASSOCKEY_CLASS,
108     ASSOCKEY_BASECLASS
109 } ASSOCKEY;
110 typedef enum
111 {
112     ASSOCDATA_MSIDESCRIPTOR = 1,
113     ASSOCDATA_NOACTIVATEHANDLER,
114     ASSOCDATA_QUERYCLASSSTORE,
115     ASSOCDATA_HASPERUSERASSOC
116 #if _WIN32_IE >= 0x0600
117     ,
118     ASSOCDATA_EDITFLAGS,
119     ASSOCDATA_VALUE
120 #endif
121 } ASSOCDATA;
122 typedef enum {
123     ASSOCF_INIT_NOREMAPCLSID = 0x00000001,
124     ASSOCF_INIT_BYEXENAME = 0x00000002,
125     ASSOCF_OPEN_BYEXENAME = 0x00000002,
126     ASSOCF_INIT_DEFAULTTOSTAR = 0x00000004,
127     ASSOCF_INIT_DEFAULTTOFOLDER = 0x00000008,
128     ASSOCF_NOUSERSETTINGS = 0x00000010,
129     ASSOCF_NOTRUNCATE = 0x00000020,
130     ASSOCF_VERIFY = 0x00000040,
131     ASSOCF_REMAPRUNDLL = 0x00000080,
132     ASSOCF_NOFIXUPS = 0x00000100,
133     ASSOCF_IGNOREBASECLASS = 0x00000200,
134     ASSOCF_INIT_IGNOREUNKNOWN = 0x00000400
135 } ASSOCF;
136 typedef enum
137 {
138     SHREGDEL_DEFAULT = 0x00000000,
139     SHREGDEL_HKCU    = 0x00000001,
140     SHREGDEL_HKLM    = 0x00000010,
141     SHREGDEL_BOTH    = 0x00000011
142 } SHREGDEL_FLAGS;
143 typedef enum
144 {
145     SHREGENUM_DEFAULT = 0x00000000,
146     SHREGENUM_HKCU    = 0x00000001,
147     SHREGENUM_HKLM    = 0x00000010,
148     SHREGENUM_BOTH    = 0x00000011
149 } SHREGENUM_FLAGS;
150 typedef enum
151 {
152     URLIS_URL,
153     URLIS_OPAQUE,
154     URLIS_NOHISTORY,
155     URLIS_FILEURL,
156     URLIS_APPLIABLE,
157     URLIS_DIRECTORY,
158     URLIS_HASQUERY
159 } URLIS;
160
161 typedef HANDLE HUSKEY, *PHUSKEY;
162
163 typedef HRESULT (WINAPI* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
164
165 WINSHLWAPI BOOL WINAPI ChrCmpIA(WORD,WORD);
166 WINSHLWAPI BOOL WINAPI ChrCmpIW(WCHAR,WCHAR);
167 #define IntlStrEqNA(pStr1, pStr2, nChar) IntlStrEqWorkerA(TRUE, pStr1, pStr2, nChar);
168 #define IntlStrEqNW(pStr1, pStr2, nChar) IntlStrEqWorkerW(TRUE, pStr1, pStr2, nChar);
169 #define IntlStrEqNIA(pStr1, pStr2, nChar) IntlStrEqWorkerA(FALSE, pStr1, pStr2, nChar);
170 #define IntlStrEqNIW(pStr1, pStr2, nChar) IntlStrEqWorkerW(FALSE, pStr1, pStr2, nChar);
171 WINSHLWAPI BOOL WINAPI IntlStrEqWorkerA(BOOL,LPCSTR,LPCSTR,int);
172 WINSHLWAPI BOOL WINAPI IntlStrEqWorkerW(BOOL,LPCWSTR,LPCWSTR,int);
173 WINSHLWAPI HRESULT WINAPI SHStrDupA(LPCSTR,LPWSTR*);
174 WINSHLWAPI HRESULT WINAPI SHStrDupW(LPCWSTR,LPWSTR*);
175 WINSHLWAPI LPSTR WINAPI StrCatA(LPSTR,LPCSTR);
176 WINSHLWAPI LPWSTR WINAPI StrCatW(LPWSTR,LPCWSTR);
177 WINSHLWAPI LPSTR WINAPI StrCatBuffA(LPSTR,LPCSTR,int);
178 WINSHLWAPI LPWSTR WINAPI StrCatBuffW(LPWSTR,LPCWSTR,int);
179 WINSHLWAPI DWORD WINAPI StrCatChainW(LPWSTR,DWORD,DWORD,LPCWSTR);
180 WINSHLWAPI LPSTR WINAPI StrChrA(LPCSTR,WORD);
181 WINSHLWAPI LPWSTR WINAPI StrChrW(LPCWSTR,WCHAR);
182 WINSHLWAPI LPSTR WINAPI StrChrIA(LPCSTR,WORD);
183 WINSHLWAPI LPWSTR WINAPI StrChrIW(LPCWSTR,WCHAR);
184 #define StrCmpIA lstrcmpiA
185 #define StrCmpA lstrcmpA
186 #define StrCpyA lstrcpyA
187 #define StrCpyNA lstrcpynA
188 WINSHLWAPI int WINAPI StrCmpIW(LPCWSTR,LPCWSTR);
189 WINSHLWAPI int WINAPI StrCmpW(LPCWSTR,LPCWSTR);
190 WINSHLWAPI LPWSTR WINAPI StrCpyW(LPWSTR,LPCWSTR);
191 WINSHLWAPI LPWSTR WINAPI StrCpyNW(LPWSTR,LPCWSTR,int);
192 WINSHLWAPI int WINAPI StrCmpNA(LPCSTR,LPCSTR,int);
193 WINSHLWAPI int WINAPI StrCmpNW(LPCWSTR,LPCWSTR,int);
194 WINSHLWAPI int WINAPI StrCmpNIA(LPCSTR,LPCSTR,int);
195 WINSHLWAPI int WINAPI StrCmpNIW(LPCWSTR,LPCWSTR,int);
196 WINSHLWAPI int WINAPI StrCSpnA(LPCSTR,LPCSTR);
197 WINSHLWAPI int WINAPI StrCSpnW(LPCWSTR,LPCWSTR);
198 WINSHLWAPI int WINAPI StrCSpnIA(LPCSTR,LPCSTR);
199 WINSHLWAPI int WINAPI StrCSpnIW(LPCWSTR,LPCWSTR);
200 WINSHLWAPI LPSTR WINAPI StrDupA(LPCSTR);
201 WINSHLWAPI LPWSTR WINAPI StrDupW(LPCWSTR);
202 WINSHLWAPI LPSTR WINAPI StrFormatByteSize64A(LONGLONG,LPSTR,UINT);
203 WINSHLWAPI LPSTR WINAPI StrFormatByteSizeA(DWORD,LPSTR,UINT);
204 WINSHLWAPI LPWSTR WINAPI StrFormatByteSizeW(LONGLONG,LPWSTR,UINT);
205 WINSHLWAPI LPSTR WINAPI StrFormatKBSizeA(LONGLONG,LPSTR,UINT);
206 WINSHLWAPI LPWSTR WINAPI StrFormatKBSizeW(LONGLONG,LPWSTR,UINT);
207 WINSHLWAPI int WINAPI StrFromTimeIntervalA(LPSTR,UINT,DWORD,int);
208 WINSHLWAPI int WINAPI StrFromTimeIntervalW(LPWSTR,UINT,DWORD,int);
209 WINSHLWAPI BOOL WINAPI StrIsIntlEqualA(BOOL,LPCSTR,LPCSTR,int);
210 WINSHLWAPI BOOL WINAPI StrIsIntlEqualW(BOOL,LPCWSTR,LPCWSTR,int);
211 WINSHLWAPI LPSTR WINAPI StrNCatA(LPSTR,LPCSTR,int);
212 WINSHLWAPI LPWSTR WINAPI StrNCatW(LPWSTR,LPCWSTR,int);
213 WINSHLWAPI LPSTR WINAPI StrPBrkA(LPCSTR,LPCSTR);
214 WINSHLWAPI LPWSTR WINAPI StrPBrkW(LPCWSTR,LPCWSTR);
215 WINSHLWAPI LPSTR WINAPI StrRChrA(LPCSTR,LPCSTR,WORD);
216 WINSHLWAPI LPWSTR WINAPI StrRChrW(LPCWSTR,LPCWSTR,WCHAR);
217 WINSHLWAPI LPSTR WINAPI StrRChrIA(LPCSTR,LPCSTR,WORD);
218 WINSHLWAPI LPWSTR WINAPI StrRChrIW(LPCWSTR,LPCWSTR,WCHAR);
219
220 WINSHLWAPI LPSTR WINAPI StrRStrIA(LPCSTR,LPCSTR,LPCSTR);
221 WINSHLWAPI LPWSTR WINAPI StrRStrIW(LPCWSTR,LPCWSTR,LPCWSTR);
222 WINSHLWAPI int WINAPI StrSpnA(LPCSTR,LPCSTR);
223 WINSHLWAPI int WINAPI StrSpnW(LPCWSTR,LPCWSTR);
224 WINSHLWAPI LPSTR WINAPI StrStrA(LPCSTR, LPCSTR);
225 WINSHLWAPI LPSTR WINAPI StrStrIA(LPCSTR,LPCSTR);
226 WINSHLWAPI LPWSTR WINAPI StrStrIW(LPCWSTR,LPCWSTR);
227 WINSHLWAPI LPWSTR WINAPI StrStrW(LPCWSTR,LPCWSTR);
228 WINSHLWAPI int WINAPI StrToIntA(LPCSTR);
229 WINSHLWAPI int WINAPI StrToIntW(LPCWSTR);
230 #define STIF_DEFAULT 0x0L
231 #define STIF_SUPPORT_HEX 0x1L
232 WINSHLWAPI BOOL WINAPI StrToIntExA(LPCSTR,DWORD,int*);
233 WINSHLWAPI BOOL WINAPI StrToIntExW(LPCWSTR,DWORD,int*);
234 WINSHLWAPI BOOL WINAPI StrTrimA(LPSTR,LPCSTR);
235 WINSHLWAPI BOOL WINAPI StrTrimW(LPWSTR,LPCWSTR);
236 WINSHLWAPI LPSTR WINAPI PathAddBackslashA(LPSTR);
237 WINSHLWAPI LPWSTR WINAPI PathAddBackslashW(LPWSTR);
238 WINSHLWAPI BOOL WINAPI PathAddExtensionA(LPSTR,LPCSTR);
239 WINSHLWAPI BOOL WINAPI PathAddExtensionW(LPWSTR,LPCWSTR);
240 WINSHLWAPI BOOL WINAPI PathAppendA(LPSTR,LPCSTR);
241 WINSHLWAPI BOOL WINAPI PathAppendW(LPWSTR,LPCWSTR);
242 WINSHLWAPI LPSTR WINAPI PathBuildRootA(LPSTR,int);
243 WINSHLWAPI LPWSTR WINAPI PathBuildRootW(LPWSTR,int);
244 WINSHLWAPI BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR);
245 WINSHLWAPI BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR);
246 WINSHLWAPI LPSTR WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR);
247 WINSHLWAPI LPWSTR WINAPI PathCombineW(LPWSTR,LPCWSTR,LPCWSTR);
248 WINSHLWAPI int WINAPI PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR);
249 WINSHLWAPI int WINAPI PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR);
250 WINSHLWAPI BOOL WINAPI PathCompactPathA(HDC,LPSTR,UINT);
251 WINSHLWAPI BOOL WINAPI PathCompactPathW(HDC,LPWSTR,UINT);
252 WINSHLWAPI BOOL WINAPI PathCompactPathExA(LPSTR,LPCSTR,UINT,DWORD);
253 WINSHLWAPI BOOL WINAPI PathCompactPathExW(LPWSTR,LPCWSTR,UINT,DWORD);
254 WINSHLWAPI HRESULT WINAPI PathCreateFromUrlA(LPCSTR,LPSTR,LPDWORD,DWORD);
255 WINSHLWAPI HRESULT WINAPI PathCreateFromUrlW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
256 WINSHLWAPI BOOL WINAPI PathFileExistsA(LPCSTR);
257 WINSHLWAPI BOOL WINAPI PathFileExistsW(LPCWSTR);
258 WINSHLWAPI LPSTR WINAPI PathFindExtensionA(LPCSTR);
259 WINSHLWAPI LPWSTR WINAPI PathFindExtensionW(LPCWSTR);
260 WINSHLWAPI LPSTR WINAPI PathFindFileNameA(LPCSTR);
261 WINSHLWAPI LPWSTR WINAPI PathFindFileNameW(LPCWSTR);
262 WINSHLWAPI LPSTR WINAPI PathFindNextComponentA(LPCSTR);
263 WINSHLWAPI LPWSTR WINAPI PathFindNextComponentW(LPCWSTR);
264 WINSHLWAPI BOOL WINAPI PathFindOnPathA(LPSTR,LPCSTR*);
265 WINSHLWAPI BOOL WINAPI PathFindOnPathW(LPWSTR,LPCWSTR*);
266 WINSHLWAPI LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR*,int);
267 WINSHLWAPI LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR*,int);
268 WINSHLWAPI LPSTR WINAPI PathGetArgsA(LPCSTR);
269 WINSHLWAPI LPWSTR WINAPI PathGetArgsW(LPCWSTR);
270 WINSHLWAPI UINT WINAPI PathGetCharTypeA(UCHAR);
271 WINSHLWAPI UINT WINAPI PathGetCharTypeW(WCHAR);
272 WINSHLWAPI int WINAPI PathGetDriveNumberA(LPCSTR);
273 WINSHLWAPI int WINAPI PathGetDriveNumberW(LPCWSTR);
274 WINSHLWAPI BOOL WINAPI PathIsContentTypeA(LPCSTR,LPCSTR);
275 WINSHLWAPI BOOL WINAPI PathIsContentTypeW(LPCWSTR,LPCWSTR);
276 WINSHLWAPI BOOL WINAPI PathIsDirectoryA(LPCSTR);
277 WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR);
278 WINSHLWAPI BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR);
279 WINSHLWAPI BOOL WINAPI PathIsDirectoryW(LPCWSTR);
280 WINSHLWAPI BOOL WINAPI PathIsFileSpecA(LPCSTR);
281 WINSHLWAPI BOOL WINAPI PathIsFileSpecW(LPCWSTR);
282 WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecA(LPCSTR);
283 WINSHLWAPI BOOL WINAPI PathIsLFNFileSpecW(LPCWSTR);
284 WINSHLWAPI BOOL WINAPI PathIsNetworkPathA(LPCSTR);
285 WINSHLWAPI BOOL WINAPI PathIsNetworkPathW(LPCWSTR);
286 WINSHLWAPI BOOL WINAPI PathIsPrefixA(LPCSTR,LPCSTR);
287 WINSHLWAPI BOOL WINAPI PathIsPrefixW(LPCWSTR,LPCWSTR);
288 WINSHLWAPI BOOL WINAPI PathIsRelativeA(LPCSTR);
289 WINSHLWAPI BOOL WINAPI PathIsRelativeW(LPCWSTR);
290 WINSHLWAPI BOOL WINAPI PathIsRootA(LPCSTR);
291 WINSHLWAPI BOOL WINAPI PathIsRootW(LPCWSTR);
292 WINSHLWAPI BOOL WINAPI PathIsSameRootA(LPCSTR,LPCSTR);
293 WINSHLWAPI BOOL WINAPI PathIsSameRootW(LPCWSTR,LPCWSTR);
294 WINSHLWAPI BOOL WINAPI PathIsSystemFolderA(LPCSTR,DWORD);
295 WINSHLWAPI BOOL WINAPI PathIsSystemFolderW(LPCWSTR,DWORD);
296 WINSHLWAPI BOOL WINAPI PathIsUNCA(LPCSTR);
297 WINSHLWAPI BOOL WINAPI PathIsUNCServerA(LPCSTR);
298 WINSHLWAPI BOOL WINAPI PathIsUNCServerShareA(LPCSTR);
299 WINSHLWAPI BOOL WINAPI PathIsUNCServerShareW(LPCWSTR);
300 WINSHLWAPI BOOL WINAPI PathIsUNCServerW(LPCWSTR);
301 WINSHLWAPI BOOL WINAPI PathIsUNCW(LPCWSTR);
302 WINSHLWAPI BOOL WINAPI PathIsURLA(LPCSTR);
303 WINSHLWAPI BOOL WINAPI PathIsURLW(LPCWSTR);
304 WINSHLWAPI BOOL WINAPI PathMakePrettyA(LPSTR);
305 WINSHLWAPI BOOL WINAPI PathMakePrettyW(LPWSTR);
306 WINSHLWAPI BOOL WINAPI PathMakeSystemFolderA(LPSTR);
307 WINSHLWAPI BOOL WINAPI PathMakeSystemFolderW(LPWSTR);
308 WINSHLWAPI BOOL WINAPI PathMatchSpecA(LPCSTR,LPCSTR);
309 WINSHLWAPI BOOL WINAPI PathMatchSpecW(LPCWSTR,LPCWSTR);
310 WINSHLWAPI int WINAPI PathParseIconLocationA(LPSTR);
311 WINSHLWAPI int WINAPI PathParseIconLocationW(LPWSTR);
312 WINSHLWAPI void WINAPI PathQuoteSpacesA(LPSTR);
313 WINSHLWAPI void WINAPI PathQuoteSpacesW(LPWSTR);
314 WINSHLWAPI BOOL WINAPI PathRelativePathToA(LPSTR,LPCSTR,DWORD,LPCSTR,DWORD);
315 WINSHLWAPI BOOL WINAPI PathRelativePathToW(LPWSTR,LPCWSTR,DWORD,LPCWSTR,DWORD);
316 WINSHLWAPI void WINAPI PathRemoveArgsA(LPSTR);
317 WINSHLWAPI void WINAPI PathRemoveArgsW(LPWSTR);
318 WINSHLWAPI LPSTR WINAPI PathRemoveBackslashA(LPSTR);
319 WINSHLWAPI LPWSTR WINAPI PathRemoveBackslashW(LPWSTR);
320 WINSHLWAPI void WINAPI PathRemoveBlanksA(LPSTR);
321 WINSHLWAPI void WINAPI PathRemoveBlanksW(LPWSTR);
322 WINSHLWAPI void WINAPI PathRemoveExtensionA(LPSTR);
323 WINSHLWAPI void WINAPI PathRemoveExtensionW(LPWSTR);
324 WINSHLWAPI BOOL WINAPI PathRemoveFileSpecA(LPSTR);
325 WINSHLWAPI BOOL WINAPI PathRemoveFileSpecW(LPWSTR);
326 WINSHLWAPI BOOL WINAPI PathRenameExtensionA(LPSTR,LPCSTR);
327 WINSHLWAPI BOOL WINAPI PathRenameExtensionW(LPWSTR,LPCWSTR);
328 WINSHLWAPI BOOL WINAPI PathSearchAndQualifyA(LPCSTR,LPSTR,UINT);
329 WINSHLWAPI BOOL WINAPI PathSearchAndQualifyW(LPCWSTR,LPWSTR,UINT);
330 WINSHLWAPI void WINAPI PathSetDlgItemPathA(HWND,int,LPCSTR);
331 WINSHLWAPI void WINAPI PathSetDlgItemPathW(HWND,int,LPCWSTR);
332 WINSHLWAPI LPSTR WINAPI PathSkipRootA(LPCSTR);
333 WINSHLWAPI LPWSTR WINAPI PathSkipRootW(LPCWSTR);
334 WINSHLWAPI void WINAPI PathStripPathA(LPSTR);
335 WINSHLWAPI void WINAPI PathStripPathW(LPWSTR);
336 WINSHLWAPI BOOL WINAPI PathStripToRootA(LPSTR);
337 WINSHLWAPI BOOL WINAPI PathStripToRootW(LPWSTR);
338 WINSHLWAPI void WINAPI PathUndecorateA(LPSTR);
339 WINSHLWAPI void WINAPI PathUndecorateW(LPWSTR);
340 WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT);
341 WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT);
342 WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderA(LPSTR);
343 WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR);
344 WINSHLWAPI void WINAPI PathUnquoteSpacesA(LPSTR);
345 WINSHLWAPI void WINAPI PathUnquoteSpacesW(LPWSTR);
346 WINSHLWAPI HRESULT WINAPI SHAutoComplete(HWND,DWORD);
347
348 WINSHLWAPI BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
349 WINSHLWAPI DWORD WINAPI SHCopyKeyA(HKEY,LPCSTR,HKEY,DWORD);
350 WINSHLWAPI DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD);
351 WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyA(HKEY,LPCSTR);
352 WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyW(HKEY,LPCWSTR);
353 WINSHLWAPI DWORD WINAPI SHDeleteKeyA(HKEY,LPCSTR);
354 WINSHLWAPI DWORD WINAPI SHDeleteKeyW(HKEY,LPCWSTR);
355 WINSHLWAPI DWORD WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD);
356 WINSHLWAPI DWORD WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD);
357 WINSHLWAPI DWORD WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
358 WINSHLWAPI DWORD WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
359 WINSHLWAPI DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
360 WINSHLWAPI DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
361
362 WINSHLWAPI DWORD WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
363 WINSHLWAPI DWORD WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD);
364 WINSHLWAPI DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD);
365 WINSHLWAPI DWORD WINAPI SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD);
366 WINSHLWAPI DWORD WINAPI SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD);
367 WINSHLWAPI DWORD WINAPI SHSetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD);
368 WINSHLWAPI DWORD WINAPI SHDeleteValueA(HKEY,LPCSTR,LPCSTR);
369 WINSHLWAPI DWORD WINAPI SHDeleteValueW(HKEY,LPCWSTR,LPCWSTR);
370 WINSHLWAPI HRESULT WINAPI AssocCreate(CLSID,const IID* const,LPVOID*);
371 WINSHLWAPI HRESULT WINAPI AssocQueryKeyA(ASSOCF,ASSOCKEY,LPCSTR,LPCSTR,HKEY*);
372 WINSHLWAPI HRESULT WINAPI AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,HKEY*);
373 WINSHLWAPI HRESULT WINAPI AssocQueryStringA(ASSOCF,ASSOCSTR,LPCSTR,LPCSTR,LPSTR,DWORD*);
374 WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyA(ASSOCF,ASSOCSTR,HKEY,LPCSTR,LPSTR,DWORD*);
375 WINSHLWAPI HRESULT WINAPI AssocQueryStringByKeyW(ASSOCF,ASSOCSTR,HKEY,LPCWSTR,LPWSTR,DWORD*);
376 WINSHLWAPI HRESULT WINAPI AssocQueryStringW(ASSOCF,ASSOCSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD*);
377    
378 WINSHLWAPI HRESULT WINAPI UrlApplySchemeA(LPCSTR,LPSTR,LPDWORD,DWORD);
379 WINSHLWAPI HRESULT WINAPI UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
380 WINSHLWAPI HRESULT WINAPI UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
381 WINSHLWAPI HRESULT WINAPI UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
382 WINSHLWAPI HRESULT WINAPI UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
383 WINSHLWAPI HRESULT WINAPI UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
384 WINSHLWAPI int WINAPI UrlCompareA(LPCSTR,LPCSTR,BOOL);
385 WINSHLWAPI int WINAPI UrlCompareW(LPCWSTR,LPCWSTR,BOOL);
386 WINSHLWAPI HRESULT WINAPI UrlCreateFromPathA(LPCSTR,LPSTR,LPDWORD,DWORD);
387 WINSHLWAPI HRESULT WINAPI UrlCreateFromPathW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
388 WINSHLWAPI HRESULT WINAPI UrlEscapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
389 WINSHLWAPI HRESULT WINAPI UrlEscapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
390 WINSHLWAPI LPCSTR WINAPI UrlGetLocationA(LPCSTR);
391 WINSHLWAPI LPCWSTR WINAPI UrlGetLocationW(LPCWSTR);
392 WINSHLWAPI HRESULT WINAPI UrlGetPartA(LPCSTR,LPSTR,LPDWORD,DWORD,DWORD);
393 WINSHLWAPI HRESULT WINAPI UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
394 WINSHLWAPI HRESULT WINAPI UrlHashA(LPCSTR,LPBYTE,DWORD);
395 WINSHLWAPI HRESULT WINAPI UrlHashW(LPCWSTR,LPBYTE,DWORD);
396 WINSHLWAPI BOOL WINAPI UrlIsA(LPCSTR,URLIS);
397 WINSHLWAPI BOOL WINAPI UrlIsW(LPCWSTR,URLIS);
398 #define UrlIsFileUrlA(pszURL) UrlIsA(pzURL, URLIS_FILEURL)
399 #define UrlIsFileUrlW(pszURL) UrlIsW(pszURL, URLIS_FILEURL)
400 WINSHLWAPI BOOL WINAPI UrlIsNoHistoryA(LPCSTR);
401 WINSHLWAPI BOOL WINAPI UrlIsNoHistoryW(LPCWSTR);
402 WINSHLWAPI BOOL WINAPI UrlIsOpaqueA(LPCSTR);
403 WINSHLWAPI BOOL WINAPI UrlIsOpaqueW(LPCWSTR);
404 WINSHLWAPI HRESULT WINAPI UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
405 WINSHLWAPI HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
406 #define UrlUnescapeInPlaceA(pszUrl,dwFlags )\
407         UrlUnescapeA(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
408 #define UrlUnescapeInPlaceW(pszUrl,dwFlags )\
409         UrlUnescapeW(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
410 WINSHLWAPI DWORD WINAPI SHRegCloseUSKey(HUSKEY);
411 WINSHLWAPI LONG WINAPI SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
412 WINSHLWAPI LONG WINAPI SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD);
413 WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
414 WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
415 WINSHLWAPI LONG WINAPI SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS);
416 WINSHLWAPI LONG WINAPI SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS);
417 WINSHLWAPI HKEY WINAPI SHRegDuplicateHKey(HKEY);
418 WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS);
419 WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS);
420 WINSHLWAPI DWORD WINAPI SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
421 WINSHLWAPI DWORD WINAPI SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS);
422 WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL);
423 WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueW(LPCWSTR,LPCWSTR,BOOL,BOOL);
424 WINSHLWAPI DWORD WINAPI SHRegGetPathA(HKEY,LPCSTR,LPCSTR,LPSTR,DWORD);
425 WINSHLWAPI DWORD WINAPI SHRegGetPathW(HKEY,LPCWSTR,LPCWSTR,LPWSTR,DWORD);
426 WINSHLWAPI LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
427 WINSHLWAPI LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
428 WINSHLWAPI LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
429 WINSHLWAPI LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL);
430 WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
431 WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS);
432 WINSHLWAPI LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
433 WINSHLWAPI LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD);
434 WINSHLWAPI DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD);
435 WINSHLWAPI DWORD WINAPI SHRegSetPathW(HKEY,LPCWSTR,LPCWSTR,LPCWSTR,DWORD);
436 WINSHLWAPI LONG WINAPI SHRegSetUSValueA(LPCSTR,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
437 WINSHLWAPI LONG WINAPI SHRegSetUSValueW(LPCWSTR,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
438 WINSHLWAPI LONG WINAPI SHRegWriteUSValueA(HUSKEY,LPCSTR,DWORD,LPVOID,DWORD,DWORD);
439 WINSHLWAPI LONG WINAPI SHRegWriteUSValueW(HUSKEY,LPCWSTR,DWORD,LPVOID,DWORD,DWORD);
440 WINSHLWAPI HRESULT WINAPI HashData(LPBYTE,DWORD,LPBYTE,DWORD);
441 WINSHLWAPI HPALETTE WINAPI SHCreateShellPalette(HDC);
442 WINSHLWAPI COLORREF WINAPI ColorHLSToRGB(WORD,WORD,WORD);
443 WINSHLWAPI COLORREF WINAPI ColorAdjustLuma(COLORREF,int,BOOL);
444 WINSHLWAPI void WINAPI ColorRGBToHLS(COLORREF,WORD*,WORD*,WORD*);  
445 WINSHLWAPI int __cdecl wnsprintfA(LPSTR,int,LPCSTR,...);
446 WINSHLWAPI int __cdecl wnsprintfW(LPWSTR,int,LPCWSTR,...);
447 WINSHLWAPI int WINAPI wvnsprintfA(LPSTR,int,LPCSTR,va_list);
448 WINSHLWAPI int WINAPI wvnsprintfW(LPWSTR,int,LPCWSTR,va_list);
449
450 HINSTANCE WINAPI MLLoadLibraryA(LPCSTR,HANDLE,DWORD,LPCSTR,BOOL);
451 HINSTANCE WINAPI MLLoadLibraryW(LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL);
452
453 HRESULT WINAPI DllInstall(BOOL,LPCWSTR);
454
455 #define ChrCmpI __AW(ChrCmpI)
456 #define IntlStrEqN __AW(IntlStrEqN)
457 #define IntlStrEqNI __AW(IntlStrEqNI)
458 #define IntlStrEqWorker __AW(IntlStrEqWorker)
459 #define SHStrDup __AW(SHStrDup)
460 #define StrCat __AW(StrCat)
461 #define StrCatBuff __AW(StrCatBuff)
462 #define StrChr __AW(StrChr)
463 #define StrChrI __AW(StrChrI)
464 #define StrCmp __AW(StrCmp)
465 #define StrCmpI __AW(StrCmpI)
466 #define StrCmpNI __AW(StrCmpNI)
467 #define StrCmpN __AW(StrCmpN)
468 #define StrCpyN __AW(StrCpyN)
469 #define StrCpy __AW(StrCpy)
470 #define StrCSpnI __AW(StrCSpnI)
471 #define StrCSpn __AW(StrCSpn)
472 #define StrDup __AW(StrDup)
473 #define StrFormatByteSize __AW(StrFormatByteSize)
474 #define StrFormatKBSize __AW(StrFormatKBSize)
475 #define StrFromTimeInterval StrFromTimeIntervalW
476 #define StrIsIntlEqual StrIsIntlEqualW
477 #define StrNCat __AW(StrNCat)
478 #define StrPBrk __AW(StrPBrk)
479 #define StrRChr __AW(StrRChr)
480 #define StrRChrI __AW(StrRChrI)
481
482 #define StrRStrI __AW(StrRStrI)
483 #define StrSpn __AW(StrSpn)
484 #define StrStrI __AW(StrStrI)
485 #define StrStr __AW(StrStr)
486 #define StrToInt __AW(StrToInt)
487 #define StrToIntEx __AW(StrToIntEx)
488 #define StrTrim __AW(StrTrim)
489 #define PathAddBackslash __AW(PathAddBackslash)
490 #define PathAddExtension __AW(PathAddExtension)
491 #define PathAppend __AW(PathAppend)
492 #define PathBuildRoot __AW(PathBuildRoot)
493 #define PathCanonicalize __AW(PathCanonicalize)
494 #define PathCombine __AW(PathCombine)
495 #define PathCommonPrefix __AW(PathCommonPrefix)
496 #define PathCompactPath __AW(PathCompactPath)
497 #define PathCompactPathEx __AW(PathCompactPathEx)
498 #define PathCreateFromUrl __AW(PathCreateFromUrl)
499 #define PathFileExists __AW(PathFileExists)
500 #define PathFindExtension __AW(PathFindExtension)
501 #define PathFindFileName __AW(PathFindFileName)
502 #define PathFindNextComponent PathFindNextComponentW
503 #define PathFindOnPath __AW(PathFindOnPath)
504 #define PathFindSuffixArray __AW(PathFindSuffixArray)
505 #define PathGetArgs __AW(PathGetArgs)
506 #define PathGetCharType __AW(PathGetCharType)
507 #define PathGetDriveNumber __AW(PathGetDriveNumber)
508 #define PathIsContentType __AW(PathIsContentType)
509 #define PathIsDirectoryEmpty __AW(PathIsDirectoryEmpty)
510 #define PathIsDirectory __AW(PathIsDirectory)
511 #define PathIsFileSpec __AW(PathIsFileSpec)
512 #define PathIsLFNFileSpec __AW(PathIsLFNFileSpec)
513 #define PathIsNetworkPath __AW(PathIsNetworkPath)
514 #define PathIsPrefix __AW(PathIsPrefix)
515 #define PathIsRelative __AW(PathIsRelative)
516 #define PathIsRoot __AW(PathIsRoot)
517 #define PathIsSameRoot __AW(PathIsSameRoot)
518 #define PathIsSystemFolder __AW(PathIsSystemFolder)
519 #define PathIsUNCServerShare __AW(PathIsUNCServerShare)
520 #define PathIsUNCServer __AW(PathIsUNCServer)
521 #define PathIsUNC __AW(PathIsUNC)
522 #define PathIsURL __AW(PathIsURL)
523 #define PathMakePretty __AW(PathMakePretty)
524 #define PathMakeSystemFolder __AW(PathMakeSystemFolder)
525 #define PathMatchSpec __AW(PathMatchSpec)
526 #define PathParseIconLocation __AW(PathParseIconLocation)
527 #define PathQuoteSpaces __AW(PathQuoteSpaces)
528 #define PathRelativePathTo __AW(PathRelativePathTo)
529 #define PathRemoveArgs __AW(PathRemoveArgs)
530 #define PathRemoveBackslash __AW(PathRemoveBackslash)
531 #define PathRemoveBlanks __AW(PathRemoveBlanks)
532 #define PathRemoveExtension __AW(PathRemoveExtension)
533 #define PathRemoveFileSpec __AW(PathRemoveFileSpec)
534 #define PathRenameExtension __AW(PathRenameExtension)
535 #define PathSearchAndQualify __AW(PathSearchAndQualify)
536 #define PathSetDlgItemPath __AW(PathSetDlgItemPath)
537 #define PathSkipRoot __AW(PathSkipRoot)
538 #define PathStripPath __AW(PathStripPath)
539 #define PathStripToRoot __AW(PathStripToRoot)
540 #define PathUndecorate __AW(PathUndecorate)
541 #define PathUnExpandEnvStrings __AW(PathUnExpandEnvStrings)
542 #define PathUnmakeSystemFolder __AW(PathUnmakeSystemFolder)
543 #define PathUnquoteSpaces __AW(PathUnquoteSpaces)
544
545 #define SHCopyKey __AW(SHCopyKey)
546 #define SHDeleteEmptyKey __AW(SHDeleteEmptyKey)
547 #define SHDeleteKey __AW(SHDeleteKey)
548 #define SHEnumKeyEx __AW(SHEnumKeyEx)
549 #define SHQueryInfoKey __AW(SHRegQueryInfoKey)
550 #define SHQueryValueEx __AW(SHQueryValueEx)
551 #define SHEnumValue __AW(SHEnumValue)
552 #define SHGetValue __AW(SHGetValue)
553 #define SHSetValue __AW(SHSetValue)
554 #define SHDeleteValue __AW(SHDeleteValue)
555 #define AssocQueryKey __AW(AssocQueryKey)
556 #define AssocQueryStringByKey __AW(AssocQueryStringByKey)
557 #define AssocQueryString __AW(AssocQueryString)
558 #define UrlApplyScheme __AW(UrlApplyScheme)
559 #define UrlCanonicalize __AW(UrlCanonicalize)
560 #define UrlCombine __AW(UrlCombine)
561 #define UrlCompare __AW(UrlCompare)
562 #define UrlCreateFromPath __AW(UrlCreateFromPath)
563 #define UrlEscape __AW(UrlEscape)
564 #define UrlGetLocation __AW(UrlGetLocation)
565 #define UrlGetPart __AW(UrlGetPart)
566 #define UrlHash __AW(UrlHash)
567 #define UrlIs __AW(UrlIs)
568 #define UrlIsFileUrl __AW(UrlIsFileUrl)
569 #define UrlIsNoHistory __AW(UrlIsNoHistory)
570 #define UrlIsOpaque __AW(UrlIsOpaque)
571 #define UrlUnescape __AW(UrlUnescape)
572 #define UrlUnescapeInPlace __AW(UrlUnescapeInPlace)
573 #define SHRegCreateUSKey __AW(SHRegCreateUSKey)
574 #define SHRegDeleteEmptyUSKey __AW(SHRegDeleteEmptyUSKey)
575 #define SHRegDeleteUSValue __AW(SHRegDeleteUSValue)
576 #define SHRegEnumUSKey __AW(SHRegEnumUSKey)
577 #define SHRegEnumUSValue __AW(SHRegEnumUSValue)
578 #define SHRegGetBoolUSValue __AW(SHRegGetBoolUSValue)
579 #define SHRegGetPath __AW(SHRegGetPath)
580 #define SHRegGetUSValue __AW(SHRegGetUSValue)
581 #define SHRegOpenUSKey __AW(SHRegOpenUSKey)
582 #define SHRegQueryInfoUSKey __AW(SHRegQueryInfoUSKey)
583 #define SHRegQueryUSValue __AW(SHRegQueryUSValue)
584 #define SHRegSetPath __AW(SHRegSetPath)
585 #define SHRegSetUSValue __AW(SHRegSetUSValue)
586 #define SHRegWriteUSValue __AW(SHRegWriteUSValue)
587 #define wnsprintf __AW(wnsprintf)
588 #define wvnsprintf __AW(wvnsprintf)
589
590 #define StrToLong StrToInt
591
592 #ifndef _OBJC_NO_COM
593 WINSHLWAPI HRESULT WINAPI StrRetToBufA(LPSTRRET,LPCITEMIDLIST,LPSTR,UINT);
594 WINSHLWAPI HRESULT WINAPI StrRetToBufW(LPSTRRET,LPCITEMIDLIST,LPWSTR,UINT);
595 WINSHLWAPI HRESULT WINAPI StrRetToStrA(LPSTRRET,LPCITEMIDLIST,LPSTR*);
596 WINSHLWAPI HRESULT WINAPI StrRetToStrW(LPSTRRET,LPCITEMIDLIST,LPWSTR*);
597 WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileA(LPCSTR,DWORD,struct IStream**);
598 WINSHLWAPI HRESULT WINAPI SHCreateStreamOnFileW(LPCWSTR,DWORD,struct IStream**);
599 WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2A(HKEY,LPCSTR,LPCSTR,DWORD);
600 WINSHLWAPI struct IStream* WINAPI SHOpenRegStream2W(HKEY,LPCWSTR,LPCWSTR,DWORD);
601 WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
602 WINSHLWAPI struct IStream* WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
603 WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**);
604 WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*);
605 WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
606 #define StrRetToBuf __AW(StrRetToBuf)
607 #define StrRetToStr __AW(StrRetToStr)
608 #define SHCreateStreamOnFile __AW(SHCreateStreamOnFile)
609 #define SHOpenRegStream __AW(SHOpenRegStream)
610 #define SHOpenRegStream2 __AW(SHOpenRegStream2)
611 #endif /* !_OBJC_NO_COM */
612
613 #endif /* !RC_INVOKED */
614
615 #ifdef __cplusplus
616 }
617 #endif
618
619 #endif /* ! defined _SHLWAPI_H */