1 | #ifndef __WINE_SHLWAPI_H
|
---|
2 | #define __WINE_SHLWAPI_H
|
---|
3 |
|
---|
4 | #include "windef.h"
|
---|
5 | #include "wine/obj_queryassociations.h"
|
---|
6 | #include "wine/obj_shellfolder.h"
|
---|
7 |
|
---|
8 | #ifdef __cplusplus
|
---|
9 | extern "C" {
|
---|
10 | #endif /* defined(__cplusplus) */
|
---|
11 |
|
---|
12 |
|
---|
13 | /*
|
---|
14 | * The URL_ defines were determined by trial and error. If they become
|
---|
15 | * documented please check them and add the missing ones including:
|
---|
16 | *
|
---|
17 | * URL_ESCAPE_PERCENT
|
---|
18 | * URL_PLUGGABLE_PROTOCOL
|
---|
19 | * URL_DONT_ESCAPE_EXTRA_INFO
|
---|
20 | * URL_ESCAPE_SEGMENT_ONLY
|
---|
21 | */
|
---|
22 |
|
---|
23 | #define URL_UNESCAPE_INPLACE 0x00100000
|
---|
24 | #define URL_DONT_UNESCAPE_EXTRA_INFO 0x02000000
|
---|
25 |
|
---|
26 | #define URL_ESCAPE_SPACES_ONLY 0x04000000
|
---|
27 |
|
---|
28 | #define URL_UNESCAPE 0x10000000
|
---|
29 | #define URL_ESCAPE_UNSAFE 0x20000000
|
---|
30 | #define URL_DONT_SIMPLIFY 0x40000000
|
---|
31 |
|
---|
32 | LPSTR WINAPI PathAddBackslashA(LPSTR path);
|
---|
33 | LPWSTR WINAPI PathAddBackslashW(LPWSTR path);
|
---|
34 | #define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
|
---|
35 |
|
---|
36 | BOOL WINAPI PathAddExtensionA(LPSTR pszPath, LPCSTR pszExt);
|
---|
37 | BOOL WINAPI PathAddExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
|
---|
38 | #define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
|
---|
39 |
|
---|
40 | BOOL WINAPI PathAppendA(LPSTR lpszPath1,LPCSTR lpszPath2);
|
---|
41 | BOOL WINAPI PathAppendW(LPWSTR lpszPath1,LPCWSTR lpszPath2);
|
---|
42 | #define PathAppend WINELIB_NAME_AW(PathAppend)
|
---|
43 |
|
---|
44 | LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive);
|
---|
45 | LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive);
|
---|
46 | #define PathBuildRoot WINELIB_NAME_AW(PathBuiltRoot)
|
---|
47 |
|
---|
48 | BOOL WINAPI PathCanonicalizeA(LPSTR lpszDst, LPCSTR lpszSrc);
|
---|
49 | BOOL WINAPI PathCanonicalizeW(LPWSTR lpszDst, LPCWSTR lpszSrc);
|
---|
50 | #define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
|
---|
51 |
|
---|
52 | LPSTR WINAPI PathCombineA(LPSTR szDest, LPCSTR lpszDir, LPCSTR lpszFile);
|
---|
53 | LPWSTR WINAPI PathCombineW(LPWSTR szDest, LPCWSTR lpszDir, LPCWSTR lpszFile);
|
---|
54 | #define PathCombine WINELIB_NAME_AW(PathCombine)
|
---|
55 |
|
---|
56 | BOOL WINAPI PathFileExistsA(LPCSTR lpszPath);
|
---|
57 | BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath);
|
---|
58 | #define PathFileExists WINELIB_NAME_AW(PathFileExists)
|
---|
59 |
|
---|
60 | LPSTR WINAPI PathFindExtensionA(LPCSTR path);
|
---|
61 | LPWSTR WINAPI PathFindExtensionW(LPCWSTR path);
|
---|
62 | #define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
|
---|
63 |
|
---|
64 | LPSTR WINAPI PathFindFileNameA(LPCSTR pPath);
|
---|
65 | LPWSTR WINAPI PathFindFileNameW(LPCWSTR pPath);
|
---|
66 | #define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
|
---|
67 |
|
---|
68 | LPSTR WINAPI PathFindNextComponentA(LPCSTR pszPath);
|
---|
69 | LPWSTR WINAPI PathFindNextComponentW(LPCWSTR pszPath);
|
---|
70 | #define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
|
---|
71 |
|
---|
72 | BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs);
|
---|
73 | BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs);
|
---|
74 | #define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
|
---|
75 |
|
---|
76 | LPSTR WINAPI PathGetArgsA(LPCSTR lpszPath);
|
---|
77 | LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath);
|
---|
78 | #define PathGetArgs WINELIB_NAME_AW(PathGetArgs)
|
---|
79 |
|
---|
80 | int WINAPI PathGetDriveNumberA(LPCSTR lpszPath);
|
---|
81 | int WINAPI PathGetDriveNumberW(LPCWSTR lpszPath);
|
---|
82 | #define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
|
---|
83 |
|
---|
84 | BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath);
|
---|
85 | BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath);
|
---|
86 | #define PathIsDirectory WINELIB_NAME_AW(PathIsDirectory)
|
---|
87 |
|
---|
88 | BOOL WINAPI PathIsRelativeA(LPCSTR lpszPath);
|
---|
89 | BOOL WINAPI PathIsRelativeW(LPCWSTR lpszPath);
|
---|
90 | #define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
|
---|
91 |
|
---|
92 | BOOL WINAPI PathIsRootA(LPCSTR x);
|
---|
93 | BOOL WINAPI PathIsRootW(LPCWSTR x);
|
---|
94 | #define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
|
---|
95 |
|
---|
96 | BOOL WINAPI PathIsSameRootA(LPCSTR lpszPath1, LPCSTR lpszPath2);
|
---|
97 | BOOL WINAPI PathIsSameRootW(LPCWSTR lpszPath1, LPCWSTR lpszPath2);
|
---|
98 | #define PathIsSameRoot WINELIB_NAME_AW(PathIsSameRoot)
|
---|
99 |
|
---|
100 | BOOL WINAPI PathIsUNCA(LPCSTR lpszPath);
|
---|
101 | BOOL WINAPI PathIsUNCW(LPCWSTR lpszPath);
|
---|
102 | #define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
|
---|
103 |
|
---|
104 | BOOL WINAPI PathIsURLA(LPCSTR pszPath);
|
---|
105 | BOOL WINAPI PathIsURLW(LPCWSTR pszPath);
|
---|
106 | #define PathIsURL WINELIB_NAME_AW(PathIsURL)
|
---|
107 |
|
---|
108 | BOOL WINAPI PathMatchSpecA(LPCSTR lpszPath, LPCSTR lpszSpec);
|
---|
109 | BOOL WINAPI PathMatchSpecW(LPCWSTR lpszPath, LPCWSTR lpszSpec);
|
---|
110 | #define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
|
---|
111 |
|
---|
112 | int WINAPI PathParseIconLocationA(LPSTR lpszPath);
|
---|
113 | int WINAPI PathParseIconLocationW(LPWSTR lpszPath);
|
---|
114 | #define PathParseIconLocation WINELIB_NAME_AW(PathParseIconLocation)
|
---|
115 |
|
---|
116 | LPSTR WINAPI PathQuoteSpacesA(LPSTR path);
|
---|
117 | LPWSTR WINAPI PathQuoteSpacesW(LPWSTR path);
|
---|
118 | #define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
|
---|
119 |
|
---|
120 | void WINAPI PathRemoveArgsA(LPSTR lpszPath);
|
---|
121 | void WINAPI PathRemoveArgsW(LPWSTR lpszPath);
|
---|
122 | #define PathRemoveArgs WINELIB_NAME_AW(PathRemoveArgs)
|
---|
123 |
|
---|
124 | LPSTR WINAPI PathRemoveBackslashA(LPSTR lpszPath);
|
---|
125 | LPWSTR WINAPI PathRemoveBackslashW(LPWSTR lpszPath);
|
---|
126 | #define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
|
---|
127 |
|
---|
128 | void WINAPI PathRemoveBlanksA(LPSTR lpszPath);
|
---|
129 | void WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
|
---|
130 | #define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
|
---|
131 |
|
---|
132 | void WINAPI PathRemoveExtensionA(LPSTR lpszPath);
|
---|
133 | void WINAPI PathRemoveExtensionW(LPWSTR lpszPath);
|
---|
134 | #define PathRemoveExtension WINELIB_NAME_AW(PathRemoveExtension)
|
---|
135 |
|
---|
136 | BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath);
|
---|
137 | BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath);
|
---|
138 | #define PathRemoveFileSpec WINELIB_NAME_AW(PathRemoveFileSpec)
|
---|
139 |
|
---|
140 | BOOL WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR pszPath);
|
---|
141 | BOOL WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR pszPath);
|
---|
142 | #define PathSetDlgItemPath WINELIB_NAME_AW(PathSetDlgItemPath)
|
---|
143 |
|
---|
144 | void WINAPI PathStripPathA(LPSTR lpszPath);
|
---|
145 | void WINAPI PathStripPathW(LPWSTR lpszPath);
|
---|
146 | #define PathStripPath WINELIB_NAME_AW(PathStripPath)
|
---|
147 |
|
---|
148 | BOOL WINAPI PathStripToRootA(LPSTR pszPath);
|
---|
149 | BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
|
---|
150 | #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
|
---|
151 |
|
---|
152 | void WINAPI PathUnquoteSpacesA(LPSTR str);
|
---|
153 | void WINAPI PathUnquoteSpacesW(LPWSTR str);
|
---|
154 | #define PathUnquoteSpaces WINELIB_NAME_AW(PathUnquoteSpaces)
|
---|
155 |
|
---|
156 |
|
---|
157 | INT WINAPI StrCSpnA(LPCSTR lpStr, LPCSTR lpSet);
|
---|
158 | INT WINAPI StrCSpnW(LPCWSTR lpStr, LPCWSTR lpSet);
|
---|
159 | #define StrCSpn WINELIB_NAME_AW(StrCSpn)
|
---|
160 |
|
---|
161 | INT WINAPI StrCSpnIA(LPCSTR lpStr, LPCSTR lpSet);
|
---|
162 | INT WINAPI StrCSpnIW(LPCWSTR lpStr, LPCWSTR lpSet);
|
---|
163 | #define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
|
---|
164 |
|
---|
165 | #define StrCatA lstrcatA
|
---|
166 | LPWSTR WINAPI StrCatW(LPWSTR front, LPCWSTR back);
|
---|
167 | #define StrCat WINELIB_NAME_AW(StrCat)
|
---|
168 |
|
---|
169 | LPSTR WINAPI StrCatBuffA(LPSTR front, LPCSTR back, INT size);
|
---|
170 | LPWSTR WINAPI StrCatBuffW(LPWSTR front, LPCWSTR back, INT size);
|
---|
171 | #define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
|
---|
172 |
|
---|
173 | LPSTR WINAPI StrChrA(LPCSTR lpStart, WORD wMatch);
|
---|
174 | LPWSTR WINAPI StrChrW(LPCWSTR lpStart, WCHAR wMatch);
|
---|
175 | #define StrChr WINELIB_NAME_AW(StrChr)
|
---|
176 |
|
---|
177 | LPSTR WINAPI StrChrIA(LPCSTR lpStart, WORD wMatch);
|
---|
178 | LPWSTR WINAPI StrChrIW(LPCWSTR lpStart, WCHAR wMatch);
|
---|
179 | #define StrChrI WINELIB_NAME_AW(StrChrI)
|
---|
180 |
|
---|
181 | INT WINAPI StrCmpNA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
|
---|
182 | INT WINAPI StrCmpNW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
|
---|
183 | #define StrCmpN WINELIB_NAME_AW(StrCmpN)
|
---|
184 |
|
---|
185 | INT WINAPI StrCmpNIA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
|
---|
186 | INT WINAPI StrCmpNIW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
|
---|
187 | #define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
|
---|
188 |
|
---|
189 | LPSTR WINAPI StrDupA(LPCSTR lpSrc);
|
---|
190 | LPWSTR WINAPI StrDupW(LPCWSTR lpSrc);
|
---|
191 | #define StrDup WINELIB_NAME_AW(StrDup)
|
---|
192 |
|
---|
193 | LPSTR WINAPI StrFormatByteSizeA ( DWORD dw, LPSTR pszBuf, UINT cchBuf );
|
---|
194 | LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf );
|
---|
195 | #define StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize)
|
---|
196 |
|
---|
197 |
|
---|
198 |
|
---|
199 | HRESULT WINAPI StrRetToBufA (LPSTRRET src, const ITEMIDLIST *pidl, LPSTR dest, DWORD len);
|
---|
200 | HRESULT WINAPI StrRetToBufW (LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, DWORD len);
|
---|
201 | #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
|
---|
202 |
|
---|
203 | HRESULT WINAPI SHDeleteKeyA(HKEY hKey, LPCSTR lpszSubKey);
|
---|
204 | HRESULT WINAPI SHDeleteKeyW(HKEY hkey, LPCWSTR pszSubKey);
|
---|
205 | #define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
|
---|
206 |
|
---|
207 | DWORD WINAPI SHDeleteEmptyKeyA(HKEY hKey, LPCSTR lpszSubKey);
|
---|
208 | DWORD WINAPI SHDeleteEmptyKeyW(HKEY hKey, LPCWSTR lpszSubKey);
|
---|
209 | #define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
|
---|
210 |
|
---|
211 | HRESULT WINAPI UrlCanonicalizeA(LPCSTR pszUrl, LPSTR pszCanonicalized,
|
---|
212 | LPDWORD pcchCanonicalized, DWORD dwFlags);
|
---|
213 | HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized,
|
---|
214 | LPDWORD pcchCanonicalized, DWORD dwFlags);
|
---|
215 | #define UrlCanonicalize WINELIB_NAME_AW(UrlCanoncalize)
|
---|
216 |
|
---|
217 | HRESULT WINAPI UrlEscapeA(LPCSTR pszUrl, LPSTR pszEscaped, LPDWORD pcchEscaped,
|
---|
218 | DWORD dwFlags);
|
---|
219 | HRESULT WINAPI UrlEscapeW(LPCWSTR pszUrl, LPWSTR pszEscaped,
|
---|
220 | LPDWORD pcchEscaped, DWORD dwFlags);
|
---|
221 | #define UrlEscape WINELIB_NAME_AW(UrlEscape)
|
---|
222 |
|
---|
223 | HRESULT WINAPI UrlUnescapeA(LPCSTR pszUrl, LPSTR pszUnescaped,
|
---|
224 | LPDWORD pcchUnescaped, DWORD dwFlags);
|
---|
225 | HRESULT WINAPI UrlUnescapeW(LPCWSTR pszUrl, LPWSTR pszUnescaped,
|
---|
226 | LPDWORD pcchUnescaped, DWORD dwFlags);
|
---|
227 | #define UrlUnescape WINELIB_AW_NAME(UrlUnescape)
|
---|
228 |
|
---|
229 | #if 0
|
---|
230 | typedef struct _DllVersionInfo {
|
---|
231 | DWORD cbSize;
|
---|
232 | DWORD dwMajorVersion;
|
---|
233 | DWORD dwMinorVersion;
|
---|
234 | DWORD dwBuildNumber;
|
---|
235 | DWORD dwPlatformID;
|
---|
236 | } DLLVERSIONINFO;
|
---|
237 |
|
---|
238 | #define DLLVER_PLATFORM_WINDOWS 0x00000001 // Windows 9x
|
---|
239 | #define DLLVER_PLATFORM_NT 0x00000002 // Windows NT
|
---|
240 |
|
---|
241 | typedef HRESULT CALLBACK (*DLLGETVERSIONPROC)(DLLVERSIONINFO *);
|
---|
242 | #endif
|
---|
243 |
|
---|
244 | #ifdef __cplusplus
|
---|
245 | } /* extern "C" */
|
---|
246 | #endif /* defined(__cplusplus) */
|
---|
247 |
|
---|
248 | #endif /* __WINE_SHLWAPI_H */
|
---|