Changed FILEDLG95_OnOpen to "double terminate" the returned string if
[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 BOOL WINAPI PathAppendA(LPSTR lpszPath1,LPCSTR lpszPath2);
11 BOOL WINAPI PathAppendW(LPWSTR lpszPath1,LPCWSTR lpszPath2);
12
13 LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive);
14 LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive);
15
16 LPSTR WINAPI PathGetArgsA(LPCSTR lpszPath);
17 LPWSTR WINAPI PathGetArgsW(LPCWSTR lpszPath);
18
19 BOOL WINAPI PathRemoveFileSpecA(LPSTR lpszPath);
20 BOOL WINAPI PathRemoveFileSpecW(LPWSTR lpszPath);
21
22 void WINAPI PathStripPathA(LPSTR lpszPath);
23 void WINAPI PathStripPathW(LPWSTR lpszPath);
24
25 void WINAPI PathRemoveArgsA(LPSTR lpszPath);
26 void WINAPI PathRemoveArgsW(LPWSTR lpszPath);
27
28 void WINAPI PathRemoveExtensionA(LPSTR lpszPath);
29 void WINAPI PathRemoveExtensionW(LPWSTR lpszPath);
30
31 void WINAPI PathUnquoteSpacesA(LPSTR str);
32 void WINAPI PathUnquoteSpacesW(LPWSTR str);
33
34 int WINAPI PathParseIconLocationA(LPSTR lpszPath);
35 int WINAPI PathParseIconLocationW(LPWSTR lpszPath);
36
37 BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath);
38 BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath);
39
40 BOOL WINAPI PathFileExistsA(LPCSTR lpszPath);
41 BOOL WINAPI PathFileExistsW(LPCWSTR lpszPath);
42
43 BOOL WINAPI PathIsSameRootA(LPCSTR lpszPath1, LPCSTR lpszPath2);
44 BOOL WINAPI PathIsSameRootW(LPCWSTR lpszPath1, LPCWSTR lpszPath2);
45
46 BOOL WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR pszPath);
47 BOOL WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR pszPath);
48
49 LPSTR WINAPI PathFindFileNameA(LPCSTR pPath);
50 LPWSTR WINAPI PathFindFileNameW(LPCWSTR pPath);
51 #define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
52 LPVOID WINAPI PathFindFileNameAW(LPCVOID path); 
53
54 int WINAPI PathGetDriveNumberA(LPCSTR lpszPath);
55 int WINAPI PathGetDriveNumberW(LPCWSTR lpszPath);
56 #define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
57
58 BOOL WINAPI PathCanonicalizeA(LPSTR lpszDst, LPCSTR lpszSrc);
59 BOOL WINAPI PathCanonicalizeW(LPWSTR lpszDst, LPCWSTR lpszSrc);
60 #define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
61
62 LPSTR WINAPI PathFindNextComponentA(LPCSTR pszPath);
63 LPWSTR WINAPI PathFindNextComponentW(LPCWSTR pszPath);
64 #define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
65
66 BOOL WINAPI PathIsURLA(LPCSTR pszPath);
67 BOOL WINAPI PathIsURLW(LPCWSTR pszPath);
68 #define PathIsURL WINELIB_NAME_AW(PathIsURL)
69
70 BOOL WINAPI PathAddExtensionA(LPSTR pszPath, LPCSTR pszExt);
71 BOOL WINAPI PathAddExtensionW(LPWSTR pszPath, LPCWSTR pszExt);
72 #define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
73
74 BOOL WINAPI PathStripToRootA(LPSTR pszPath);
75 BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
76 #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
77
78 INT WINAPI StrCSpnA(LPCSTR lpStr, LPCSTR lpSet);
79 INT WINAPI StrCSpnW(LPCWSTR lpStr, LPCWSTR lpSet);
80 #define StrCSpn WINELIB_NAME_AW(StrCSpn)
81
82 INT WINAPI StrCSpnIA(LPCSTR lpStr, LPCSTR lpSet);
83 INT WINAPI StrCSpnIW(LPCWSTR lpStr, LPCWSTR lpSet);
84 #define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
85
86 #define StrCatA lstrcatA
87 LPWSTR WINAPI StrCatW(LPWSTR front, LPCWSTR back);
88 #define StrCat WINELIB_NAME_AW(StrCat)
89
90 LPSTR WINAPI StrCatBuffA(LPSTR front, LPCSTR back, INT size);
91 LPWSTR WINAPI StrCatBuffW(LPWSTR front, LPCWSTR back, INT size);
92 #define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
93
94 LPSTR WINAPI StrChrA(LPCSTR lpStart, WORD wMatch);
95 LPWSTR WINAPI StrChrW(LPCWSTR lpStart, WCHAR wMatch); 
96 #define StrChr WINELIB_NAME_AW(StrChr)
97
98 LPSTR WINAPI StrChrIA(LPCSTR lpStart, WORD wMatch);
99 LPWSTR WINAPI StrChrIW(LPCWSTR lpStart, WCHAR wMatch); 
100 #define StrChrI WINELIB_NAME_AW(StrChrI)
101
102 INT WINAPI StrCmpNA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
103 INT WINAPI StrCmpNW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
104 #define StrCmpN WINELIB_NAME_AW(StrCmpN)
105
106 INT WINAPI StrCmpNIA(LPCSTR lpStr1, LPCSTR lpStr2, INT nChar);
107 INT WINAPI StrCmpNIW(LPCWSTR lpStr1, LPCWSTR lpStr2, INT nChar);
108 #define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
109
110 LPSTR WINAPI StrDupA(LPCSTR lpSrc);
111 LPWSTR WINAPI StrDupW(LPCWSTR lpSrc);
112 #define StrDup WINELIB_NAME_AW(StrDup)
113
114 struct _STRRET;
115 struct _ITEMIDLIST;
116 HRESULT WINAPI StrRetToBufA(struct _STRRET *src, const struct _ITEMIDLIST *pidl, LPSTR dest, DWORD len);
117 HRESULT WINAPI StrRetToBufW(struct _STRRET *src, const struct _ITEMIDLIST *pidl, LPWSTR dest, DWORD len);
118 #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
119
120 void WINAPI PathRemoveBlanksA(LPSTR lpszPath);
121 void WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
122 #define  PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
123 void WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
124
125 HRESULT WINAPI SHDeleteKeyA(HKEY hKey, LPCSTR lpszSubKey);
126 HRESULT WINAPI SHDeleteKeyW(HKEY hkey, LPCWSTR pszSubKey);
127 #define  SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
128
129 DWORD WINAPI SHDeleteEmptyKeyA(HKEY hKey, LPCSTR lpszSubKey);
130 DWORD WINAPI SHDeleteEmptyKeyW(HKEY hKey, LPCWSTR lpszSubKey);
131 #define  SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
132
133 typedef struct _DllVersionInfo {
134     DWORD cbSize;
135     DWORD dwMajorVersion;
136     DWORD dwMinorVersion;
137     DWORD dwBuildNumber;
138     DWORD dwPlatformID;
139 } DLLVERSIONINFO;
140
141 #define DLLVER_PLATFORM_WINDOWS         0x00000001      // Windows 9x
142 #define DLLVER_PLATFORM_NT              0x00000002      // Windows NT
143
144 typedef HRESULT (CALLBACK* DLLGETVERSIONPROC)(DLLVERSIONINFO *);
145
146 #ifdef __cplusplus
147 } /* extern "C" */
148 #endif /* defined(__cplusplus) */
149
150 #endif /* __WINE_SHLWAPI_H */