1 #ifndef __WINE_SHLWAPI_H
2 #define __WINE_SHLWAPI_H
6 /* First part: w32api shlwapi.h.
7 SHRegQueryInfoUSKeyA and SHRegQueryInfoUSKeyW miss the last parameter in w32api
8 Following functions are declared by w32api as documented in MSDN, but the actual
9 declaration in the PSDK is different:
10 PathMakeSystemFolderA/W
11 PathUnmakeSystemFolderA/W
13 SHRegQueryInfoUSKeyA/W
18 Following functions are most likely documented wrong in MSDN (and in w32api), they
19 pop only 12 bytes from the stack on return:
24 #pragma GCC system_header
37 #define WINSHLWAPI DECLSPEC_IMPORT
40 #define DLLVER_PLATFORM_WINDOWS 0x00000001
41 #define DLLVER_PLATFORM_NT 0x00000002
43 #define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
44 #define URL_DONT_SIMPLIFY 0x08000000
45 #define URL_ESCAPE_PERCENT 0x00001000
46 #define URL_ESCAPE_SEGMENT_ONLY 0x00002000
47 #define URL_ESCAPE_SPACES_ONLY 0x04000000
48 #define URL_ESCAPE_UNSAFE 0x20000000
49 #define URL_INTERNAL_PATH 0x00800000
50 #define URL_PARTFLAG_KEEPSCHEME 0x00000001
51 #define URL_PLUGGABLE_PROTOCOL 0x40000000
52 #define URL_UNESCAPE 0x10000000
53 #define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
54 #define URL_UNESCAPE_INPLACE 0x00100000
58 typedef struct _DllVersionInfo
66 typedef struct _DLLVERSIONINFO2
74 #define MAKEDLLVERULL(major, minor, build, qfe) \
75 (((ULONGLONG)(major) << 48) | \
76 ((ULONGLONG)(minor) << 32) | \
77 ((ULONGLONG)(build) << 16) | \
78 ((ULONGLONG)( qfe) << 0))
83 ASSOCSTR_FRIENDLYDOCNAME
,
84 ASSOCSTR_FRIENDLYAPPNAME
,
86 ASSOCSTR_SHELLNEWVALUE
,
89 ASSOCSTR_DDEAPPLICATION
,
94 ASSOCKEY_SHELLEXECCLASS
= 1,
101 ASSOCDATA_MSIDESCRIPTOR
= 1,
102 ASSOCDATA_NOACTIVATEHANDLER
,
103 ASSOCDATA_QUERYCLASSSTORE
105 typedef DWORD ASSOCF
;
108 SHREGDEL_DEFAULT
= 0x00000000,
109 SHREGDEL_HKCU
= 0x00000001,
110 SHREGDEL_HKLM
= 0x00000010,
111 SHREGDEL_BOTH
= 0x00000011
115 SHREGENUM_DEFAULT
= 0x00000000,
116 SHREGENUM_HKCU
= 0x00000001,
117 SHREGENUM_HKLM
= 0x00000010,
118 SHREGENUM_BOTH
= 0x00000011
131 typedef HANDLE HUSKEY
, *PHUSKEY
;
133 typedef HRESULT (WINAPI
* DLLGETVERSIONPROC
)(DLLVERSIONINFO
*);
135 WINSHLWAPI BOOL WINAPI
ChrCmpIA(WORD
,WORD
);
136 WINSHLWAPI BOOL WINAPI
ChrCmpIW(WCHAR
,WCHAR
);
137 #define IntlStrEqNA(pStr1, pStr2, nChar) IntlStrEqWorkerA(TRUE, pStr1, pStr2, nChar);
138 #define IntlStrEqNW(pStr1, pStr2, nChar) IntlStrEqWorkerW(TRUE, pStr1, pStr2, nChar);
139 #define IntlStrEqNIA(pStr1, pStr2, nChar) IntlStrEqWorkerA(FALSE, pStr1, pStr2, nChar);
140 #define IntlStrEqNIW(pStr1, pStr2, nChar) IntlStrEqWorkerW(FALSE, pStr1, pStr2, nChar);
141 WINSHLWAPI BOOL WINAPI
IntlStrEqWorkerA(BOOL
,LPCSTR
,LPCSTR
,int);
142 WINSHLWAPI BOOL WINAPI
IntlStrEqWorkerW(BOOL
,LPCWSTR
,LPCWSTR
,int);
143 WINSHLWAPI HRESULT WINAPI
SHStrDupA(LPCSTR
,LPWSTR
*);
144 WINSHLWAPI HRESULT WINAPI
SHStrDupW(LPCWSTR
,LPWSTR
*);
145 WINSHLWAPI LPSTR WINAPI
StrCatA(LPSTR
,LPCSTR
);
146 WINSHLWAPI LPWSTR WINAPI
StrCatW(LPWSTR
,LPCWSTR
);
147 WINSHLWAPI LPSTR WINAPI
StrCatBuffA(LPSTR
,LPCSTR
,int);
148 WINSHLWAPI LPWSTR WINAPI
StrCatBuffW(LPWSTR
,LPCWSTR
,int);
149 WINSHLWAPI DWORD WINAPI
StrCatChainW(LPWSTR
,DWORD
,DWORD
,LPCWSTR
);
150 WINSHLWAPI LPSTR WINAPI
StrChrA(LPCSTR
,WORD
);
151 WINSHLWAPI LPWSTR WINAPI
StrChrW(LPCWSTR
,WCHAR
);
152 WINSHLWAPI LPSTR WINAPI
StrChrIA(LPCSTR
,WORD
);
153 WINSHLWAPI LPWSTR WINAPI
StrChrIW(LPCWSTR
,WCHAR
);
154 #define StrCmpIA lstrcmpiA
155 #define StrCmpA lstrcmpA
156 #define StrCpyA lstrcpyA
157 #define StrCpyNA lstrcpynA
158 WINSHLWAPI
int WINAPI
StrCmpIW(LPCWSTR
,LPCWSTR
);
159 WINSHLWAPI
int WINAPI
StrCmpW(LPCWSTR
,LPCWSTR
);
160 WINSHLWAPI LPWSTR WINAPI
StrCpyW(LPWSTR
,LPCWSTR
);
161 WINSHLWAPI LPWSTR WINAPI
StrCpyNW(LPWSTR
,LPCWSTR
,int);
162 WINSHLWAPI
int WINAPI
StrCmpNA(LPCSTR
,LPCSTR
,int);
163 WINSHLWAPI
int WINAPI
StrCmpNW(LPCWSTR
,LPCWSTR
,int);
164 WINSHLWAPI
int WINAPI
StrCmpNIA(LPCSTR
,LPCSTR
,int);
165 WINSHLWAPI
int WINAPI
StrCmpNIW(LPCWSTR
,LPCWSTR
,int);
166 WINSHLWAPI
int WINAPI
StrCSpnA(LPCSTR
,LPCSTR
);
167 WINSHLWAPI
int WINAPI
StrCSpnW(LPCWSTR
,LPCWSTR
);
168 WINSHLWAPI
int WINAPI
StrCSpnIA(LPCSTR
,LPCSTR
);
169 WINSHLWAPI
int WINAPI
StrCSpnIW(LPCWSTR
,LPCWSTR
);
170 WINSHLWAPI LPSTR WINAPI
StrDupA(LPCSTR
);
171 WINSHLWAPI LPWSTR WINAPI
StrDupW(LPCWSTR
);
172 WINSHLWAPI LPSTR WINAPI
StrFormatByteSize64A(LONGLONG
,LPSTR
,UINT
);
173 WINSHLWAPI LPSTR WINAPI
StrFormatByteSizeA(DWORD
,LPSTR
,UINT
);
174 WINSHLWAPI LPWSTR WINAPI
StrFormatByteSizeW(LONGLONG
,LPWSTR
,UINT
);
175 WINSHLWAPI LPSTR WINAPI
StrFormatKBSizeA(LONGLONG
,LPSTR
,UINT
);
176 WINSHLWAPI LPWSTR WINAPI
StrFormatKBSizeW(LONGLONG
,LPWSTR
,UINT
);
177 WINSHLWAPI
int WINAPI
StrFromTimeIntervalA(LPSTR
,UINT
,DWORD
,int);
178 WINSHLWAPI
int WINAPI
StrFromTimeIntervalW(LPWSTR
,UINT
,DWORD
,int);
179 WINSHLWAPI BOOL WINAPI
StrIsIntlEqualA(BOOL
,LPCSTR
,LPCSTR
,int);
180 WINSHLWAPI BOOL WINAPI
StrIsIntlEqualW(BOOL
,LPCWSTR
,LPCWSTR
,int);
181 WINSHLWAPI LPSTR WINAPI
StrNCatA(LPSTR
,LPCSTR
,int);
182 WINSHLWAPI LPWSTR WINAPI
StrNCatW(LPWSTR
,LPCWSTR
,int);
183 WINSHLWAPI LPSTR WINAPI
StrPBrkA(LPCSTR
,LPCSTR
);
184 WINSHLWAPI LPWSTR WINAPI
StrPBrkW(LPCWSTR
,LPCWSTR
);
185 WINSHLWAPI LPSTR WINAPI
StrRChrA(LPCSTR
,LPCSTR
,WORD
);
186 WINSHLWAPI LPWSTR WINAPI
StrRChrW(LPCWSTR
,LPCWSTR
,WCHAR
);
187 WINSHLWAPI LPSTR WINAPI
StrRChrIA(LPCSTR
,LPCSTR
,WORD
);
188 WINSHLWAPI LPWSTR WINAPI
StrRChrIW(LPCWSTR
,LPCWSTR
,WCHAR
);
190 WINSHLWAPI HRESULT WINAPI
StrRetToBufA(LPSTRRET
,LPCITEMIDLIST
,LPSTR
,UINT
);
191 WINSHLWAPI HRESULT WINAPI
StrRetToBufW(LPSTRRET
,LPCITEMIDLIST
,LPWSTR
,UINT
);
192 WINSHLWAPI HRESULT WINAPI
StrRetToStrA(LPSTRRET
,LPCITEMIDLIST
,LPSTR
*);
193 WINSHLWAPI HRESULT WINAPI
StrRetToStrW(LPSTRRET
,LPCITEMIDLIST
,LPWSTR
*);
195 WINSHLWAPI LPSTR WINAPI
StrRStrIA(LPCSTR
,LPCSTR
,LPCSTR
);
196 WINSHLWAPI LPWSTR WINAPI
StrRStrIW(LPCWSTR
,LPCWSTR
,LPCWSTR
);
197 WINSHLWAPI
int WINAPI
StrSpnA(LPCSTR
,LPCSTR
);
198 WINSHLWAPI
int WINAPI
StrSpnW(LPCWSTR
,LPCWSTR
);
199 WINSHLWAPI LPSTR WINAPI
StrStrA(LPCSTR
, LPCSTR
);
200 WINSHLWAPI LPSTR WINAPI
StrStrIA(LPCSTR
,LPCSTR
);
201 WINSHLWAPI LPWSTR WINAPI
StrStrIW(LPCWSTR
,LPCWSTR
);
202 WINSHLWAPI LPWSTR WINAPI
StrStrW(LPCWSTR
,LPCWSTR
);
203 WINSHLWAPI
int WINAPI
StrToIntA(LPCSTR
);
204 WINSHLWAPI
int WINAPI
StrToIntW(LPCWSTR
);
205 WINSHLWAPI BOOL WINAPI
StrToIntExA(LPCSTR
,DWORD
,int*);
206 WINSHLWAPI BOOL WINAPI
StrToIntExW(LPCWSTR
,DWORD
,int*);
207 WINSHLWAPI BOOL WINAPI
StrTrimA(LPSTR
,LPCSTR
);
208 WINSHLWAPI BOOL WINAPI
StrTrimW(LPWSTR
,LPCWSTR
);
209 WINSHLWAPI LPSTR WINAPI
PathAddBackslashA(LPSTR
);
210 WINSHLWAPI LPWSTR WINAPI
PathAddBackslashW(LPWSTR
);
211 WINSHLWAPI BOOL WINAPI
PathAddExtensionA(LPSTR
,LPCSTR
);
212 WINSHLWAPI BOOL WINAPI
PathAddExtensionW(LPWSTR
,LPCWSTR
);
213 WINSHLWAPI BOOL WINAPI
PathAppendA(LPSTR
,LPCSTR
);
214 WINSHLWAPI BOOL WINAPI
PathAppendW(LPWSTR
,LPCWSTR
);
215 WINSHLWAPI LPSTR WINAPI
PathBuildRootA(LPSTR
,int);
216 WINSHLWAPI LPWSTR WINAPI
PathBuildRootW(LPWSTR
,int);
217 WINSHLWAPI BOOL WINAPI
PathCanonicalizeA(LPSTR
,LPCSTR
);
218 WINSHLWAPI BOOL WINAPI
PathCanonicalizeW(LPWSTR
,LPCWSTR
);
219 WINSHLWAPI LPSTR WINAPI
PathCombineA(LPSTR
,LPCSTR
,LPCSTR
);
220 WINSHLWAPI LPWSTR WINAPI
PathCombineW(LPWSTR
,LPCWSTR
,LPCWSTR
);
221 WINSHLWAPI
int WINAPI
PathCommonPrefixA(LPCSTR
,LPCSTR
,LPSTR
);
222 WINSHLWAPI
int WINAPI
PathCommonPrefixW(LPCWSTR
,LPCWSTR
,LPWSTR
);
223 WINSHLWAPI BOOL WINAPI
PathCompactPathA(HDC
,LPSTR
,UINT
);
224 WINSHLWAPI BOOL WINAPI
PathCompactPathW(HDC
,LPWSTR
,UINT
);
225 WINSHLWAPI BOOL WINAPI
PathCompactPathExA(LPSTR
,LPCSTR
,UINT
,DWORD
);
226 WINSHLWAPI BOOL WINAPI
PathCompactPathExW(LPWSTR
,LPCWSTR
,UINT
,DWORD
);
227 WINSHLWAPI HRESULT WINAPI
PathCreateFromUrlA(LPCSTR
,LPSTR
,LPDWORD
,DWORD
);
228 WINSHLWAPI HRESULT WINAPI
PathCreateFromUrlW(LPCWSTR
,LPWSTR
,LPDWORD
,DWORD
);
229 WINSHLWAPI BOOL WINAPI
PathFileExistsA(LPCSTR
);
230 WINSHLWAPI BOOL WINAPI
PathFileExistsW(LPCWSTR
);
231 WINSHLWAPI LPSTR WINAPI
PathFindExtensionA(LPCSTR
);
232 WINSHLWAPI LPWSTR WINAPI
PathFindExtensionW(LPCWSTR
);
233 WINSHLWAPI LPSTR WINAPI
PathFindFileNameA(LPCSTR
);
234 WINSHLWAPI LPWSTR WINAPI
PathFindFileNameW(LPCWSTR
);
235 WINSHLWAPI LPSTR WINAPI
PathFindNextComponentA(LPCSTR
);
236 WINSHLWAPI LPWSTR WINAPI
PathFindNextComponentW(LPCWSTR
);
237 WINSHLWAPI BOOL WINAPI
PathFindOnPathA(LPSTR
,LPCSTR
*);
238 WINSHLWAPI BOOL WINAPI
PathFindOnPathW(LPWSTR
,LPCWSTR
*);
239 WINSHLWAPI LPCSTR WINAPI
PathFindSuffixArrayA(LPCSTR
,LPCSTR
*,int);
240 WINSHLWAPI LPCWSTR WINAPI
PathFindSuffixArrayW(LPCWSTR
,LPCWSTR
*,int);
241 WINSHLWAPI LPSTR WINAPI
PathGetArgsA(LPCSTR
);
242 WINSHLWAPI LPWSTR WINAPI
PathGetArgsW(LPCWSTR
);
243 WINSHLWAPI UINT WINAPI
PathGetCharTypeA(UCHAR
);
244 WINSHLWAPI UINT WINAPI
PathGetCharTypeW(WCHAR
);
245 WINSHLWAPI
int WINAPI
PathGetDriveNumberA(LPCSTR
);
246 WINSHLWAPI
int WINAPI
PathGetDriveNumberW(LPCWSTR
);
247 WINSHLWAPI BOOL WINAPI
PathIsContentTypeA(LPCSTR
,LPCSTR
);
248 WINSHLWAPI BOOL WINAPI
PathIsContentTypeW(LPCWSTR
,LPCWSTR
);
249 WINSHLWAPI BOOL WINAPI
PathIsDirectoryA(LPCSTR
);
250 WINSHLWAPI BOOL WINAPI
PathIsDirectoryEmptyA(LPCSTR
);
251 WINSHLWAPI BOOL WINAPI
PathIsDirectoryEmptyW(LPCWSTR
);
252 WINSHLWAPI BOOL WINAPI
PathIsDirectoryW(LPCWSTR
);
253 WINSHLWAPI BOOL WINAPI
PathIsFileSpecA(LPCSTR
);
254 WINSHLWAPI BOOL WINAPI
PathIsFileSpecW(LPCWSTR
);
255 WINSHLWAPI BOOL WINAPI
PathIsLFNFileSpecA(LPCSTR
);
256 WINSHLWAPI BOOL WINAPI
PathIsLFNFileSpecW(LPCWSTR
);
257 WINSHLWAPI BOOL WINAPI
PathIsNetworkPathA(LPCSTR
);
258 WINSHLWAPI BOOL WINAPI
PathIsNetworkPathW(LPCWSTR
);
259 WINSHLWAPI BOOL WINAPI
PathIsPrefixA(LPCSTR
,LPCSTR
);
260 WINSHLWAPI BOOL WINAPI
PathIsPrefixW(LPCWSTR
,LPCWSTR
);
261 WINSHLWAPI BOOL WINAPI
PathIsRelativeA(LPCSTR
);
262 WINSHLWAPI BOOL WINAPI
PathIsRelativeW(LPCWSTR
);
263 WINSHLWAPI BOOL WINAPI
PathIsRootA(LPCSTR
);
264 WINSHLWAPI BOOL WINAPI
PathIsRootW(LPCWSTR
);
265 WINSHLWAPI BOOL WINAPI
PathIsSameRootA(LPCSTR
,LPCSTR
);
266 WINSHLWAPI BOOL WINAPI
PathIsSameRootW(LPCWSTR
,LPCWSTR
);
267 WINSHLWAPI BOOL WINAPI
PathIsSystemFolderA(LPCSTR
,DWORD
);
268 WINSHLWAPI BOOL WINAPI
PathIsSystemFolderW(LPCWSTR
,DWORD
);
269 WINSHLWAPI BOOL WINAPI
PathIsUNCA(LPCSTR
);
270 WINSHLWAPI BOOL WINAPI
PathIsUNCServerA(LPCSTR
);
271 WINSHLWAPI BOOL WINAPI
PathIsUNCServerShareA(LPCSTR
);
272 WINSHLWAPI BOOL WINAPI
PathIsUNCServerShareW(LPCWSTR
);
273 WINSHLWAPI BOOL WINAPI
PathIsUNCServerW(LPCWSTR
);
274 WINSHLWAPI BOOL WINAPI
PathIsUNCW(LPCWSTR
);
275 WINSHLWAPI BOOL WINAPI
PathIsURLA(LPCSTR
);
276 WINSHLWAPI BOOL WINAPI
PathIsURLW(LPCWSTR
);
277 WINSHLWAPI BOOL WINAPI
PathMakePrettyA(LPSTR
);
278 WINSHLWAPI BOOL WINAPI
PathMakePrettyW(LPWSTR
);
279 WINSHLWAPI BOOL WINAPI
PathMakeSystemFolderA(LPCSTR
);
280 WINSHLWAPI BOOL WINAPI
PathMakeSystemFolderW(LPCWSTR
);
281 WINSHLWAPI BOOL WINAPI
PathMatchSpecA(LPCSTR
,LPCSTR
);
282 WINSHLWAPI BOOL WINAPI
PathMatchSpecW(LPCWSTR
,LPCWSTR
);
283 WINSHLWAPI
int WINAPI
PathParseIconLocationA(LPSTR
);
284 WINSHLWAPI
int WINAPI
PathParseIconLocationW(LPWSTR
);
285 WINSHLWAPI
void WINAPI
PathQuoteSpacesA(LPSTR
);
286 WINSHLWAPI
void WINAPI
PathQuoteSpacesW(LPWSTR
);
287 WINSHLWAPI BOOL WINAPI
PathRelativePathToA(LPSTR
,LPCSTR
,DWORD
,LPCSTR
,DWORD
);
288 WINSHLWAPI BOOL WINAPI
PathRelativePathToW(LPWSTR
,LPCWSTR
,DWORD
,LPCWSTR
,DWORD
);
289 WINSHLWAPI
void WINAPI
PathRemoveArgsA(LPSTR
);
290 WINSHLWAPI
void WINAPI
PathRemoveArgsW(LPWSTR
);
291 WINSHLWAPI LPSTR WINAPI
PathRemoveBackslashA(LPSTR
);
292 WINSHLWAPI LPWSTR WINAPI
PathRemoveBackslashW(LPWSTR
);
293 WINSHLWAPI
void WINAPI
PathRemoveBlanksA(LPSTR
);
294 WINSHLWAPI
void WINAPI
PathRemoveBlanksW(LPWSTR
);
295 WINSHLWAPI
void WINAPI
PathRemoveExtensionA(LPSTR
);
296 WINSHLWAPI
void WINAPI
PathRemoveExtensionW(LPWSTR
);
297 WINSHLWAPI BOOL WINAPI
PathRemoveFileSpecA(LPSTR
);
298 WINSHLWAPI BOOL WINAPI
PathRemoveFileSpecW(LPWSTR
);
299 WINSHLWAPI BOOL WINAPI
PathRenameExtensionA(LPSTR
,LPCSTR
);
300 WINSHLWAPI BOOL WINAPI
PathRenameExtensionW(LPWSTR
,LPCWSTR
);
301 WINSHLWAPI BOOL WINAPI
PathSearchAndQualifyA(LPCSTR
,LPSTR
,UINT
);
302 WINSHLWAPI BOOL WINAPI
PathSearchAndQualifyW(LPCWSTR
,LPWSTR
,UINT
);
303 WINSHLWAPI
void WINAPI
PathSetDlgItemPathA(HWND
,int,LPCSTR
);
304 WINSHLWAPI
void WINAPI
PathSetDlgItemPathW(HWND
,int,LPCWSTR
);
305 WINSHLWAPI LPSTR WINAPI
PathSkipRootA(LPCSTR
);
306 WINSHLWAPI LPWSTR WINAPI
PathSkipRootW(LPCWSTR
);
307 WINSHLWAPI
void WINAPI
PathStripPathA(LPSTR
);
308 WINSHLWAPI
void WINAPI
PathStripPathW(LPWSTR
);
309 WINSHLWAPI BOOL WINAPI
PathStripToRootA(LPSTR
);
310 WINSHLWAPI BOOL WINAPI
PathStripToRootW(LPWSTR
);
311 WINSHLWAPI
void WINAPI
PathUndecorateA(LPSTR
);
312 WINSHLWAPI
void WINAPI
PathUndecorateW(LPWSTR
);
313 WINSHLWAPI BOOL WINAPI
PathUnExpandEnvStringsA(LPCSTR
,LPSTR
,UINT
);
314 WINSHLWAPI BOOL WINAPI
PathUnExpandEnvStringsW(LPCWSTR
,LPWSTR
,UINT
);
315 WINSHLWAPI BOOL WINAPI
PathUnmakeSystemFolderA(LPCSTR
);
316 WINSHLWAPI BOOL WINAPI
PathUnmakeSystemFolderW(LPCWSTR
);
317 WINSHLWAPI
void WINAPI
PathUnquoteSpacesA(LPSTR
);
318 WINSHLWAPI
void WINAPI
PathUnquoteSpacesW(LPWSTR
);
319 WINSHLWAPI HRESULT WINAPI
SHAutoComplete(HWND
,DWORD
);
321 WINSHLWAPI HRESULT WINAPI
SHCreateStreamOnFileA(LPCSTR
,DWORD
,struct IStream
**);
322 WINSHLWAPI HRESULT WINAPI
SHCreateStreamOnFileW(LPCWSTR
,DWORD
,struct IStream
**);
323 WINSHLWAPI
struct IStream
* WINAPI
SHOpenRegStream2A(HKEY
,LPCSTR
,LPCSTR
,DWORD
);
324 WINSHLWAPI
struct IStream
* WINAPI
SHOpenRegStream2W(HKEY
,LPCWSTR
,LPCWSTR
,DWORD
);
325 WINSHLWAPI
struct IStream
* WINAPI
SHOpenRegStreamA(HKEY
,LPCSTR
,LPCSTR
,DWORD
);
326 WINSHLWAPI
struct IStream
* WINAPI
SHOpenRegStreamW(HKEY
,LPCWSTR
,LPCWSTR
,DWORD
);
328 WINSHLWAPI BOOL WINAPI
SHCreateThread(LPTHREAD_START_ROUTINE
,void*,DWORD
,LPTHREAD_START_ROUTINE
);
329 WINSHLWAPI DWORD WINAPI
SHCopyKeyA(HKEY
,LPCSTR
,HKEY
,DWORD
);
330 WINSHLWAPI DWORD WINAPI
SHCopyKeyW(HKEY
,LPCWSTR
,HKEY
,DWORD
);
331 WINSHLWAPI DWORD WINAPI
SHDeleteEmptyKeyA(HKEY
,LPCSTR
);
332 WINSHLWAPI DWORD WINAPI
SHDeleteEmptyKeyW(HKEY
,LPCWSTR
);
333 WINSHLWAPI DWORD WINAPI
SHDeleteKeyA(HKEY
,LPCSTR
);
334 WINSHLWAPI DWORD WINAPI
SHDeleteKeyW(HKEY
,LPCWSTR
);
335 WINSHLWAPI LONG WINAPI
SHEnumKeyExA(HKEY
,DWORD
,LPSTR
,LPDWORD
);
336 WINSHLWAPI LONG WINAPI
SHEnumKeyExW(HKEY
,DWORD
,LPWSTR
,LPDWORD
);
337 WINSHLWAPI LONG WINAPI
SHQueryInfoKeyA(HKEY
,LPDWORD
,LPDWORD
,LPDWORD
,LPDWORD
);
338 WINSHLWAPI LONG WINAPI
SHQueryInfoKeyW(HKEY
,LPDWORD
,LPDWORD
,LPDWORD
,LPDWORD
);
339 WINSHLWAPI DWORD WINAPI
SHQueryValueExA(HKEY
,LPCSTR
,LPDWORD
,LPDWORD
,LPVOID
,LPDWORD
);
340 WINSHLWAPI DWORD WINAPI
SHQueryValueExW(HKEY
,LPCWSTR
,LPDWORD
,LPDWORD
,LPVOID
,LPDWORD
);
342 WINSHLWAPI HRESULT WINAPI
SHGetThreadRef(IUnknown
**);
343 WINSHLWAPI HRESULT WINAPI
SHSetThreadRef(IUnknown
*);
344 WINSHLWAPI BOOL WINAPI
SHSkipJunction(IBindCtx
*,const CLSID
*);
346 WINSHLWAPI LONG WINAPI
SHEnumValueA(HKEY
,DWORD
,LPSTR
,LPDWORD
,LPDWORD
,LPVOID
,LPDWORD
);
347 WINSHLWAPI LONG WINAPI
SHEnumValueW(HKEY
,DWORD
,LPWSTR
,LPDWORD
,LPDWORD
,LPVOID
,LPDWORD
);
348 WINSHLWAPI DWORD WINAPI
SHGetValueA(HKEY
,LPCSTR
,LPCSTR
,LPDWORD
,LPVOID
,LPDWORD
);
349 WINSHLWAPI DWORD WINAPI
SHGetValueW(HKEY
,LPCWSTR
,LPCWSTR
,LPDWORD
,LPVOID
,LPDWORD
);
350 WINSHLWAPI DWORD WINAPI
SHSetValueA(HKEY
,LPCSTR
,LPCSTR
,DWORD
,LPCVOID
,DWORD
);
351 WINSHLWAPI DWORD WINAPI
SHSetValueW(HKEY
,LPCWSTR
,LPCWSTR
,DWORD
,LPCVOID
,DWORD
);
352 WINSHLWAPI DWORD WINAPI
SHDeleteValueA(HKEY
,LPCSTR
,LPCSTR
);
353 WINSHLWAPI DWORD WINAPI
SHDeleteValueW(HKEY
,LPCWSTR
,LPCWSTR
);
354 WINSHLWAPI HRESULT WINAPI
AssocCreate(CLSID
,const IID
* const,LPVOID
*);
355 WINSHLWAPI HRESULT WINAPI
AssocQueryKeyA(ASSOCF
,ASSOCKEY
,LPCSTR
,LPCSTR
,HKEY
*);
356 WINSHLWAPI HRESULT WINAPI
AssocQueryKeyW(ASSOCF
,ASSOCKEY
,LPCWSTR
,LPCWSTR
,HKEY
*);
357 WINSHLWAPI HRESULT WINAPI
AssocQueryStringA(ASSOCF
,ASSOCSTR
,LPCSTR
,LPCSTR
,LPSTR
,DWORD
*);
358 WINSHLWAPI HRESULT WINAPI
AssocQueryStringByKeyA(ASSOCF
,ASSOCSTR
,HKEY
,LPCSTR
,LPSTR
,DWORD
*);
359 WINSHLWAPI HRESULT WINAPI
AssocQueryStringByKeyW(ASSOCF
,ASSOCSTR
,HKEY
,LPCWSTR
,LPWSTR
,DWORD
*);
360 WINSHLWAPI HRESULT WINAPI
AssocQueryStringW(ASSOCF
,ASSOCSTR
,LPCWSTR
,LPCWSTR
,LPWSTR
,DWORD
*);
362 WINSHLWAPI HRESULT WINAPI
UrlApplySchemeA(LPCSTR
,LPSTR
,LPDWORD
,DWORD
);
363 WINSHLWAPI HRESULT WINAPI
UrlApplySchemeW(LPCWSTR
,LPWSTR
,LPDWORD
,DWORD
);
364 WINSHLWAPI HRESULT WINAPI
UrlCanonicalizeA(LPCSTR
,LPSTR
,LPDWORD
,DWORD
);
365 WINSHLWAPI HRESULT WINAPI
UrlCanonicalizeW(LPCWSTR
,LPWSTR
,LPDWORD
,DWORD
);
366 WINSHLWAPI HRESULT WINAPI
UrlCombineA(LPCSTR
,LPCSTR
,LPSTR
,LPDWORD
,DWORD
);
367 WINSHLWAPI HRESULT WINAPI
UrlCombineW(LPCWSTR
,LPCWSTR
,LPWSTR
,LPDWORD
,DWORD
);
368 WINSHLWAPI
int WINAPI
UrlCompareA(LPCSTR
,LPCSTR
,BOOL
);
369 WINSHLWAPI
int WINAPI
UrlCompareW(LPCWSTR
,LPCWSTR
,BOOL
);
370 WINSHLWAPI HRESULT WINAPI
UrlCreateFromPathA(LPCSTR
,LPSTR
,LPDWORD
,DWORD
);
371 WINSHLWAPI HRESULT WINAPI
UrlCreateFromPathW(LPCWSTR
,LPWSTR
,LPDWORD
,DWORD
);
372 WINSHLWAPI HRESULT WINAPI
UrlEscapeA(LPCSTR
,LPSTR
,LPDWORD
,DWORD
);
373 WINSHLWAPI HRESULT WINAPI
UrlEscapeW(LPCWSTR
,LPWSTR
,LPDWORD
,DWORD
);
374 WINSHLWAPI LPCSTR WINAPI
UrlGetLocationA(LPCSTR
);
375 WINSHLWAPI LPCWSTR WINAPI
UrlGetLocationW(LPCWSTR
);
376 WINSHLWAPI HRESULT WINAPI
UrlGetPartA(LPCSTR
,LPSTR
,LPDWORD
,DWORD
,DWORD
);
377 WINSHLWAPI HRESULT WINAPI
UrlGetPartW(LPCWSTR
,LPWSTR
,LPDWORD
,DWORD
,DWORD
);
378 WINSHLWAPI HRESULT WINAPI
UrlHashA(LPCSTR
,LPBYTE
,DWORD
);
379 WINSHLWAPI HRESULT WINAPI
UrlHashW(LPCWSTR
,LPBYTE
,DWORD
);
380 WINSHLWAPI BOOL WINAPI
UrlIsA(LPCSTR
,URLIS
);
381 WINSHLWAPI BOOL WINAPI
UrlIsW(LPCWSTR
,URLIS
);
382 #define UrlIsFileUrlA(pszURL) UrlIsA(pzURL, URLIS_FILEURL)
383 #define UrlIsFileUrlW(pszURL) UrlIsW(pszURL, URLIS_FILEURL)
384 WINSHLWAPI BOOL WINAPI
UrlIsNoHistoryA(LPCSTR
);
385 WINSHLWAPI BOOL WINAPI
UrlIsNoHistoryW(LPCWSTR
);
386 WINSHLWAPI BOOL WINAPI
UrlIsOpaqueA(LPCSTR
);
387 WINSHLWAPI BOOL WINAPI
UrlIsOpaqueW(LPCWSTR
);
388 WINSHLWAPI HRESULT WINAPI
UrlUnescapeA(LPSTR
,LPSTR
,LPDWORD
,DWORD
);
389 WINSHLWAPI HRESULT WINAPI
UrlUnescapeW(LPWSTR
,LPWSTR
,LPDWORD
,DWORD
);
390 #define UrlUnescapeInPlaceA(pszUrl,dwFlags )\
391 UrlUnescapeA(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
392 #define UrlUnescapeInPlaceW(pszUrl,dwFlags )\
393 UrlUnescapeW(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE)
394 WINSHLWAPI LONG WINAPI
SHRegCloseUSKey(HUSKEY
);
395 WINSHLWAPI LONG WINAPI
SHRegCreateUSKeyA(LPCSTR
,REGSAM
,HUSKEY
,PHUSKEY
,DWORD
);
396 WINSHLWAPI LONG WINAPI
SHRegCreateUSKeyW(LPCWSTR
,REGSAM
,HUSKEY
,PHUSKEY
,DWORD
);
397 WINSHLWAPI LONG WINAPI
SHRegDeleteEmptyUSKeyA(HUSKEY
,LPCSTR
,SHREGDEL_FLAGS
);
398 WINSHLWAPI LONG WINAPI
SHRegDeleteEmptyUSKeyW(HUSKEY
,LPCWSTR
,SHREGDEL_FLAGS
);
399 WINSHLWAPI LONG WINAPI
SHRegDeleteUSValueA(HUSKEY
,LPCSTR
,SHREGDEL_FLAGS
);
400 WINSHLWAPI LONG WINAPI
SHRegDeleteUSValueW(HUSKEY
,LPCWSTR
,SHREGDEL_FLAGS
);
401 WINSHLWAPI HKEY WINAPI
SHRegDuplicateHKey(HKEY
);
402 WINSHLWAPI LONG WINAPI
SHRegEnumUSKeyA(HUSKEY
,DWORD
,LPSTR
,LPDWORD
,SHREGENUM_FLAGS
);
403 WINSHLWAPI LONG WINAPI
SHRegEnumUSKeyW(HUSKEY
,DWORD
,LPWSTR
,LPDWORD
,SHREGENUM_FLAGS
);
404 WINSHLWAPI DWORD WINAPI
SHRegEnumUSValueA(HUSKEY
,DWORD
,LPSTR
,LPDWORD
,LPDWORD
,LPVOID
,LPDWORD
,SHREGENUM_FLAGS
);
405 WINSHLWAPI DWORD WINAPI
SHRegEnumUSValueW(HUSKEY
,DWORD
,LPWSTR
,LPDWORD
,LPDWORD
,LPVOID
,LPDWORD
,SHREGENUM_FLAGS
);
406 WINSHLWAPI BOOL WINAPI
SHRegGetBoolUSValueA(LPCSTR
,LPCSTR
,BOOL
,BOOL
);
407 WINSHLWAPI BOOL WINAPI
SHRegGetBoolUSValueW(LPCWSTR
,LPCWSTR
,BOOL
,BOOL
);
408 WINSHLWAPI DWORD WINAPI
SHRegGetPathA(HKEY
,LPCSTR
,LPCSTR
,LPSTR
,DWORD
);
409 WINSHLWAPI DWORD WINAPI
SHRegGetPathW(HKEY
,LPCWSTR
,LPCWSTR
,LPWSTR
,DWORD
);
410 WINSHLWAPI LONG WINAPI
SHRegGetUSValueA(LPCSTR
,LPCSTR
,LPDWORD
,LPVOID
,LPDWORD
,BOOL
,LPVOID
,DWORD
);
411 WINSHLWAPI LONG WINAPI
SHRegGetUSValueW(LPCWSTR
,LPCWSTR
,LPDWORD
,LPVOID
,LPDWORD
,BOOL
,LPVOID
,DWORD
);
412 WINSHLWAPI LONG WINAPI
SHRegOpenUSKeyA(LPCSTR
,REGSAM
,HUSKEY
,PHUSKEY
,BOOL
);
413 WINSHLWAPI LONG WINAPI
SHRegOpenUSKeyW(LPCWSTR
,REGSAM
,HUSKEY
,PHUSKEY
,BOOL
);
414 WINSHLWAPI LONG WINAPI
SHRegQueryInfoUSKeyA(HUSKEY
,LPDWORD
,LPDWORD
,LPDWORD
,LPDWORD
,SHREGENUM_FLAGS
);
415 WINSHLWAPI LONG WINAPI
SHRegQueryInfoUSKeyW(HUSKEY
,LPDWORD
,LPDWORD
,LPDWORD
,LPDWORD
,SHREGENUM_FLAGS
);
416 WINSHLWAPI LONG WINAPI
SHRegQueryUSValueA(HUSKEY
,LPCSTR
,LPDWORD
,LPVOID
,LPDWORD
,BOOL
,LPVOID
,DWORD
);
417 WINSHLWAPI LONG WINAPI
SHRegQueryUSValueW(HUSKEY
,LPCWSTR
,LPDWORD
,LPVOID
,LPDWORD
,BOOL
,LPVOID
,DWORD
);
418 WINSHLWAPI DWORD WINAPI
SHRegSetPathA(HKEY
,LPCSTR
,LPCSTR
,LPCSTR
,DWORD
);
419 WINSHLWAPI DWORD WINAPI
SHRegSetPathW(HKEY
,LPCWSTR
,LPCWSTR
,LPCWSTR
,DWORD
);
420 WINSHLWAPI LONG WINAPI
SHRegSetUSValueA(LPCSTR
,LPCSTR
,DWORD
,LPVOID
,DWORD
,DWORD
);
421 WINSHLWAPI LONG WINAPI
SHRegSetUSValueW(LPCWSTR
,LPCWSTR
,DWORD
,LPVOID
,DWORD
,DWORD
);
422 WINSHLWAPI LONG WINAPI
SHRegWriteUSValueA(HUSKEY
,LPCSTR
,DWORD
,LPVOID
,DWORD
,DWORD
);
423 WINSHLWAPI LONG WINAPI
SHRegWriteUSValueW(HUSKEY
,LPCWSTR
,DWORD
,LPVOID
,DWORD
,DWORD
);
424 WINSHLWAPI HRESULT WINAPI
HashData(LPBYTE
,DWORD
,LPBYTE
,DWORD
);
425 WINSHLWAPI HPALETTE WINAPI
SHCreateShellPalette(HDC
);
426 WINSHLWAPI COLORREF WINAPI
ColorHLSToRGB(WORD
,WORD
,WORD
);
427 WINSHLWAPI COLORREF WINAPI
ColorAdjustLuma(COLORREF
,int,BOOL
);
428 WINSHLWAPI
void WINAPI
ColorRGBToHLS(COLORREF
,WORD
*,WORD
*,WORD
*);
429 WINSHLWAPI
int __cdecl
wnsprintfA(LPSTR
,int,LPCSTR
,...);
430 WINSHLWAPI
int __cdecl
wnsprintfW(LPWSTR
,int,LPCWSTR
,...);
431 WINSHLWAPI
int WINAPI
wvnsprintfA(LPSTR
,int,LPCSTR
,va_list);
432 WINSHLWAPI
int WINAPI
wvnsprintfW(LPWSTR
,int,LPCWSTR
,va_list);
434 HINSTANCE WINAPI
MLLoadLibraryA(LPCSTR
,HMODULE
,DWORD
);
435 HINSTANCE WINAPI
MLLoadLibraryW(LPCWSTR
,HMODULE
,DWORD
);
437 HRESULT WINAPI
DllInstall(BOOL
,LPCWSTR
);
440 #define ChrCmpI ChrCmpIW
441 #define IntlStrEqN IntlStrEqNW
442 #define IntlStrEqNI IntlStrEqNIW
443 #define IntlStrEqWorker IntlStrEqWorkerW
444 #define SHStrDup SHStrDupW
445 #define StrCat StrCatW
446 #define StrCatBuff StrCatBuffW
447 #define StrChr StrChrW
448 #define StrChrI StrChrIW
449 #define StrCmp StrCmpW
450 #define StrCmpI StrCmpIW
451 #define StrCmpNI StrCmpNIW
452 #define StrCmpN StrCmpNW
453 #define StrCpyN StrCpyNW
454 #define StrCpy StrCpyW
455 #define StrCSpnI StrCSpnIW
456 #define StrCSpn StrCSpnW
457 #define StrDup StrDupW
458 #define StrFormatByteSize StrFormatByteSizeW
459 #define StrFormatKBSize StrFormatKBSizeW
460 #define StrFromTimeInterval StrFromTimeIntervalW
461 #define StrIsIntlEqual StrIsIntlEqualW
462 #define StrNCat StrNCatW
463 #define StrPBrk StrPBrkW
464 #define StrRChr StrRChrW
465 #define StrRChrI StrRChrIW
467 #define StrRetToBuf StrRetToBufW
468 #define StrRetToStr StrRetToStrW
470 #define StrRStrI StrRStrIW
471 #define StrSpn StrSpnW
472 #define StrStrI StrStrIW
473 #define StrStr StrStrW
474 #define StrToInt StrToIntW
475 #define StrToIntEx StrToIntExW
476 #define StrTrim StrTrimW
477 #define PathAddBackslash PathAddBackslashW
478 #define PathAddExtension PathAddExtensionW
479 #define PathAppend PathAppendW
480 #define PathBuildRoot PathBuildRootW
481 #define PathCanonicalize PathCanonicalizeW
482 #define PathCombine PathCombineW
483 #define PathCommonPrefix PathCommonPrefixW
484 #define PathCompactPath PathCompactPathW
485 #define PathCompactPathEx PathCompactPathExW
486 #define PathCreateFromUrl PathCreateFromUrlW
487 #define PathFileExists PathFileExistsW
488 #define PathFindExtension PathFindExtensionW
489 #define PathFindFileName PathFindFileNameW
490 #define PathFindNextComponent PathFindNextComponentW
491 #define PathFindOnPath PathFindOnPathW
492 #define PathFindSuffixArray PathFindSuffixArrayW
493 #define PathGetArgs PathGetArgsW
494 #define PathGetCharType PathGetCharTypeW
495 #define PathGetDriveNumber PathGetDriveNumberW
496 #define PathIsContentType PathIsContentTypeW
497 #define PathIsDirectoryEmpty PathIsDirectoryEmptyW
498 #define PathIsDirectory PathIsDirectoryW
499 #define PathIsFileSpec PathIsFileSpecW
500 #define PathIsLFNFileSpec PathIsLFNFileSpecW
501 #define PathIsNetworkPath PathIsNetworkPathW
502 #define PathIsPrefix PathIsPrefixW
503 #define PathIsRelative PathIsRelativeW
504 #define PathIsRoot PathIsRootW
505 #define PathIsSameRoot PathIsSameRootW
506 #define PathIsSystemFolder PathIsSystemFolderW
507 #define PathIsUNCServerShare PathIsUNCServerShareW
508 #define PathIsUNCServer PathIsUNCServerW
509 #define PathIsUNC PathIsUNCW
510 #define PathIsURL PathIsURLW
511 #define PathMakePretty PathMakePrettyW
512 #define PathMakeSystemFolder PathMakeSystemFolderW
513 #define PathMatchSpec PathMatchSpecW
514 #define PathParseIconLocation PathParseIconLocationW
515 #define PathQuoteSpaces PathQuoteSpacesW
516 #define PathRelativePathTo PathRelativePathToW
517 #define PathRemoveArgs PathRemoveArgsW
518 #define PathRemoveBackslash PathRemoveBackslashW
519 #define PathRemoveBlanks PathRemoveBlanksW
520 #define PathRemoveExtension PathRemoveExtensionW
521 #define PathRemoveFileSpec PathRemoveFileSpecW
522 #define PathRenameExtension PathRenameExtensionW
523 #define PathSearchAndQualify PathSearchAndQualifyW
524 #define PathSetDlgItemPath PathSetDlgItemPathW
525 #define PathSkipRoot PathSkipRootW
526 #define PathStripPath PathStripPathW
527 #define PathStripToRoot PathStripToRootW
528 #define PathUndecorate PathUndecorateW
529 #define PathUnExpandEnvStrings PathUnExpandEnvStringsW
530 #define PathUnmakeSystemFolder PathUnmakeSystemFolderW
531 #define PathUnquoteSpaces PathUnquoteSpacesW
533 #define SHCreateStreamOnFile SHCreateStreamOnFileW
534 #define SHOpenRegStream SHOpenRegStreamW
535 #define SHOpenRegStream2 SHOpenRegStream2W
537 #define SHCopyKey SHCopyKeyW
538 #define SHDeleteEmptyKey SHDeleteEmptyKeyW
539 #define SHDeleteKey SHDeleteKeyW
540 #define SHEnumKeyEx SHEnumKeyExW
541 #define SHQueryInfoKey SHRegQueryInfoKeyW
542 #define SHQueryValueEx SHQueryValueExW
543 #define SHEnumValue SHEnumValueW
544 #define SHGetValue SHGetValueW
545 #define SHSetValue SHSetValueW
546 #define SHDeleteValue SHDeleteValueW
547 #define AssocQueryKey AssocQueryKeyW
548 #define AssocQueryStringByKey AssocQueryStringByKeyW
549 #define AssocQueryString AssocQueryStringW
550 #define UrlApplyScheme UrlApplySchemeW
551 #define UrlCanonicalize UrlCanonicalizeW
552 #define UrlCombine UrlCombineW
553 #define UrlCompare UrlCompareW
554 #define UrlCreateFromPath UrlCreateFromPathW
555 #define UrlEscape UrlEscapeW
556 #define UrlGetLocation UrlGetLocationW
557 #define UrlGetPart UrlGetPartW
558 #define UrlHash UrlHashW
560 #define UrlIsFileUrl UrlIsFileUrlW
561 #define UrlIsNoHistory UrlIsNoHistoryW
562 #define UrlIsOpaque UrlIsOpaqueW
563 #define UrlUnescape UrlUnescapeW
564 #define UrlUnescapeInPlace UrlUnescapeInPlaceW
565 #define SHRegCreateUSKey SHRegCreateUSKeyW
566 #define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyW
567 #define SHRegDeleteUSValue SHRegDeleteUSValueW
568 #define SHRegEnumUSKey SHRegEnumUSKeyW
569 #define SHRegEnumUSValue SHRegEnumUSValueW
570 #define SHRegGetBoolUSValue SHRegGetBoolUSValueW
571 #define SHRegGetPath SHRegGetPathW
572 #define SHRegGetUSValue SHRegGetUSValueW
573 #define SHRegOpenUSKey SHRegOpenUSKeyW
574 #define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyW
575 #define SHRegQueryUSValue SHRegQueryUSValueW
576 #define SHRegSetPath SHRegSetPathW
577 #define SHRegSetUSValue SHRegSetUSValueW
578 #define SHRegWriteUSValue SHRegWriteUSValueW
579 #define wnsprintf wnsprintfW
580 #define wvnsprintf wvnsprintfW
582 #define ChrCmpI ChrCmpIA
583 #define IntlStrEqN IntlStrEqNA
584 #define IntlStrEqNI IntlStrEqNIA
585 #define IntlStrEqWorker IntlStrEqWorkerA
586 #define SHStrDup SHStrDupA
587 #define StrCat lstrcatA
588 #define StrCatBuff StrCatBuffA
589 #define StrChr StrChrA
590 #define StrChrI StrChrIA
591 #define StrCmp lstrcmpA
592 #define StrCmpI lstrcmpiA
593 #define StrCmpNI StrCmpNIA
594 #define StrCmpN StrCmpNA
595 #define StrCpyN lstrcpynA
596 #define StrCpy lstrcpyA
597 #define StrCSpnI StrCSpnIA
598 #define StrCSpn StrCSpnA
599 #define StrDup StrDupA
600 #define StrFormatByteSize StrFormatByteSizeA
601 #define StrFormatKBSize StrFormatKBSizeA
602 #define StrFromTimeInterval StrFromTimeIntervalA
603 #define StrIsIntlEqual StrIsIntlEqualA
604 #define StrNCat StrNCatA
605 #define StrPBrk StrPBrkA
606 #define StrRChr StrRChrA
607 #define StrRChrI StrRChrIA
609 #define StrRetToBuf StrRetToBufA
610 #define StrRetToStr StrRetToStrA
612 #define StrRStrI StrRStrIA
613 #define StrSpn StrSpnA
614 #define StrStrI StrStrIA
615 #define StrStr StrStrA
616 #define StrToInt StrToIntA
617 #define StrToIntEx StrToIntExA
618 #define StrTrim StrTrimA
619 #define PathAddBackslash PathAddBackslashA
620 #define PathAddExtension PathAddExtensionA
621 #define PathAppend PathAppendA
622 #define PathBuildRoot PathBuildRootA
623 #define PathCanonicalize PathCanonicalizeA
624 #define PathCombine PathCombineA
625 #define PathCommonPrefix PathCommonPrefixA
626 #define PathCompactPath PathCompactPathA
627 #define PathCompactPathEx PathCompactPathExA
628 #define PathCreateFromUrl PathCreateFromUrlA
629 #define PathFileExists PathFileExistsA
630 #define PathFindExtension PathFindExtensionA
631 #define PathFindFileName PathFindFileNameA
632 #define PathFindNextComponent PathFindNextComponentA
633 #define PathFindOnPath PathFindOnPathA
634 #define PathFindSuffixArray PathFindSuffixArrayA
635 #define PathGetArgs PathGetArgsA
636 #define PathGetCharType PathGetCharTypeA
637 #define PathGetDriveNumber PathGetDriveNumberA
638 #define PathIsContentType PathIsContentTypeA
639 #define PathIsDirectoryEmpty PathIsDirectoryEmptyA
640 #define PathIsDirectory PathIsDirectoryA
641 #define PathIsFileSpec PathIsFileSpecA
642 #define PathIsLFNFileSpec PathIsLFNFileSpecA
643 #define PathIsNetworkPath PathIsNetworkPathA
644 #define PathIsPrefix PathIsPrefixA
645 #define PathIsRelative PathIsRelativeA
646 #define PathIsRoot PathIsRootA
647 #define PathIsSameRoot PathIsSameRootA
648 #define PathIsSystemFolder PathIsSystemFolderA
649 #define PathIsUNCServerShare PathIsUNCServerShareA
650 #define PathIsUNCServer PathIsUNCServerA
651 #define PathIsUNC PathIsUNCA
652 #define PathIsURL PathIsURLA
653 #define PathMakePretty PathMakePrettyA
654 #define PathMakeSystemFolder PathMakeSystemFolderA
655 #define PathMatchSpec PathMatchSpecA
656 #define PathParseIconLocation PathParseIconLocationA
657 #define PathQuoteSpaces PathQuoteSpacesA
658 #define PathRelativePathTo PathRelativePathToA
659 #define PathRemoveArgs PathRemoveArgsA
660 #define PathRemoveBackslash PathRemoveBackslashA
661 #define PathRemoveBlanks PathRemoveBlanksA
662 #define PathRemoveExtension PathRemoveExtensionA
663 #define PathRemoveFileSpec PathRemoveFileSpecA
664 #define PathRenameExtension PathRenameExtensionA
665 #define PathSearchAndQualify PathSearchAndQualifyA
666 #define PathSetDlgItemPath PathSetDlgItemPathA
667 #define PathSkipRoot PathSkipRootA
668 #define PathStripPath PathStripPathA
669 #define PathStripToRoot PathStripToRootA
670 #define PathUndecorate PathUndecorateA
671 #define PathUnExpandEnvStrings PathUnExpandEnvStringsA
672 #define PathUnmakeSystemFolder PathUnmakeSystemFolderA
673 #define PathUnquoteSpaces PathUnquoteSpacesA
675 #define SHCreateStreamOnFile SHCreateStreamOnFileA
676 #define SHOpenRegStream SHOpenRegStreamA
677 #define SHOpenRegStream2 SHOpenRegStream2A
679 #define SHCopyKey SHCopyKeyA
680 #define SHDeleteEmptyKey SHDeleteEmptyKeyA
681 #define SHDeleteKey SHDeleteKeyA
682 #define SHEnumKeyEx SHEnumKeyExA
683 #define SHQueryInfoKey SHRegQueryInfoKeyA
684 #define SHQueryValueEx SHQueryValueExA
685 #define SHEnumValue SHEnumValueA
686 #define SHGetValue SHGetValueA
687 #define SHSetValue SHSetValueA
688 #define SHDeleteValue SHDeleteValueA
689 #define AssocQueryKey AssocQueryKeyA
690 #define AssocQueryStringByKey AssocQueryStringByKeyA
691 #define AssocQueryString AssocQueryStringA
692 #define UrlApplyScheme UrlApplySchemeA
693 #define UrlCanonicalize UrlCanonicalizeA
694 #define UrlCombine UrlCombineA
695 #define UrlCompare UrlCompareA
696 #define UrlCreateFromPath UrlCreateFromPathA
697 #define UrlEscape UrlEscapeA
698 #define UrlGetLocation UrlGetLocationA
699 #define UrlGetPart UrlGetPartA
700 #define UrlHash UrlHashA
702 #define UrlIsFileUrl UrlIsFileUrl
703 #define UrlIsNoHistory UrlIsNoHistoryA
704 #define UrlIsOpaque UrlIsOpaqueA
705 #define UrlUnescape UrlUnescapeA
706 #define UrlUnescapeInPlace UrlUnescapeInPlaceA
707 #define SHRegCreateUSKey SHRegCreateUSKeyA
708 #define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyA
709 #define SHRegDeleteUSValue SHRegDeleteUSValueA
710 #define SHRegEnumUSKey SHRegEnumUSKeyA
711 #define SHRegEnumUSValue SHRegEnumUSValueA
712 #define SHRegGetBoolUSValue SHRegGetBoolUSValueA
713 #define SHRegGetPath SHRegGetPathA
714 #define SHRegGetUSValue SHRegGetUSValueA
715 #define SHRegOpenUSKey SHRegOpenUSKeyA
716 #define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyA
717 #define SHRegQueryUSValue SHRegQueryUSValueA
718 #define SHRegSetPath SHRegSetPathA
719 #define SHRegSetUSValue SHRegSetUSValueA
720 #define SHRegWriteUSValue SHRegWriteUSValueA
721 #define wnsprintf wnsprintfA
722 #define wvnsprintf wvnsprintfA
725 #define StrToLong StrToInt
727 #endif /* !RC_INVOKED */
733 /* Second part: entries copied from Wine */
735 #define SHREGSET_HKCU 0x1 /* Apply to HKCU if empty */
736 #define SHREGSET_FORCE_HKCU 0x2 /* Always apply to HKCU */
737 #define SHREGSET_HKLM 0x4 /* Apply to HKLM if empty */
738 #define SHREGSET_FORCE_HKLM 0x8 /* Always apply to HKLM */
739 #define SHREGSET_DEFAULT (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)
741 /* These are used by UrlGetPart routine */
752 /* This is used by the UrlApplyScheme... routines */
753 #define URL_APPLY_FORCEAPPLY 0x00000008
754 #define URL_APPLY_GUESSFILE 0x00000004
755 #define URL_APPLY_GUESSSCHEME 0x00000002
756 #define URL_APPLY_DEFAULT 0x00000001
758 #define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO
760 /* StrToIntEx flags */
761 #define STIF_DEFAULT 0x0L
762 #define STIF_SUPPORT_HEX 0x1L
764 /* SHCreateThread flags */
765 #define CTF_INSIST 0x01 /* Allways call */
766 #define CTF_THREAD_REF 0x02 /* Hold thread ref */
767 #define CTF_PROCESS_REF 0x04 /* Hold process ref */
768 #define CTF_COINIT 0x08 /* Startup COM first */
769 #define CTF_FREELIBANDEXIT 0x10 /* Hold DLL ref */
770 #define CTF_REF_COUNTED 0x20 /* Thread is ref counted */
771 #define CTF_WAIT_ALLOWCOM 0x40 /* Allow marshalling */
773 /* GetPathCharType return flags */
774 #define GCT_INVALID 0x0
775 #define GCT_LFNCHAR 0x1
776 #define GCT_SHORTCHAR 0x2
778 #define GCT_SEPARATOR 0x8
782 ASSOCF_INIT_NOREMAPCLSID
= 0x001, /* Don't map clsid->progid */
783 ASSOCF_INIT_BYEXENAME
= 0x002, /* .exe name given */
784 ASSOCF_OPEN_BYEXENAME
= 0x002, /* Synonym */
785 ASSOCF_INIT_DEFAULTTOSTAR
= 0x004, /* Use * as base */
786 ASSOCF_INIT_DEFAULTTOFOLDER
= 0x008, /* Use folder as base */
787 ASSOCF_NOUSERSETTINGS
= 0x010, /* No HKCU reads */
788 ASSOCF_NOTRUNCATE
= 0x020, /* Don't truncate return */
789 ASSOCF_VERIFY
= 0x040, /* Verify data */
790 ASSOCF_REMAPRUNDLL
= 0x080, /* Get rundll args */
791 ASSOCF_NOFIXUPS
= 0x100, /* Don't fixup errors */
792 ASSOCF_IGNOREBASECLASS
= 0x200, /* Dont read baseclass */
800 typedef struct IQueryAssociations IQueryAssociations
,*LPQUERYASSOCIATIONS
;
802 #define INTERFACE IQueryAssociations
803 #define IQueryAssociations_METHODS \
805 STDMETHOD(Init)(THIS_ ASSOCF flags, LPCWSTR pszAssoc, HKEY hkProgid, HWND hwnd) PURE; \
806 STDMETHOD(GetString)(THIS_ ASSOCF flags, ASSOCSTR str, LPCWSTR pszExtra, LPWSTR pszOut, DWORD * pcchOut) PURE; \
807 STDMETHOD(GetKey)(THIS_ ASSOCF flags, ASSOCKEY key, LPCWSTR pszExtra, HKEY * phkeyOut) PURE; \
808 STDMETHOD(GetData)(THIS_ ASSOCF flags, ASSOCDATA data, LPCWSTR pszExtra, LPVOID pvOut, DWORD * pcbOut) PURE; \
809 STDMETHOD(GetEnum)(THIS_ ASSOCF flags, ASSOCENUM assocenum, LPCWSTR pszExtra, REFIID riid, LPVOID * ppvOut) PURE;
810 ICOM_DEFINE(IQueryAssociations
,IUnknown
)
814 #define IQueryAssociations_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
815 #define IQueryAssociations_AddRef(p) (p)->lpVtbl->AddRef(p)
816 #define IQueryAssociations_Release(p) (p)->lpVtbl->Release(p)
817 #define IQueryAssociations_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
818 #define IQueryAssociations_GetString(p,a,b,c,d,e) (p)->lpVtbl->GetString(p,a,b,c,d,e)
819 #define IQueryAssociations_GetKey(p,a,b,c,d) (p)->lpVtbl->GetKey(p,a,b,c,d)
820 #define IQueryAssociations_GetData(p,a,b,c,d,e) (p)->lpVtbl->GetData(p,a,b,c,d,e)
821 #define IQueryAssociations_GetEnum(p,a,b,c,d,e) (p)->lpVtbl->GetEnum(p,a,b,c,d,e)
824 #endif /* __WINE_SHLWAPI_H */