Send the exe file handle in init_process_done request.
[wine] / include / shlwapi.h
1 #ifndef __WINE_SHLWAPI_H
2 #define __WINE_SHLWAPI_H
3
4 #include "objbase.h"
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif /* defined(__cplusplus) */
9
10
11 /*
12  * The URL_ defines were determined by trial and error.  If they become
13  * documented please check them and add the missing ones including:
14  *
15  * URL_ESCAPE_PERCENT
16  * URL_PLUGGABLE_PROTOCOL
17  * URL_DONT_ESCAPE_EXTRA_INFO
18  * URL_ESCAPE_SEGMENT_ONLY
19  */
20
21 #define URL_UNESCAPE_INPLACE         0x00100000
22 #define URL_DONT_UNESCAPE_EXTRA_INFO 0x02000000
23  
24 #define URL_ESCAPE_SPACES_ONLY       0x04000000
25
26 #define URL_UNESCAPE                 0x10000000
27 #define URL_ESCAPE_UNSAFE            0x20000000
28 #define URL_DONT_SIMPLIFY            0x40000000
29
30
31 BOOL WINAPI PathAppendA(LPSTR lpszPath1,LPCSTR lpszPath2);
32 BOOL WINAPI PathAppendW(LPWSTR lpszPath1,LPCWSTR lpszPath2);
33
34 LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive);
35 LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive);
36
37 LPSTR WINAPI PathGetArgsA(LPCSTR lpszPath);
38 LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath);
39
40 BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath);
41 BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath);
42
43 void WINAPI PathStripPathA(LPSTR lpszPath);
44 void WINAPI PathStripPathW(LPWSTR lpszPath);
45
46 void WINAPI PathRemoveArgsA(LPSTR lpszPath);
47 void WINAPI PathRemoveArgsW(LPWSTR lpszPath);
48
49 void WINAPI PathRemoveExtensionA(LPSTR lpszPath);
50 void WINAPI PathRemoveExtensionW(LPWSTR lpszPath);
51
52 void WINAPI PathUnquoteSpacesA(LPSTR str);
53 void WINAPI PathUnquoteSpacesW(LPWSTR str);
54
55 int WINAPI PathParseIconLocationA(LPSTR lpszPath);
56 int WINAPI PathParseIconLocationW(LPWSTR lpszPath);
57
58 BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath);
59 BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath);
60
61 BOOL WINAPI PathFileExistsA(LPCSTR lpszPath);
62 BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath);
63
64 BOOL WINAPI PathIsSameRootA(LPCSTR lpszPath1, LPCSTR lpszPath2);
65 BOOL WINAPI PathIsSameRootW(LPCWSTR lpszPath1, LPCWSTR lpszPath2);
66
67 BOOL WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR pszPath);
68 BOOL WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR pszPath);
69
70 LPSTR WINAPI PathFindFileNameA(LPCSTR pPath);
71 LPWSTR WINAPI PathFindFileNameW(LPCWSTR pPath);
72 #define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
73 LPVOID WINAPI PathFindFileNameAW(LPCVOID path); 
74
75 int WINAPI PathGetDriveNumberA(LPCSTR lpszPath);
76 int WINAPI PathGetDriveNumberW(LPCWSTR lpszPath);
77 #define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
78
79 BOOL WINAPI PathCanonicalizeA(LPSTR lpszDst, LPCSTR lpszSrc);
80 BOOL WINAPI PathCanonicalizeW(LPWSTR lpszDst, LPCWSTR lpszSrc);
81 #define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
82
83 LPSTR WINAPI PathFindNextComponentA(LPCSTR pszPath);
84 LPWSTR WINAPI PathFindNextComponentW(LPCWSTR pszPath);
85 #define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
86
87 BOOL WINAPI PathIsURLA(LPCSTR pszPath);
88 BOOL WINAPI PathIsURLW(LPCWSTR pszPath);
89 #define PathIsURL WINELIB_NAME_AW(PathIsURL)
90
91 BOOL WINAPI PathAddExtensionA(LPSTR pszPath, LPCSTR pszExt);
92 BOOL WINAPI PathAddExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
93 #define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
94
95 BOOL WINAPI PathStripToRootA(LPSTR pszPath);
96 BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
97 #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
98
99 INT WINAPI StrCSpnA(LPCSTR lpStr, LPCSTR lpSet);
100 INT WINAPI StrCSpnW(LPCWSTR lpStr, LPCWSTR lpSet);
101 #define StrCSpn WINELIB_NAME_AW(StrCSpn)
102
103 INT WINAPI StrCSpnIA(LPCSTR lpStr, LPCSTR lpSet);
104 INT WINAPI StrCSpnIW(LPCWSTR lpStr, LPCWSTR lpSet);
105 #define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
106
107 #define StrCatA lstrcatA
108 LPWSTR WINAPI StrCatW(LPWSTR front, LPCWSTR back);
109 #define StrCat WINELIB_NAME_AW(StrCat)
110
111 LPSTR WINAPI StrCatBuffA(LPSTR front, LPCSTR back, INT size);
112 LPWSTR WINAPI StrCatBuffW(LPWSTR front, LPCWSTR back, INT size);
113 #define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
114
115 LPSTR WINAPI StrChrA(LPCSTR lpStart, WORD wMatch);
116 LPWSTR WINAPI StrChrW(LPCWSTR lpStart, WCHAR wMatch); 
117 #define StrChr WINELIB_NAME_AW(StrChr)
118
119 LPSTR WINAPI StrChrIA(LPCSTR lpStart, WORD wMatch);
120 LPWSTR WINAPI StrChrIW(LPCWSTR lpStart, WCHAR wMatch); 
121 #define StrChrI WINELIB_NAME_AW(StrChrI)
122
123 INT WINAPI StrCmpNA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
124 INT WINAPI StrCmpNW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
125 #define StrCmpN WINELIB_NAME_AW(StrCmpN)
126
127 INT WINAPI StrCmpNIA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
128 INT WINAPI StrCmpNIW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
129 #define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
130
131 LPSTR WINAPI StrDupA(LPCSTR lpSrc);
132 LPWSTR WINAPI StrDupW(LPCWSTR lpSrc);
133 #define StrDup WINELIB_NAME_AW(StrDup)
134
135 struct _STRRET;
136 struct _ITEMIDLIST;
137 HRESULT WINAPI StrRetToBufA(struct _STRRET *src, const struct _ITEMIDLIST *pidl, LPSTR dest, DWORD len);
138 HRESULT WINAPI StrRetToBufW(struct _STRRET *src, const struct _ITEMIDLIST *pidl, LPWSTR dest, DWORD len);
139 #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
140
141 void WINAPI PathRemoveBlanksA(LPSTR lpszPath);
142 void WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
143 #define  PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
144 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
145
146 HRESULT WINAPI SHDeleteKeyA(HKEY hKey, LPCSTR lpszSubKey);
147 HRESULT WINAPI SHDeleteKeyW(HKEY hkey, LPCWSTR pszSubKey);
148 #define  SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
149
150 DWORD WINAPI SHDeleteEmptyKeyA(HKEY hKey, LPCSTR lpszSubKey);
151 DWORD WINAPI SHDeleteEmptyKeyW(HKEY hKey, LPCWSTR lpszSubKey);
152 #define  SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
153
154 HRESULT WINAPI UrlCanonicalizeA(LPCSTR pszUrl, LPSTR pszCanonicalized, 
155                                 LPDWORD pcchCanonicalized, DWORD dwFlags);
156 HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized, 
157                                 LPDWORD pcchCanonicalized, DWORD dwFlags);
158 #define UrlCanonicalize WINELIB_NAME_AW(UrlCanoncalize)
159
160 HRESULT WINAPI UrlEscapeA(LPCSTR pszUrl, LPSTR pszEscaped, LPDWORD pcchEscaped,
161                           DWORD dwFlags);
162 HRESULT WINAPI UrlEscapeW(LPCWSTR pszUrl, LPWSTR pszEscaped,
163                           LPDWORD pcchEscaped, DWORD dwFlags);
164 #define UrlEscape WINELIB_NAME_AW(UrlEscape)
165
166 HRESULT WINAPI UrlUnescapeA(LPCSTR pszUrl, LPSTR pszUnescaped,
167                             LPDWORD pcchUnescaped, DWORD dwFlags);
168 HRESULT WINAPI UrlUnescapeW(LPCWSTR pszUrl, LPWSTR pszUnescaped,
169                             LPDWORD pcchUnescaped, DWORD dwFlags);
170 #define UrlUnescape WINELIB_AW_NAME(UrlUnescape)
171
172 typedef struct _DllVersionInfo {
173     DWORD cbSize;
174     DWORD dwMajorVersion;
175     DWORD dwMinorVersion;
176     DWORD dwBuildNumber;
177     DWORD dwPlatformID;
178 } DLLVERSIONINFO;
179
180 #define DLLVER_PLATFORM_WINDOWS         0x00000001      // Windows 9x
181 #define DLLVER_PLATFORM_NT              0x00000002      // Windows NT
182
183 typedef HRESULT (CALLBACK* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
184
185 #ifdef __cplusplus
186 } /* extern "C" */
187 #endif /* defined(__cplusplus) */
188
189 #endif /* __WINE_SHLWAPI_H */