Mercurial > games > semicongine
comparison fuhtark_test/include/winapi/shlwapi.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1499:1f58458b7ef7 | 1500:91c8c3b7cbf0 |
|---|---|
| 1 /** | |
| 2 * This file has no copyright assigned and is placed in the Public Domain. | |
| 3 * This file is part of the w64 mingw-runtime package. | |
| 4 * No warranty is given; refer to the file DISCLAIMER within this package. | |
| 5 */ | |
| 6 #ifndef _INC_SHLWAPI | |
| 7 #define _INC_SHLWAPI | |
| 8 | |
| 9 #ifndef NOSHLWAPI | |
| 10 | |
| 11 #include <objbase.h> | |
| 12 #include <shtypes.h> | |
| 13 | |
| 14 #ifndef _WINRESRC_ | |
| 15 #ifndef _WIN32_IE | |
| 16 #define _WIN32_IE 0x0601 | |
| 17 #endif | |
| 18 #endif | |
| 19 | |
| 20 #ifndef WINSHLWAPI | |
| 21 #if !defined(_SHLWAPI_) | |
| 22 #define LWSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI | |
| 23 #define LWSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI | |
| 24 #define LWSTDAPIV EXTERN_C DECLSPEC_IMPORT HRESULT STDAPIVCALLTYPE | |
| 25 #define LWSTDAPIV_(type) EXTERN_C DECLSPEC_IMPORT type STDAPIVCALLTYPE | |
| 26 #else | |
| 27 #define LWSTDAPI STDAPI | |
| 28 #define LWSTDAPI_(type) STDAPI_(type) | |
| 29 #define LWSTDAPIV STDAPIV | |
| 30 #define LWSTDAPIV_(type) STDAPIV_(type) | |
| 31 #endif | |
| 32 #endif | |
| 33 | |
| 34 #include <pshpack8.h> | |
| 35 | |
| 36 #ifdef __cplusplus | |
| 37 extern "C" { | |
| 38 #endif | |
| 39 | |
| 40 #ifndef NO_SHLWAPI_STRFCNS | |
| 41 LWSTDAPI_(LPSTR) StrChrA(LPCSTR lpStart,WORD wMatch); | |
| 42 LWSTDAPI_(LPWSTR) StrChrW(LPCWSTR lpStart,WCHAR wMatch); | |
| 43 LWSTDAPI_(LPSTR) StrChrIA(LPCSTR lpStart,WORD wMatch); | |
| 44 LWSTDAPI_(LPWSTR) StrChrIW(LPCWSTR lpStart,WCHAR wMatch); | |
| 45 LWSTDAPI_(int) StrCmpNA(LPCSTR lpStr1,LPCSTR lpStr2,int nChar); | |
| 46 LWSTDAPI_(int) StrCmpNW(LPCWSTR lpStr1,LPCWSTR lpStr2,int nChar); | |
| 47 LWSTDAPI_(int) StrCmpNIA(LPCSTR lpStr1,LPCSTR lpStr2,int nChar); | |
| 48 LWSTDAPI_(int) StrCmpNIW(LPCWSTR lpStr1,LPCWSTR lpStr2,int nChar); | |
| 49 LWSTDAPI_(int) StrCSpnA(LPCSTR lpStr,LPCSTR lpSet); | |
| 50 LWSTDAPI_(int) StrCSpnW(LPCWSTR lpStr,LPCWSTR lpSet); | |
| 51 LWSTDAPI_(int) StrCSpnIA(LPCSTR lpStr,LPCSTR lpSet); | |
| 52 LWSTDAPI_(int) StrCSpnIW(LPCWSTR lpStr,LPCWSTR lpSet); | |
| 53 LWSTDAPI_(LPSTR) StrDupA(LPCSTR lpSrch); | |
| 54 LWSTDAPI_(LPWSTR) StrDupW(LPCWSTR lpSrch); | |
| 55 LWSTDAPI_(LPSTR) StrFormatByteSizeA(DWORD dw,LPSTR szBuf,UINT uiBufSize); | |
| 56 LWSTDAPI_(LPSTR) StrFormatByteSize64A(LONGLONG qdw,LPSTR szBuf,UINT uiBufSize); | |
| 57 LWSTDAPI_(LPWSTR) StrFormatByteSizeW(LONGLONG qdw,LPWSTR szBuf,UINT uiBufSize); | |
| 58 LWSTDAPI_(LPWSTR) StrFormatKBSizeW(LONGLONG qdw,LPWSTR szBuf,UINT uiBufSize); | |
| 59 LWSTDAPI_(LPSTR) StrFormatKBSizeA(LONGLONG qdw,LPSTR szBuf,UINT uiBufSize); | |
| 60 LWSTDAPI_(int) StrFromTimeIntervalA(LPSTR pszOut,UINT cchMax,DWORD dwTimeMS,int digits); | |
| 61 LWSTDAPI_(int) StrFromTimeIntervalW(LPWSTR pszOut,UINT cchMax,DWORD dwTimeMS,int digits); | |
| 62 LWSTDAPI_(WINBOOL) StrIsIntlEqualA(WINBOOL fCaseSens,LPCSTR lpString1,LPCSTR lpString2,int nChar); | |
| 63 LWSTDAPI_(WINBOOL) StrIsIntlEqualW(WINBOOL fCaseSens,LPCWSTR lpString1,LPCWSTR lpString2,int nChar); | |
| 64 LWSTDAPI_(LPSTR) StrNCatA(LPSTR psz1,LPCSTR psz2,int cchMax); | |
| 65 LWSTDAPI_(LPWSTR) StrNCatW(LPWSTR psz1,LPCWSTR psz2,int cchMax); | |
| 66 LWSTDAPI_(LPSTR) StrPBrkA(LPCSTR psz,LPCSTR pszSet); | |
| 67 LWSTDAPI_(LPWSTR) StrPBrkW(LPCWSTR psz,LPCWSTR pszSet); | |
| 68 LWSTDAPI_(LPSTR) StrRChrA(LPCSTR lpStart,LPCSTR lpEnd,WORD wMatch); | |
| 69 LWSTDAPI_(LPWSTR) StrRChrW(LPCWSTR lpStart,LPCWSTR lpEnd,WCHAR wMatch); | |
| 70 LWSTDAPI_(LPSTR) StrRChrIA(LPCSTR lpStart,LPCSTR lpEnd,WORD wMatch); | |
| 71 LWSTDAPI_(LPWSTR) StrRChrIW(LPCWSTR lpStart,LPCWSTR lpEnd,WCHAR wMatch); | |
| 72 LWSTDAPI_(LPSTR) StrRStrIA(LPCSTR lpSource,LPCSTR lpLast,LPCSTR lpSrch); | |
| 73 LWSTDAPI_(LPWSTR) StrRStrIW(LPCWSTR lpSource,LPCWSTR lpLast,LPCWSTR lpSrch); | |
| 74 LWSTDAPI_(int) StrSpnA(LPCSTR psz,LPCSTR pszSet); | |
| 75 LWSTDAPI_(int) StrSpnW(LPCWSTR psz,LPCWSTR pszSet); | |
| 76 LWSTDAPI_(LPSTR) StrStrA(LPCSTR lpFirst,LPCSTR lpSrch); | |
| 77 LWSTDAPI_(LPWSTR) StrStrW(LPCWSTR lpFirst,LPCWSTR lpSrch); | |
| 78 LWSTDAPI_(LPSTR) StrStrIA(LPCSTR lpFirst,LPCSTR lpSrch); | |
| 79 LWSTDAPI_(LPWSTR) StrStrIW(LPCWSTR lpFirst,LPCWSTR lpSrch); | |
| 80 LWSTDAPI_(int) StrToIntA(LPCSTR lpSrc); | |
| 81 LWSTDAPI_(int) StrToIntW(LPCWSTR lpSrc); | |
| 82 LWSTDAPI_(WINBOOL) StrToIntExA(LPCSTR pszString,DWORD dwFlags,int *piRet); | |
| 83 LWSTDAPI_(WINBOOL) StrToIntExW(LPCWSTR pszString,DWORD dwFlags,int *piRet); | |
| 84 #if (_WIN32_IE >= 0x0600) | |
| 85 LWSTDAPI_(WINBOOL) StrToInt64ExA(LPCSTR pszString,DWORD dwFlags,LONGLONG *pllRet); | |
| 86 LWSTDAPI_(WINBOOL) StrToInt64ExW(LPCWSTR pszString,DWORD dwFlags,LONGLONG *pllRet); | |
| 87 #endif | |
| 88 LWSTDAPI_(WINBOOL) StrTrimA(LPSTR psz,LPCSTR pszTrimChars); | |
| 89 LWSTDAPI_(WINBOOL) StrTrimW(LPWSTR psz,LPCWSTR pszTrimChars); | |
| 90 LWSTDAPI_(LPWSTR) StrCatW(LPWSTR psz1,LPCWSTR psz2); | |
| 91 LWSTDAPI_(int) StrCmpW(LPCWSTR psz1,LPCWSTR psz2); | |
| 92 LWSTDAPI_(int) StrCmpIW(LPCWSTR psz1,LPCWSTR psz2); | |
| 93 LWSTDAPI_(LPWSTR) StrCpyW(LPWSTR psz1,LPCWSTR psz2); | |
| 94 LWSTDAPI_(LPWSTR) StrCpyNW(LPWSTR psz1,LPCWSTR psz2,int cchMax); | |
| 95 LWSTDAPI_(LPWSTR) StrCatBuffW(LPWSTR pszDest,LPCWSTR pszSrc,int cchDestBuffSize); | |
| 96 LWSTDAPI_(LPSTR) StrCatBuffA(LPSTR pszDest,LPCSTR pszSrc,int cchDestBuffSize); | |
| 97 LWSTDAPI_(WINBOOL) ChrCmpIA(WORD w1,WORD w2); | |
| 98 LWSTDAPI_(WINBOOL) ChrCmpIW(WCHAR w1,WCHAR w2); | |
| 99 LWSTDAPI_(int) wvnsprintfA(LPSTR lpOut,int cchLimitIn,LPCSTR lpFmt,va_list arglist); | |
| 100 LWSTDAPI_(int) wvnsprintfW(LPWSTR lpOut,int cchLimitIn,LPCWSTR lpFmt,va_list arglist); | |
| 101 LWSTDAPIV_(int) wnsprintfA(LPSTR lpOut,int cchLimitIn,LPCSTR lpFmt,...); | |
| 102 LWSTDAPIV_(int) wnsprintfW(LPWSTR lpOut,int cchLimitIn,LPCWSTR lpFmt,...); | |
| 103 | |
| 104 #define StrIntlEqNA(s1,s2,nChar) StrIsIntlEqualA(TRUE,s1,s2,nChar) | |
| 105 #define StrIntlEqNW(s1,s2,nChar) StrIsIntlEqualW(TRUE,s1,s2,nChar) | |
| 106 #define StrIntlEqNIA(s1,s2,nChar) StrIsIntlEqualA(FALSE,s1,s2,nChar) | |
| 107 #define StrIntlEqNIW(s1,s2,nChar) StrIsIntlEqualW(FALSE,s1,s2,nChar) | |
| 108 | |
| 109 #ifdef UNICODE | |
| 110 #define StrRetToStr StrRetToStrW | |
| 111 #define StrRetToBuf StrRetToBufW | |
| 112 #define SHStrDup SHStrDupW | |
| 113 #else | |
| 114 #define StrRetToStr StrRetToStrA | |
| 115 #define StrRetToBuf StrRetToBufA | |
| 116 #define SHStrDup SHStrDupA | |
| 117 #endif | |
| 118 | |
| 119 LWSTDAPI StrRetToStrA(STRRET *pstr,LPCITEMIDLIST pidl,LPSTR *ppsz); | |
| 120 LWSTDAPI StrRetToStrW(STRRET *pstr,LPCITEMIDLIST pidl,LPWSTR *ppsz); | |
| 121 LWSTDAPI StrRetToBufA(STRRET *pstr,LPCITEMIDLIST pidl,LPSTR pszBuf,UINT cchBuf); | |
| 122 LWSTDAPI StrRetToBufW(STRRET *pstr,LPCITEMIDLIST pidl,LPWSTR pszBuf,UINT cchBuf); | |
| 123 LWSTDAPI StrRetToBSTR(STRRET *pstr,LPCITEMIDLIST pidl,BSTR *pbstr); | |
| 124 LWSTDAPI SHStrDupA(LPCSTR psz,WCHAR **ppwsz); | |
| 125 LWSTDAPI SHStrDupW(LPCWSTR psz,WCHAR **ppwsz); | |
| 126 LWSTDAPI_(int) StrCmpLogicalW(LPCWSTR psz1,LPCWSTR psz2); | |
| 127 LWSTDAPI_(DWORD) StrCatChainW(LPWSTR pszDst,DWORD cchDst,DWORD ichAt,LPCWSTR pszSrc); | |
| 128 LWSTDAPI SHLoadIndirectString(LPCWSTR pszSource,LPWSTR pszOutBuf,UINT cchOutBuf,void **ppvReserved); | |
| 129 #if (_WIN32_IE >= 0x0603) | |
| 130 LWSTDAPI_(WINBOOL) IsCharSpaceA(CHAR wch); | |
| 131 LWSTDAPI_(WINBOOL) IsCharSpaceW(WCHAR wch); | |
| 132 #ifdef UNICODE | |
| 133 #define IsCharSpace IsCharSpaceW | |
| 134 #else | |
| 135 #define IsCharSpace IsCharSpaceA | |
| 136 #endif | |
| 137 | |
| 138 LWSTDAPI_(int) StrCmpCA(LPCSTR pszStr1,LPCSTR pszStr2); | |
| 139 LWSTDAPI_(int) StrCmpCW(LPCWSTR pszStr1,LPCWSTR pszStr2); | |
| 140 #ifdef UNICODE | |
| 141 #define StrCmpC StrCmpCW | |
| 142 #else | |
| 143 #define StrCmpC StrCmpCA | |
| 144 #endif | |
| 145 | |
| 146 LWSTDAPI_(int) StrCmpICA(LPCSTR pszStr1,LPCSTR pszStr2); | |
| 147 LWSTDAPI_(int) StrCmpICW(LPCWSTR pszStr1,LPCWSTR pszStr2); | |
| 148 #ifdef UNICODE | |
| 149 #define StrCmpIC StrCmpICW | |
| 150 #else | |
| 151 #define StrCmpIC StrCmpICA | |
| 152 #endif | |
| 153 #endif | |
| 154 | |
| 155 #ifdef UNICODE | |
| 156 #define StrChr StrChrW | |
| 157 #define StrRChr StrRChrW | |
| 158 #define StrChrI StrChrIW | |
| 159 #define StrRChrI StrRChrIW | |
| 160 #define StrCmpN StrCmpNW | |
| 161 #define StrCmpNI StrCmpNIW | |
| 162 #define StrStr StrStrW | |
| 163 #define StrStrI StrStrIW | |
| 164 #define StrDup StrDupW | |
| 165 #define StrRStrI StrRStrIW | |
| 166 #define StrCSpn StrCSpnW | |
| 167 #define StrCSpnI StrCSpnIW | |
| 168 #define StrSpn StrSpnW | |
| 169 #define StrToInt StrToIntW | |
| 170 #define StrPBrk StrPBrkW | |
| 171 #define StrToIntEx StrToIntExW | |
| 172 #if (_WIN32_IE >= 0x0600) | |
| 173 #define StrToInt64Ex StrToInt64ExW | |
| 174 #endif | |
| 175 #define StrFromTimeInterval StrFromTimeIntervalW | |
| 176 #define StrIntlEqN StrIntlEqNW | |
| 177 #define StrIntlEqNI StrIntlEqNIW | |
| 178 #define StrFormatByteSize StrFormatByteSizeW | |
| 179 #define StrFormatByteSize64 StrFormatByteSizeW | |
| 180 #define StrFormatKBSize StrFormatKBSizeW | |
| 181 #define StrNCat StrNCatW | |
| 182 #define StrTrim StrTrimW | |
| 183 #define StrCatBuff StrCatBuffW | |
| 184 #define ChrCmpI ChrCmpIW | |
| 185 #define wvnsprintf wvnsprintfW | |
| 186 #define wnsprintf wnsprintfW | |
| 187 #define StrIsIntlEqual StrIsIntlEqualW | |
| 188 #else | |
| 189 #define StrChr StrChrA | |
| 190 #define StrRChr StrRChrA | |
| 191 #define StrChrI StrChrIA | |
| 192 #define StrRChrI StrRChrIA | |
| 193 #define StrCmpN StrCmpNA | |
| 194 #define StrCmpNI StrCmpNIA | |
| 195 #define StrStr StrStrA | |
| 196 #define StrStrI StrStrIA | |
| 197 #define StrDup StrDupA | |
| 198 #define StrRStrI StrRStrIA | |
| 199 #define StrCSpn StrCSpnA | |
| 200 #define StrCSpnI StrCSpnIA | |
| 201 #define StrSpn StrSpnA | |
| 202 #define StrToInt StrToIntA | |
| 203 #define StrPBrk StrPBrkA | |
| 204 #define StrToIntEx StrToIntExA | |
| 205 #if (_WIN32_IE >= 0x0600) | |
| 206 #define StrToInt64Ex StrToInt64ExA | |
| 207 #endif | |
| 208 #define StrFromTimeInterval StrFromTimeIntervalA | |
| 209 #define StrIntlEqN StrIntlEqNA | |
| 210 #define StrIntlEqNI StrIntlEqNIA | |
| 211 #define StrFormatByteSize StrFormatByteSizeA | |
| 212 #define StrFormatByteSize64 StrFormatByteSize64A | |
| 213 #define StrFormatKBSize StrFormatKBSizeA | |
| 214 #define StrNCat StrNCatA | |
| 215 #define StrTrim StrTrimA | |
| 216 #define StrCatBuff StrCatBuffA | |
| 217 #define ChrCmpI ChrCmpIA | |
| 218 #define wvnsprintf wvnsprintfA | |
| 219 #define wnsprintf wnsprintfA | |
| 220 #define StrIsIntlEqual StrIsIntlEqualA | |
| 221 #endif | |
| 222 | |
| 223 LWSTDAPI_(WINBOOL) IntlStrEqWorkerA(WINBOOL fCaseSens,LPCSTR lpString1,LPCSTR lpString2,int nChar); | |
| 224 LWSTDAPI_(WINBOOL) IntlStrEqWorkerW(WINBOOL fCaseSens,LPCWSTR lpString1,LPCWSTR lpString2,int nChar); | |
| 225 | |
| 226 #define IntlStrEqNA(s1,s2,nChar) IntlStrEqWorkerA(TRUE,s1,s2,nChar) | |
| 227 #define IntlStrEqNW(s1,s2,nChar) IntlStrEqWorkerW(TRUE,s1,s2,nChar) | |
| 228 #define IntlStrEqNIA(s1,s2,nChar) IntlStrEqWorkerA(FALSE,s1,s2,nChar) | |
| 229 #define IntlStrEqNIW(s1,s2,nChar) IntlStrEqWorkerW(FALSE,s1,s2,nChar) | |
| 230 | |
| 231 #ifdef UNICODE | |
| 232 #define IntlStrEqN IntlStrEqNW | |
| 233 #define IntlStrEqNI IntlStrEqNIW | |
| 234 #else | |
| 235 #define IntlStrEqN IntlStrEqNA | |
| 236 #define IntlStrEqNI IntlStrEqNIA | |
| 237 #endif | |
| 238 | |
| 239 #define SZ_CONTENTTYPE_HTMLA "text/html" | |
| 240 #define SZ_CONTENTTYPE_HTMLW L"text/html" | |
| 241 #define SZ_CONTENTTYPE_CDFA "application/x-cdf" | |
| 242 #define SZ_CONTENTTYPE_CDFW L"application/x-cdf" | |
| 243 | |
| 244 #ifdef UNICODE | |
| 245 #define SZ_CONTENTTYPE_HTML SZ_CONTENTTYPE_HTMLW | |
| 246 #define SZ_CONTENTTYPE_CDF SZ_CONTENTTYPE_CDFW | |
| 247 #else | |
| 248 #define SZ_CONTENTTYPE_HTML SZ_CONTENTTYPE_HTMLA | |
| 249 #define SZ_CONTENTTYPE_CDF SZ_CONTENTTYPE_CDFA | |
| 250 #endif | |
| 251 | |
| 252 #define PathIsHTMLFileA(pszPath) PathIsContentTypeA(pszPath,SZ_CONTENTTYPE_HTMLA) | |
| 253 #define PathIsHTMLFileW(pszPath) PathIsContentTypeW(pszPath,SZ_CONTENTTYPE_HTMLW) | |
| 254 | |
| 255 #define STIF_DEFAULT 0x00000000L | |
| 256 #define STIF_SUPPORT_HEX 0x00000001L | |
| 257 | |
| 258 #define StrCatA lstrcatA | |
| 259 #define StrCmpA lstrcmpA | |
| 260 #define StrCmpIA lstrcmpiA | |
| 261 #define StrCpyA lstrcpyA | |
| 262 #define StrCpyNA lstrcpynA | |
| 263 | |
| 264 #define StrToLong StrToInt | |
| 265 #define StrNCmp StrCmpN | |
| 266 #define StrNCmpI StrCmpNI | |
| 267 #define StrNCpy StrCpyN | |
| 268 #define StrCatN StrNCat | |
| 269 | |
| 270 #ifdef UNICODE | |
| 271 #define StrCat StrCatW | |
| 272 #define StrCmp StrCmpW | |
| 273 #define StrCmpI StrCmpIW | |
| 274 #define StrCpy StrCpyW | |
| 275 #define StrCpyN StrCpyNW | |
| 276 #define StrCatBuff StrCatBuffW | |
| 277 #else | |
| 278 #define StrCat lstrcatA | |
| 279 #define StrCmp lstrcmpA | |
| 280 #define StrCmpI lstrcmpiA | |
| 281 #define StrCpy lstrcpyA | |
| 282 #define StrCpyN lstrcpynA | |
| 283 #define StrCatBuff StrCatBuffA | |
| 284 #endif | |
| 285 #endif | |
| 286 | |
| 287 #ifndef NO_SHLWAPI_PATH | |
| 288 | |
| 289 LWSTDAPI_(LPSTR) PathAddBackslashA(LPSTR pszPath); | |
| 290 LWSTDAPI_(LPWSTR) PathAddBackslashW(LPWSTR pszPath); | |
| 291 #ifdef UNICODE | |
| 292 #define PathAddBackslash PathAddBackslashW | |
| 293 #else | |
| 294 #define PathAddBackslash PathAddBackslashA | |
| 295 #endif | |
| 296 LWSTDAPI_(WINBOOL) PathAddExtensionA(LPSTR pszPath,LPCSTR pszExt); | |
| 297 LWSTDAPI_(WINBOOL) PathAddExtensionW(LPWSTR pszPath,LPCWSTR pszExt); | |
| 298 #ifdef UNICODE | |
| 299 #define PathAddExtension PathAddExtensionW | |
| 300 #else | |
| 301 #define PathAddExtension PathAddExtensionA | |
| 302 #endif | |
| 303 LWSTDAPI_(WINBOOL) PathAppendA(LPSTR pszPath,LPCSTR pMore); | |
| 304 LWSTDAPI_(WINBOOL) PathAppendW(LPWSTR pszPath,LPCWSTR pMore); | |
| 305 LWSTDAPI_(LPSTR) PathBuildRootA(LPSTR pszRoot,int iDrive); | |
| 306 LWSTDAPI_(LPWSTR) PathBuildRootW(LPWSTR pszRoot,int iDrive); | |
| 307 #ifdef UNICODE | |
| 308 #define PathBuildRoot PathBuildRootW | |
| 309 #else | |
| 310 #define PathBuildRoot PathBuildRootA | |
| 311 #endif | |
| 312 LWSTDAPI_(WINBOOL) PathCanonicalizeA(LPSTR pszBuf,LPCSTR pszPath); | |
| 313 LWSTDAPI_(WINBOOL) PathCanonicalizeW(LPWSTR pszBuf,LPCWSTR pszPath); | |
| 314 LWSTDAPI_(LPSTR) PathCombineA(LPSTR pszDest,LPCSTR pszDir,LPCSTR pszFile); | |
| 315 LWSTDAPI_(LPWSTR) PathCombineW(LPWSTR pszDest,LPCWSTR pszDir,LPCWSTR pszFile); | |
| 316 #ifdef UNICODE | |
| 317 #define PathCombine PathCombineW | |
| 318 #else | |
| 319 #define PathCombine PathCombineA | |
| 320 #endif | |
| 321 LWSTDAPI_(WINBOOL) PathCompactPathA(HDC hDC,LPSTR pszPath,UINT dx); | |
| 322 LWSTDAPI_(WINBOOL) PathCompactPathW(HDC hDC,LPWSTR pszPath,UINT dx); | |
| 323 LWSTDAPI_(WINBOOL) PathCompactPathExA(LPSTR pszOut,LPCSTR pszSrc,UINT cchMax,DWORD dwFlags); | |
| 324 LWSTDAPI_(WINBOOL) PathCompactPathExW(LPWSTR pszOut,LPCWSTR pszSrc,UINT cchMax,DWORD dwFlags); | |
| 325 LWSTDAPI_(int) PathCommonPrefixA(LPCSTR pszFile1,LPCSTR pszFile2,LPSTR achPath); | |
| 326 LWSTDAPI_(int) PathCommonPrefixW(LPCWSTR pszFile1,LPCWSTR pszFile2,LPWSTR achPath); | |
| 327 LWSTDAPI_(WINBOOL) PathFileExistsA(LPCSTR pszPath); | |
| 328 LWSTDAPI_(WINBOOL) PathFileExistsW(LPCWSTR pszPath); | |
| 329 #ifdef UNICODE | |
| 330 #define PathFileExists PathFileExistsW | |
| 331 #else | |
| 332 #define PathFileExists PathFileExistsA | |
| 333 #endif | |
| 334 LWSTDAPI_(LPSTR) PathFindExtensionA(LPCSTR pszPath); | |
| 335 LWSTDAPI_(LPWSTR) PathFindExtensionW(LPCWSTR pszPath); | |
| 336 #ifdef UNICODE | |
| 337 #define PathFindExtension PathFindExtensionW | |
| 338 #else | |
| 339 #define PathFindExtension PathFindExtensionA | |
| 340 #endif | |
| 341 LWSTDAPI_(LPSTR) PathFindFileNameA(LPCSTR pszPath); | |
| 342 LWSTDAPI_(LPWSTR) PathFindFileNameW(LPCWSTR pszPath); | |
| 343 #ifdef UNICODE | |
| 344 #define PathFindFileName PathFindFileNameW | |
| 345 #else | |
| 346 #define PathFindFileName PathFindFileNameA | |
| 347 #endif | |
| 348 LWSTDAPI_(LPSTR) PathFindNextComponentA(LPCSTR pszPath); | |
| 349 LWSTDAPI_(LPWSTR) PathFindNextComponentW(LPCWSTR pszPath); | |
| 350 #ifdef UNICODE | |
| 351 #define PathFindNextComponent PathFindNextComponentW | |
| 352 #else | |
| 353 #define PathFindNextComponent PathFindNextComponentA | |
| 354 #endif | |
| 355 LWSTDAPI_(WINBOOL) PathFindOnPathA(LPSTR pszPath,LPCSTR *ppszOtherDirs); | |
| 356 LWSTDAPI_(WINBOOL) PathFindOnPathW(LPWSTR pszPath,LPCWSTR *ppszOtherDirs); | |
| 357 LWSTDAPI_(LPSTR) PathGetArgsA(LPCSTR pszPath); | |
| 358 LWSTDAPI_(LPWSTR) PathGetArgsW(LPCWSTR pszPath); | |
| 359 #ifdef UNICODE | |
| 360 #define PathGetArgs PathGetArgsW | |
| 361 #else | |
| 362 #define PathGetArgs PathGetArgsA | |
| 363 #endif | |
| 364 LWSTDAPI_(LPCSTR) PathFindSuffixArrayA(LPCSTR pszPath,const LPCSTR *apszSuffix,int iArraySize); | |
| 365 LWSTDAPI_(LPCWSTR) PathFindSuffixArrayW(LPCWSTR pszPath,const LPCWSTR *apszSuffix,int iArraySize); | |
| 366 #ifdef UNICODE | |
| 367 #define PathFindSuffixArray PathFindSuffixArrayW | |
| 368 #else | |
| 369 #define PathFindSuffixArray PathFindSuffixArrayA | |
| 370 #endif | |
| 371 LWSTDAPI_(WINBOOL) PathIsLFNFileSpecA(LPCSTR lpName); | |
| 372 LWSTDAPI_(WINBOOL) PathIsLFNFileSpecW(LPCWSTR lpName); | |
| 373 #ifdef UNICODE | |
| 374 #define PathIsLFNFileSpec PathIsLFNFileSpecW | |
| 375 #else | |
| 376 #define PathIsLFNFileSpec PathIsLFNFileSpecA | |
| 377 #endif | |
| 378 | |
| 379 LWSTDAPI_(UINT) PathGetCharTypeA(UCHAR ch); | |
| 380 LWSTDAPI_(UINT) PathGetCharTypeW(WCHAR ch); | |
| 381 | |
| 382 #define GCT_INVALID 0x0000 | |
| 383 #define GCT_LFNCHAR 0x0001 | |
| 384 #define GCT_SHORTCHAR 0x0002 | |
| 385 #define GCT_WILD 0x0004 | |
| 386 #define GCT_SEPARATOR 0x0008 | |
| 387 | |
| 388 LWSTDAPI_(int) PathGetDriveNumberA(LPCSTR pszPath); | |
| 389 LWSTDAPI_(int) PathGetDriveNumberW(LPCWSTR pszPath); | |
| 390 #ifdef UNICODE | |
| 391 #define PathGetDriveNumber PathGetDriveNumberW | |
| 392 #else | |
| 393 #define PathGetDriveNumber PathGetDriveNumberA | |
| 394 #endif | |
| 395 LWSTDAPI_(WINBOOL) PathIsDirectoryA(LPCSTR pszPath); | |
| 396 LWSTDAPI_(WINBOOL) PathIsDirectoryW(LPCWSTR pszPath); | |
| 397 #ifdef UNICODE | |
| 398 #define PathIsDirectory PathIsDirectoryW | |
| 399 #else | |
| 400 #define PathIsDirectory PathIsDirectoryA | |
| 401 #endif | |
| 402 LWSTDAPI_(WINBOOL) PathIsDirectoryEmptyA(LPCSTR pszPath); | |
| 403 LWSTDAPI_(WINBOOL) PathIsDirectoryEmptyW(LPCWSTR pszPath); | |
| 404 #ifdef UNICODE | |
| 405 #define PathIsDirectoryEmpty PathIsDirectoryEmptyW | |
| 406 #else | |
| 407 #define PathIsDirectoryEmpty PathIsDirectoryEmptyA | |
| 408 #endif | |
| 409 LWSTDAPI_(WINBOOL) PathIsFileSpecA(LPCSTR pszPath); | |
| 410 LWSTDAPI_(WINBOOL) PathIsFileSpecW(LPCWSTR pszPath); | |
| 411 #ifdef UNICODE | |
| 412 #define PathIsFileSpec PathIsFileSpecW | |
| 413 #else | |
| 414 #define PathIsFileSpec PathIsFileSpecA | |
| 415 #endif | |
| 416 LWSTDAPI_(WINBOOL) PathIsPrefixA(LPCSTR pszPrefix,LPCSTR pszPath); | |
| 417 LWSTDAPI_(WINBOOL) PathIsPrefixW(LPCWSTR pszPrefix,LPCWSTR pszPath); | |
| 418 #ifdef UNICODE | |
| 419 #define PathIsPrefix PathIsPrefixW | |
| 420 #else | |
| 421 #define PathIsPrefix PathIsPrefixA | |
| 422 #endif | |
| 423 LWSTDAPI_(WINBOOL) PathIsRelativeA(LPCSTR pszPath); | |
| 424 LWSTDAPI_(WINBOOL) PathIsRelativeW(LPCWSTR pszPath); | |
| 425 #ifdef UNICODE | |
| 426 #define PathIsRelative PathIsRelativeW | |
| 427 #else | |
| 428 #define PathIsRelative PathIsRelativeA | |
| 429 #endif | |
| 430 LWSTDAPI_(WINBOOL) PathIsRootA(LPCSTR pszPath); | |
| 431 LWSTDAPI_(WINBOOL) PathIsRootW(LPCWSTR pszPath); | |
| 432 #ifdef UNICODE | |
| 433 #define PathIsRoot PathIsRootW | |
| 434 #else | |
| 435 #define PathIsRoot PathIsRootA | |
| 436 #endif | |
| 437 LWSTDAPI_(WINBOOL) PathIsSameRootA(LPCSTR pszPath1,LPCSTR pszPath2); | |
| 438 LWSTDAPI_(WINBOOL) PathIsSameRootW(LPCWSTR pszPath1,LPCWSTR pszPath2); | |
| 439 #ifdef UNICODE | |
| 440 #define PathIsSameRoot PathIsSameRootW | |
| 441 #else | |
| 442 #define PathIsSameRoot PathIsSameRootA | |
| 443 #endif | |
| 444 LWSTDAPI_(WINBOOL) PathIsUNCA(LPCSTR pszPath); | |
| 445 LWSTDAPI_(WINBOOL) PathIsUNCW(LPCWSTR pszPath); | |
| 446 #ifdef UNICODE | |
| 447 #define PathIsUNC PathIsUNCW | |
| 448 #else | |
| 449 #define PathIsUNC PathIsUNCA | |
| 450 #endif | |
| 451 LWSTDAPI_(WINBOOL) PathIsNetworkPathA(LPCSTR pszPath); | |
| 452 LWSTDAPI_(WINBOOL) PathIsNetworkPathW(LPCWSTR pszPath); | |
| 453 #ifdef UNICODE | |
| 454 #define PathIsNetworkPath PathIsNetworkPathW | |
| 455 #else | |
| 456 #define PathIsNetworkPath PathIsNetworkPathA | |
| 457 #endif | |
| 458 LWSTDAPI_(WINBOOL) PathIsUNCServerA(LPCSTR pszPath); | |
| 459 LWSTDAPI_(WINBOOL) PathIsUNCServerW(LPCWSTR pszPath); | |
| 460 #ifdef UNICODE | |
| 461 #define PathIsUNCServer PathIsUNCServerW | |
| 462 #else | |
| 463 #define PathIsUNCServer PathIsUNCServerA | |
| 464 #endif | |
| 465 LWSTDAPI_(WINBOOL) PathIsUNCServerShareA(LPCSTR pszPath); | |
| 466 LWSTDAPI_(WINBOOL) PathIsUNCServerShareW(LPCWSTR pszPath); | |
| 467 #ifdef UNICODE | |
| 468 #define PathIsUNCServerShare PathIsUNCServerShareW | |
| 469 #else | |
| 470 #define PathIsUNCServerShare PathIsUNCServerShareA | |
| 471 #endif | |
| 472 LWSTDAPI_(WINBOOL) PathIsContentTypeA(LPCSTR pszPath,LPCSTR pszContentType); | |
| 473 LWSTDAPI_(WINBOOL) PathIsContentTypeW(LPCWSTR pszPath,LPCWSTR pszContentType); | |
| 474 LWSTDAPI_(WINBOOL) PathIsURLA(LPCSTR pszPath); | |
| 475 LWSTDAPI_(WINBOOL) PathIsURLW(LPCWSTR pszPath); | |
| 476 #ifdef UNICODE | |
| 477 #define PathIsURL PathIsURLW | |
| 478 #else | |
| 479 #define PathIsURL PathIsURLA | |
| 480 #endif | |
| 481 LWSTDAPI_(WINBOOL) PathMakePrettyA(LPSTR pszPath); | |
| 482 LWSTDAPI_(WINBOOL) PathMakePrettyW(LPWSTR pszPath); | |
| 483 LWSTDAPI_(WINBOOL) PathMatchSpecA(LPCSTR pszFile,LPCSTR pszSpec); | |
| 484 LWSTDAPI_(WINBOOL) PathMatchSpecW(LPCWSTR pszFile,LPCWSTR pszSpec); | |
| 485 LWSTDAPI_(int) PathParseIconLocationA(LPSTR pszIconFile); | |
| 486 LWSTDAPI_(int) PathParseIconLocationW(LPWSTR pszIconFile); | |
| 487 LWSTDAPI_(void) PathQuoteSpacesA(LPSTR lpsz); | |
| 488 LWSTDAPI_(void) PathQuoteSpacesW(LPWSTR lpsz); | |
| 489 LWSTDAPI_(WINBOOL) PathRelativePathToA(LPSTR pszPath,LPCSTR pszFrom,DWORD dwAttrFrom,LPCSTR pszTo,DWORD dwAttrTo); | |
| 490 LWSTDAPI_(WINBOOL) PathRelativePathToW(LPWSTR pszPath,LPCWSTR pszFrom,DWORD dwAttrFrom,LPCWSTR pszTo,DWORD dwAttrTo); | |
| 491 LWSTDAPI_(void) PathRemoveArgsA(LPSTR pszPath); | |
| 492 LWSTDAPI_(void) PathRemoveArgsW(LPWSTR pszPath); | |
| 493 LWSTDAPI_(LPSTR) PathRemoveBackslashA(LPSTR pszPath); | |
| 494 LWSTDAPI_(LPWSTR) PathRemoveBackslashW(LPWSTR pszPath); | |
| 495 #ifdef UNICODE | |
| 496 #define PathRemoveBackslash PathRemoveBackslashW | |
| 497 #else | |
| 498 #define PathRemoveBackslash PathRemoveBackslashA | |
| 499 #endif | |
| 500 LWSTDAPI_(void) PathRemoveBlanksA(LPSTR pszPath); | |
| 501 LWSTDAPI_(void) PathRemoveBlanksW(LPWSTR pszPath); | |
| 502 LWSTDAPI_(void) PathRemoveExtensionA(LPSTR pszPath); | |
| 503 LWSTDAPI_(void) PathRemoveExtensionW(LPWSTR pszPath); | |
| 504 LWSTDAPI_(WINBOOL) PathRemoveFileSpecA(LPSTR pszPath); | |
| 505 LWSTDAPI_(WINBOOL) PathRemoveFileSpecW(LPWSTR pszPath); | |
| 506 LWSTDAPI_(WINBOOL) PathRenameExtensionA(LPSTR pszPath,LPCSTR pszExt); | |
| 507 LWSTDAPI_(WINBOOL) PathRenameExtensionW(LPWSTR pszPath,LPCWSTR pszExt); | |
| 508 LWSTDAPI_(WINBOOL) PathSearchAndQualifyA(LPCSTR pszPath,LPSTR pszBuf,UINT cchBuf); | |
| 509 LWSTDAPI_(WINBOOL) PathSearchAndQualifyW(LPCWSTR pszPath,LPWSTR pszBuf,UINT cchBuf); | |
| 510 LWSTDAPI_(void) PathSetDlgItemPathA(HWND hDlg,int id,LPCSTR pszPath); | |
| 511 LWSTDAPI_(void) PathSetDlgItemPathW(HWND hDlg,int id,LPCWSTR pszPath); | |
| 512 LWSTDAPI_(LPSTR) PathSkipRootA(LPCSTR pszPath); | |
| 513 LWSTDAPI_(LPWSTR) PathSkipRootW(LPCWSTR pszPath); | |
| 514 #ifdef UNICODE | |
| 515 #define PathSkipRoot PathSkipRootW | |
| 516 #else | |
| 517 #define PathSkipRoot PathSkipRootA | |
| 518 #endif | |
| 519 LWSTDAPI_(void) PathStripPathA(LPSTR pszPath); | |
| 520 LWSTDAPI_(void) PathStripPathW(LPWSTR pszPath); | |
| 521 #ifdef UNICODE | |
| 522 #define PathStripPath PathStripPathW | |
| 523 #else | |
| 524 #define PathStripPath PathStripPathA | |
| 525 #endif | |
| 526 LWSTDAPI_(WINBOOL) PathStripToRootA(LPSTR pszPath); | |
| 527 LWSTDAPI_(WINBOOL) PathStripToRootW(LPWSTR pszPath); | |
| 528 #ifdef UNICODE | |
| 529 #define PathStripToRoot PathStripToRootW | |
| 530 #else | |
| 531 #define PathStripToRoot PathStripToRootA | |
| 532 #endif | |
| 533 LWSTDAPI_(void) PathUnquoteSpacesA(LPSTR lpsz); | |
| 534 LWSTDAPI_(void) PathUnquoteSpacesW(LPWSTR lpsz); | |
| 535 LWSTDAPI_(WINBOOL) PathMakeSystemFolderA(LPCSTR pszPath); | |
| 536 LWSTDAPI_(WINBOOL) PathMakeSystemFolderW(LPCWSTR pszPath); | |
| 537 #ifdef UNICODE | |
| 538 #define PathMakeSystemFolder PathMakeSystemFolderW | |
| 539 #else | |
| 540 #define PathMakeSystemFolder PathMakeSystemFolderA | |
| 541 #endif | |
| 542 LWSTDAPI_(WINBOOL) PathUnmakeSystemFolderA(LPCSTR pszPath); | |
| 543 LWSTDAPI_(WINBOOL) PathUnmakeSystemFolderW(LPCWSTR pszPath); | |
| 544 #ifdef UNICODE | |
| 545 #define PathUnmakeSystemFolder PathUnmakeSystemFolderW | |
| 546 #else | |
| 547 #define PathUnmakeSystemFolder PathUnmakeSystemFolderA | |
| 548 #endif | |
| 549 LWSTDAPI_(WINBOOL) PathIsSystemFolderA(LPCSTR pszPath,DWORD dwAttrb); | |
| 550 LWSTDAPI_(WINBOOL) PathIsSystemFolderW(LPCWSTR pszPath,DWORD dwAttrb); | |
| 551 #ifdef UNICODE | |
| 552 #define PathIsSystemFolder PathIsSystemFolderW | |
| 553 #else | |
| 554 #define PathIsSystemFolder PathIsSystemFolderA | |
| 555 #endif | |
| 556 LWSTDAPI_(void) PathUndecorateA(LPSTR pszPath); | |
| 557 LWSTDAPI_(void) PathUndecorateW(LPWSTR pszPath); | |
| 558 #ifdef UNICODE | |
| 559 #define PathUndecorate PathUndecorateW | |
| 560 #else | |
| 561 #define PathUndecorate PathUndecorateA | |
| 562 #endif | |
| 563 LWSTDAPI_(WINBOOL) PathUnExpandEnvStringsA(LPCSTR pszPath,LPSTR pszBuf,UINT cchBuf); | |
| 564 LWSTDAPI_(WINBOOL) PathUnExpandEnvStringsW(LPCWSTR pszPath,LPWSTR pszBuf,UINT cchBuf); | |
| 565 #ifdef UNICODE | |
| 566 #define PathUnExpandEnvStrings PathUnExpandEnvStringsW | |
| 567 #else | |
| 568 #define PathUnExpandEnvStrings PathUnExpandEnvStringsA | |
| 569 #endif | |
| 570 | |
| 571 #ifdef UNICODE | |
| 572 #define PathAppend PathAppendW | |
| 573 #define PathCanonicalize PathCanonicalizeW | |
| 574 #define PathCompactPath PathCompactPathW | |
| 575 #define PathCompactPathEx PathCompactPathExW | |
| 576 #define PathCommonPrefix PathCommonPrefixW | |
| 577 #define PathFindOnPath PathFindOnPathW | |
| 578 #define PathGetCharType PathGetCharTypeW | |
| 579 #define PathIsContentType PathIsContentTypeW | |
| 580 #define PathIsHTMLFile PathIsHTMLFileW | |
| 581 #define PathMakePretty PathMakePrettyW | |
| 582 #define PathMatchSpec PathMatchSpecW | |
| 583 #define PathParseIconLocation PathParseIconLocationW | |
| 584 #define PathQuoteSpaces PathQuoteSpacesW | |
| 585 #define PathRelativePathTo PathRelativePathToW | |
| 586 #define PathRemoveArgs PathRemoveArgsW | |
| 587 #define PathRemoveBlanks PathRemoveBlanksW | |
| 588 #define PathRemoveExtension PathRemoveExtensionW | |
| 589 #define PathRemoveFileSpec PathRemoveFileSpecW | |
| 590 #define PathRenameExtension PathRenameExtensionW | |
| 591 #define PathSearchAndQualify PathSearchAndQualifyW | |
| 592 #define PathSetDlgItemPath PathSetDlgItemPathW | |
| 593 #define PathUnquoteSpaces PathUnquoteSpacesW | |
| 594 #else | |
| 595 #define PathAppend PathAppendA | |
| 596 #define PathCanonicalize PathCanonicalizeA | |
| 597 #define PathCompactPath PathCompactPathA | |
| 598 #define PathCompactPathEx PathCompactPathExA | |
| 599 #define PathCommonPrefix PathCommonPrefixA | |
| 600 #define PathFindOnPath PathFindOnPathA | |
| 601 #define PathGetCharType PathGetCharTypeA | |
| 602 #define PathIsContentType PathIsContentTypeA | |
| 603 #define PathIsHTMLFile PathIsHTMLFileA | |
| 604 #define PathMakePretty PathMakePrettyA | |
| 605 #define PathMatchSpec PathMatchSpecA | |
| 606 #define PathParseIconLocation PathParseIconLocationA | |
| 607 #define PathQuoteSpaces PathQuoteSpacesA | |
| 608 #define PathRelativePathTo PathRelativePathToA | |
| 609 #define PathRemoveArgs PathRemoveArgsA | |
| 610 #define PathRemoveBlanks PathRemoveBlanksA | |
| 611 #define PathRemoveExtension PathRemoveExtensionA | |
| 612 #define PathRemoveFileSpec PathRemoveFileSpecA | |
| 613 #define PathRenameExtension PathRenameExtensionA | |
| 614 #define PathSearchAndQualify PathSearchAndQualifyA | |
| 615 #define PathSetDlgItemPath PathSetDlgItemPathA | |
| 616 #define PathUnquoteSpaces PathUnquoteSpacesA | |
| 617 #endif | |
| 618 | |
| 619 typedef enum { | |
| 620 URL_SCHEME_INVALID = -1,URL_SCHEME_UNKNOWN = 0,URL_SCHEME_FTP,URL_SCHEME_HTTP,URL_SCHEME_GOPHER,URL_SCHEME_MAILTO,URL_SCHEME_NEWS,URL_SCHEME_NNTP,URL_SCHEME_TELNET,URL_SCHEME_WAIS,URL_SCHEME_FILE,URL_SCHEME_MK,URL_SCHEME_HTTPS,URL_SCHEME_SHELL,URL_SCHEME_SNEWS,URL_SCHEME_LOCAL,URL_SCHEME_JAVASCRIPT,URL_SCHEME_VBSCRIPT,URL_SCHEME_ABOUT,URL_SCHEME_RES,URL_SCHEME_MSSHELLROOTED,URL_SCHEME_MSSHELLIDLIST,URL_SCHEME_MSHELP,URL_SCHEME_MAXVALUE | |
| 621 } URL_SCHEME; | |
| 622 | |
| 623 typedef enum { | |
| 624 URL_PART_NONE = 0,URL_PART_SCHEME = 1,URL_PART_HOSTNAME,URL_PART_USERNAME,URL_PART_PASSWORD,URL_PART_PORT,URL_PART_QUERY | |
| 625 } URL_PART; | |
| 626 | |
| 627 typedef enum { | |
| 628 URLIS_URL,URLIS_OPAQUE,URLIS_NOHISTORY,URLIS_FILEURL,URLIS_APPLIABLE,URLIS_DIRECTORY,URLIS_HASQUERY | |
| 629 } URLIS; | |
| 630 | |
| 631 #define URL_UNESCAPE 0x10000000 | |
| 632 #define URL_ESCAPE_UNSAFE 0x20000000 | |
| 633 #define URL_PLUGGABLE_PROTOCOL 0x40000000 | |
| 634 #define URL_WININET_COMPATIBILITY 0x80000000 | |
| 635 #define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000 | |
| 636 #define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO | |
| 637 #define URL_BROWSER_MODE URL_DONT_ESCAPE_EXTRA_INFO | |
| 638 #define URL_ESCAPE_SPACES_ONLY 0x04000000 | |
| 639 #define URL_DONT_SIMPLIFY 0x08000000 | |
| 640 #define URL_NO_META URL_DONT_SIMPLIFY | |
| 641 #define URL_UNESCAPE_INPLACE 0x00100000 | |
| 642 #define URL_CONVERT_IF_DOSPATH 0x00200000 | |
| 643 #define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000 | |
| 644 #define URL_INTERNAL_PATH 0x00800000 | |
| 645 #define URL_FILE_USE_PATHURL 0x00010000 | |
| 646 #define URL_DONT_UNESCAPE 0x00020000 | |
| 647 #define URL_ESCAPE_PERCENT 0x00001000 | |
| 648 #define URL_ESCAPE_SEGMENT_ONLY 0x00002000 | |
| 649 | |
| 650 #define URL_PARTFLAG_KEEPSCHEME 0x00000001 | |
| 651 | |
| 652 #define URL_APPLY_DEFAULT 0x00000001 | |
| 653 #define URL_APPLY_GUESSSCHEME 0x00000002 | |
| 654 #define URL_APPLY_GUESSFILE 0x00000004 | |
| 655 #define URL_APPLY_FORCEAPPLY 0x00000008 | |
| 656 | |
| 657 LWSTDAPI_(int) UrlCompareA(LPCSTR psz1,LPCSTR psz2,WINBOOL fIgnoreSlash); | |
| 658 LWSTDAPI_(int) UrlCompareW(LPCWSTR psz1,LPCWSTR psz2,WINBOOL fIgnoreSlash); | |
| 659 LWSTDAPI UrlCombineA(LPCSTR pszBase,LPCSTR pszRelative,LPSTR pszCombined,LPDWORD pcchCombined,DWORD dwFlags); | |
| 660 LWSTDAPI UrlCombineW(LPCWSTR pszBase,LPCWSTR pszRelative,LPWSTR pszCombined,LPDWORD pcchCombined,DWORD dwFlags); | |
| 661 LWSTDAPI UrlCanonicalizeA(LPCSTR pszUrl,LPSTR pszCanonicalized,LPDWORD pcchCanonicalized,DWORD dwFlags); | |
| 662 LWSTDAPI UrlCanonicalizeW(LPCWSTR pszUrl,LPWSTR pszCanonicalized,LPDWORD pcchCanonicalized,DWORD dwFlags); | |
| 663 LWSTDAPI_(WINBOOL) UrlIsOpaqueA(LPCSTR pszURL); | |
| 664 LWSTDAPI_(WINBOOL) UrlIsOpaqueW(LPCWSTR pszURL); | |
| 665 LWSTDAPI_(WINBOOL) UrlIsNoHistoryA(LPCSTR pszURL); | |
| 666 LWSTDAPI_(WINBOOL) UrlIsNoHistoryW(LPCWSTR pszURL); | |
| 667 #define UrlIsFileUrlA(pszURL) UrlIsA(pszURL,URLIS_FILEURL) | |
| 668 #define UrlIsFileUrlW(pszURL) UrlIsW(pszURL,URLIS_FILEURL) | |
| 669 LWSTDAPI_(WINBOOL) UrlIsA(LPCSTR pszUrl,URLIS UrlIs); | |
| 670 LWSTDAPI_(WINBOOL) UrlIsW(LPCWSTR pszUrl,URLIS UrlIs); | |
| 671 LWSTDAPI_(LPCSTR) UrlGetLocationA(LPCSTR psz1); | |
| 672 LWSTDAPI_(LPCWSTR) UrlGetLocationW(LPCWSTR psz1); | |
| 673 LWSTDAPI UrlUnescapeA(LPSTR pszUrl,LPSTR pszUnescaped,LPDWORD pcchUnescaped,DWORD dwFlags); | |
| 674 LWSTDAPI UrlUnescapeW(LPWSTR pszUrl,LPWSTR pszUnescaped,LPDWORD pcchUnescaped,DWORD dwFlags); | |
| 675 LWSTDAPI UrlEscapeA(LPCSTR pszUrl,LPSTR pszEscaped,LPDWORD pcchEscaped,DWORD dwFlags); | |
| 676 LWSTDAPI UrlEscapeW(LPCWSTR pszUrl,LPWSTR pszEscaped,LPDWORD pcchEscaped,DWORD dwFlags); | |
| 677 LWSTDAPI UrlCreateFromPathA(LPCSTR pszPath,LPSTR pszUrl,LPDWORD pcchUrl,DWORD dwFlags); | |
| 678 LWSTDAPI UrlCreateFromPathW(LPCWSTR pszPath,LPWSTR pszUrl,LPDWORD pcchUrl,DWORD dwFlags); | |
| 679 LWSTDAPI PathCreateFromUrlA(LPCSTR pszUrl,LPSTR pszPath,LPDWORD pcchPath,DWORD dwFlags); | |
| 680 LWSTDAPI PathCreateFromUrlW(LPCWSTR pszUrl,LPWSTR pszPath,LPDWORD pcchPath,DWORD dwFlags); | |
| 681 LWSTDAPI UrlHashA(LPCSTR pszUrl,LPBYTE pbHash,DWORD cbHash); | |
| 682 LWSTDAPI UrlHashW(LPCWSTR pszUrl,LPBYTE pbHash,DWORD cbHash); | |
| 683 LWSTDAPI UrlGetPartW(LPCWSTR pszIn,LPWSTR pszOut,LPDWORD pcchOut,DWORD dwPart,DWORD dwFlags); | |
| 684 LWSTDAPI UrlGetPartA(LPCSTR pszIn,LPSTR pszOut,LPDWORD pcchOut,DWORD dwPart,DWORD dwFlags); | |
| 685 LWSTDAPI UrlApplySchemeA(LPCSTR pszIn,LPSTR pszOut,LPDWORD pcchOut,DWORD dwFlags); | |
| 686 LWSTDAPI UrlApplySchemeW(LPCWSTR pszIn,LPWSTR pszOut,LPDWORD pcchOut,DWORD dwFlags); | |
| 687 LWSTDAPI HashData(LPBYTE pbData,DWORD cbData,LPBYTE pbHash,DWORD cbHash); | |
| 688 | |
| 689 #ifdef UNICODE | |
| 690 #define UrlCompare UrlCompareW | |
| 691 #define UrlCombine UrlCombineW | |
| 692 #define UrlCanonicalize UrlCanonicalizeW | |
| 693 #define UrlIsOpaque UrlIsOpaqueW | |
| 694 #define UrlIsFileUrl UrlIsFileUrlW | |
| 695 #define UrlGetLocation UrlGetLocationW | |
| 696 #define UrlUnescape UrlUnescapeW | |
| 697 #define UrlEscape UrlEscapeW | |
| 698 #define UrlCreateFromPath UrlCreateFromPathW | |
| 699 #define PathCreateFromUrl PathCreateFromUrlW | |
| 700 #define UrlHash UrlHashW | |
| 701 #define UrlGetPart UrlGetPartW | |
| 702 #define UrlApplyScheme UrlApplySchemeW | |
| 703 #define UrlIs UrlIsW | |
| 704 #else | |
| 705 #define UrlCompare UrlCompareA | |
| 706 #define UrlCombine UrlCombineA | |
| 707 #define UrlCanonicalize UrlCanonicalizeA | |
| 708 #define UrlIsOpaque UrlIsOpaqueA | |
| 709 #define UrlIsFileUrl UrlIsFileUrlA | |
| 710 #define UrlGetLocation UrlGetLocationA | |
| 711 #define UrlUnescape UrlUnescapeA | |
| 712 #define UrlEscape UrlEscapeA | |
| 713 #define UrlCreateFromPath UrlCreateFromPathA | |
| 714 #define PathCreateFromUrl PathCreateFromUrlA | |
| 715 #define UrlHash UrlHashA | |
| 716 #define UrlGetPart UrlGetPartA | |
| 717 #define UrlApplyScheme UrlApplySchemeA | |
| 718 #define UrlIs UrlIsA | |
| 719 #endif | |
| 720 | |
| 721 #define UrlEscapeSpaces(pszUrl,pszEscaped,pcchEscaped) UrlCanonicalize(pszUrl,pszEscaped,pcchEscaped,URL_ESCAPE_SPACES_ONLY |URL_DONT_ESCAPE_EXTRA_INFO) | |
| 722 #define UrlUnescapeInPlace(pszUrl,dwFlags) UrlUnescape(pszUrl,NULL,NULL,dwFlags | URL_UNESCAPE_INPLACE) | |
| 723 #endif | |
| 724 | |
| 725 #ifndef NO_SHLWAPI_REG | |
| 726 | |
| 727 LWSTDAPI_(DWORD) SHDeleteEmptyKeyA(HKEY hkey,LPCSTR pszSubKey); | |
| 728 LWSTDAPI_(DWORD) SHDeleteEmptyKeyW(HKEY hkey,LPCWSTR pszSubKey); | |
| 729 #ifdef UNICODE | |
| 730 #define SHDeleteEmptyKey SHDeleteEmptyKeyW | |
| 731 #else | |
| 732 #define SHDeleteEmptyKey SHDeleteEmptyKeyA | |
| 733 #endif | |
| 734 LWSTDAPI_(DWORD) SHDeleteKeyA(HKEY hkey,LPCSTR pszSubKey); | |
| 735 LWSTDAPI_(DWORD) SHDeleteKeyW(HKEY hkey,LPCWSTR pszSubKey); | |
| 736 #ifdef UNICODE | |
| 737 #define SHDeleteKey SHDeleteKeyW | |
| 738 #else | |
| 739 #define SHDeleteKey SHDeleteKeyA | |
| 740 #endif | |
| 741 LWSTDAPI_(HKEY) SHRegDuplicateHKey(HKEY hkey); | |
| 742 | |
| 743 LWSTDAPI_(DWORD) SHDeleteValueA(HKEY hkey,LPCSTR pszSubKey,LPCSTR pszValue); | |
| 744 LWSTDAPI_(DWORD) SHDeleteValueW(HKEY hkey,LPCWSTR pszSubKey,LPCWSTR pszValue); | |
| 745 #ifdef UNICODE | |
| 746 #define SHDeleteValue SHDeleteValueW | |
| 747 #else | |
| 748 #define SHDeleteValue SHDeleteValueA | |
| 749 #endif | |
| 750 LWSTDAPI_(DWORD) SHGetValueA(HKEY hkey,LPCSTR pszSubKey,LPCSTR pszValue,DWORD *pdwType,void *pvData,DWORD *pcbData); | |
| 751 LWSTDAPI_(DWORD) SHGetValueW(HKEY hkey,LPCWSTR pszSubKey,LPCWSTR pszValue,DWORD *pdwType,void *pvData,DWORD *pcbData); | |
| 752 #ifdef UNICODE | |
| 753 #define SHGetValue SHGetValueW | |
| 754 #else | |
| 755 #define SHGetValue SHGetValueA | |
| 756 #endif | |
| 757 LWSTDAPI_(DWORD) SHSetValueA(HKEY hkey,LPCSTR pszSubKey,LPCSTR pszValue,DWORD dwType,LPCVOID pvData,DWORD cbData); | |
| 758 LWSTDAPI_(DWORD) SHSetValueW(HKEY hkey,LPCWSTR pszSubKey,LPCWSTR pszValue,DWORD dwType,LPCVOID pvData,DWORD cbData); | |
| 759 #ifdef UNICODE | |
| 760 #define SHSetValue SHSetValueW | |
| 761 #else | |
| 762 #define SHSetValue SHSetValueA | |
| 763 #endif | |
| 764 | |
| 765 #if (_WIN32_IE >= 0x0602) | |
| 766 | |
| 767 typedef DWORD SRRF; | |
| 768 | |
| 769 #define SRRF_RT_REG_NONE 0x00000001 | |
| 770 #define SRRF_RT_REG_SZ 0x00000002 | |
| 771 #define SRRF_RT_REG_EXPAND_SZ 0x00000004 | |
| 772 #define SRRF_RT_REG_BINARY 0x00000008 | |
| 773 #define SRRF_RT_REG_DWORD 0x00000010 | |
| 774 #define SRRF_RT_REG_MULTI_SZ 0x00000020 | |
| 775 #define SRRF_RT_REG_QWORD 0x00000040 | |
| 776 | |
| 777 #define SRRF_RT_DWORD (SRRF_RT_REG_BINARY | SRRF_RT_REG_DWORD) | |
| 778 #define SRRF_RT_QWORD (SRRF_RT_REG_BINARY | SRRF_RT_REG_QWORD) | |
| 779 #define SRRF_RT_ANY 0x0000ffff | |
| 780 | |
| 781 #define SRRF_RM_ANY 0x00000000 | |
| 782 #define SRRF_RM_NORMAL 0x00010000 | |
| 783 #define SRRF_RM_SAFE 0x00020000 | |
| 784 #define SRRF_RM_SAFENETWORK 0x00040000 | |
| 785 | |
| 786 #define SRRF_NOEXPAND 0x10000000 | |
| 787 #define SRRF_ZEROONFAILURE 0x20000000 | |
| 788 | |
| 789 LWSTDAPI_(LONG) SHRegGetValueA(HKEY hkey,LPCSTR pszSubKey,LPCSTR pszValue,SRRF dwFlags,DWORD *pdwType,void *pvData,DWORD *pcbData); | |
| 790 LWSTDAPI_(LONG) SHRegGetValueW(HKEY hkey,LPCWSTR pszSubKey,LPCWSTR pszValue,SRRF dwFlags,DWORD *pdwType,void *pvData,DWORD *pcbData); | |
| 791 #ifdef UNICODE | |
| 792 #define SHRegGetValue SHRegGetValueW | |
| 793 #else | |
| 794 #define SHRegGetValue SHRegGetValueA | |
| 795 #endif | |
| 796 #endif | |
| 797 | |
| 798 #ifdef UNICODE | |
| 799 #define SHQueryValueEx SHQueryValueExW | |
| 800 #define SHEnumKeyEx SHEnumKeyExW | |
| 801 #define SHEnumValue SHEnumValueW | |
| 802 #define SHQueryInfoKey SHQueryInfoKeyW | |
| 803 #define SHCopyKey SHCopyKeyW | |
| 804 #define SHRegGetPath SHRegGetPathW | |
| 805 #define SHRegSetPath SHRegSetPathW | |
| 806 #else | |
| 807 #define SHQueryValueEx SHQueryValueExA | |
| 808 #define SHEnumKeyEx SHEnumKeyExA | |
| 809 #define SHEnumValue SHEnumValueA | |
| 810 #define SHQueryInfoKey SHQueryInfoKeyA | |
| 811 #define SHCopyKey SHCopyKeyA | |
| 812 #define SHRegGetPath SHRegGetPathA | |
| 813 #define SHRegSetPath SHRegSetPathA | |
| 814 #endif | |
| 815 | |
| 816 LWSTDAPI_(DWORD) SHQueryValueExA(HKEY hkey,LPCSTR pszValue,DWORD *pdwReserved,DWORD *pdwType,void *pvData,DWORD *pcbData); | |
| 817 LWSTDAPI_(DWORD) SHQueryValueExW(HKEY hkey,LPCWSTR pszValue,DWORD *pdwReserved,DWORD *pdwType,void *pvData,DWORD *pcbData); | |
| 818 LWSTDAPI_(LONG) SHEnumKeyExA(HKEY hkey,DWORD dwIndex,LPSTR pszName,LPDWORD pcchName); | |
| 819 LWSTDAPI_(LONG) SHEnumKeyExW(HKEY hkey,DWORD dwIndex,LPWSTR pszName,LPDWORD pcchName); | |
| 820 LWSTDAPI_(LONG) SHEnumValueA(HKEY hkey,DWORD dwIndex,LPSTR pszValueName,LPDWORD pcchValueName,LPDWORD pdwType,void *pvData,LPDWORD pcbData); | |
| 821 LWSTDAPI_(LONG) SHEnumValueW(HKEY hkey,DWORD dwIndex,LPWSTR pszValueName,LPDWORD pcchValueName,LPDWORD pdwType,void *pvData,LPDWORD pcbData); | |
| 822 LWSTDAPI_(LONG) SHQueryInfoKeyA(HKEY hkey,LPDWORD pcSubKeys,LPDWORD pcchMaxSubKeyLen,LPDWORD pcValues,LPDWORD pcchMaxValueNameLen); | |
| 823 LWSTDAPI_(LONG) SHQueryInfoKeyW(HKEY hkey,LPDWORD pcSubKeys,LPDWORD pcchMaxSubKeyLen,LPDWORD pcValues,LPDWORD pcchMaxValueNameLen); | |
| 824 LWSTDAPI_(DWORD) SHCopyKeyA(HKEY hkeySrc,LPCSTR szSrcSubKey,HKEY hkeyDest,DWORD fReserved); | |
| 825 LWSTDAPI_(DWORD) SHCopyKeyW(HKEY hkeySrc,LPCWSTR wszSrcSubKey,HKEY hkeyDest,DWORD fReserved); | |
| 826 LWSTDAPI_(DWORD) SHRegGetPathA(HKEY hKey,LPCSTR pcszSubKey,LPCSTR pcszValue,LPSTR pszPath,DWORD dwFlags); | |
| 827 LWSTDAPI_(DWORD) SHRegGetPathW(HKEY hKey,LPCWSTR pcszSubKey,LPCWSTR pcszValue,LPWSTR pszPath,DWORD dwFlags); | |
| 828 LWSTDAPI_(DWORD) SHRegSetPathA(HKEY hKey,LPCSTR pcszSubKey,LPCSTR pcszValue,LPCSTR pcszPath,DWORD dwFlags); | |
| 829 LWSTDAPI_(DWORD) SHRegSetPathW(HKEY hKey,LPCWSTR pcszSubKey,LPCWSTR pcszValue,LPCWSTR pcszPath,DWORD dwFlags); | |
| 830 | |
| 831 typedef enum { | |
| 832 SHREGDEL_DEFAULT = 0x00000000,SHREGDEL_HKCU = 0x00000001,SHREGDEL_HKLM = 0x00000010,SHREGDEL_BOTH = 0x00000011 | |
| 833 } SHREGDEL_FLAGS; | |
| 834 | |
| 835 typedef enum { | |
| 836 SHREGENUM_DEFAULT = 0x00000000,SHREGENUM_HKCU = 0x00000001,SHREGENUM_HKLM = 0x00000010,SHREGENUM_BOTH = 0x00000011 | |
| 837 } SHREGENUM_FLAGS; | |
| 838 | |
| 839 #define SHREGSET_HKCU 0x00000001 | |
| 840 #define SHREGSET_FORCE_HKCU 0x00000002 | |
| 841 #define SHREGSET_HKLM 0x00000004 | |
| 842 #define SHREGSET_FORCE_HKLM 0x00000008 | |
| 843 #define SHREGSET_DEFAULT (SHREGSET_FORCE_HKCU | SHREGSET_HKLM) | |
| 844 | |
| 845 typedef HANDLE HUSKEY; | |
| 846 typedef HUSKEY *PHUSKEY; | |
| 847 | |
| 848 LWSTDAPI_(LONG) SHRegCreateUSKeyA(LPCSTR pszPath,REGSAM samDesired,HUSKEY hRelativeUSKey,PHUSKEY phNewUSKey,DWORD dwFlags); | |
| 849 LWSTDAPI_(LONG) SHRegCreateUSKeyW(LPCWSTR pwzPath,REGSAM samDesired,HUSKEY hRelativeUSKey,PHUSKEY phNewUSKey,DWORD dwFlags); | |
| 850 LWSTDAPI_(LONG) SHRegOpenUSKeyA(LPCSTR pszPath,REGSAM samDesired,HUSKEY hRelativeUSKey,PHUSKEY phNewUSKey,WINBOOL fIgnoreHKCU); | |
| 851 LWSTDAPI_(LONG) SHRegOpenUSKeyW(LPCWSTR pwzPath,REGSAM samDesired,HUSKEY hRelativeUSKey,PHUSKEY phNewUSKey,WINBOOL fIgnoreHKCU); | |
| 852 LWSTDAPI_(LONG) SHRegQueryUSValueA(HUSKEY hUSKey,LPCSTR pszValue,LPDWORD pdwType,void *pvData,LPDWORD pcbData,WINBOOL fIgnoreHKCU,void *pvDefaultData,DWORD dwDefaultDataSize); | |
| 853 LWSTDAPI_(LONG) SHRegQueryUSValueW(HUSKEY hUSKey,LPCWSTR pwzValue,LPDWORD pdwType,void *pvData,LPDWORD pcbData,WINBOOL fIgnoreHKCU,void *pvDefaultData,DWORD dwDefaultDataSize); | |
| 854 LWSTDAPI_(LONG) SHRegWriteUSValueA(HUSKEY hUSKey,LPCSTR pszValue,DWORD dwType,const void *pvData,DWORD cbData,DWORD dwFlags); | |
| 855 LWSTDAPI_(LONG) SHRegWriteUSValueW(HUSKEY hUSKey,LPCWSTR pwzValue,DWORD dwType,const void *pvData,DWORD cbData,DWORD dwFlags); | |
| 856 LWSTDAPI_(LONG) SHRegDeleteUSValueA(HUSKEY hUSKey,LPCSTR pszValue,SHREGDEL_FLAGS delRegFlags); | |
| 857 LWSTDAPI_(LONG) SHRegDeleteEmptyUSKeyW(HUSKEY hUSKey,LPCWSTR pwzSubKey,SHREGDEL_FLAGS delRegFlags); | |
| 858 LWSTDAPI_(LONG) SHRegDeleteEmptyUSKeyA(HUSKEY hUSKey,LPCSTR pszSubKey,SHREGDEL_FLAGS delRegFlags); | |
| 859 LWSTDAPI_(LONG) SHRegDeleteUSValueW(HUSKEY hUSKey,LPCWSTR pwzValue,SHREGDEL_FLAGS delRegFlags); | |
| 860 LWSTDAPI_(LONG) SHRegEnumUSKeyA(HUSKEY hUSKey,DWORD dwIndex,LPSTR pszName,LPDWORD pcchName,SHREGENUM_FLAGS enumRegFlags); | |
| 861 LWSTDAPI_(LONG) SHRegEnumUSKeyW(HUSKEY hUSKey,DWORD dwIndex,LPWSTR pwzName,LPDWORD pcchName,SHREGENUM_FLAGS enumRegFlags); | |
| 862 LWSTDAPI_(LONG) SHRegEnumUSValueA(HUSKEY hUSkey,DWORD dwIndex,LPSTR pszValueName,LPDWORD pcchValueName,LPDWORD pdwType,void *pvData,LPDWORD pcbData,SHREGENUM_FLAGS enumRegFlags); | |
| 863 LWSTDAPI_(LONG) SHRegEnumUSValueW(HUSKEY hUSkey,DWORD dwIndex,LPWSTR pszValueName,LPDWORD pcchValueName,LPDWORD pdwType,void *pvData,LPDWORD pcbData,SHREGENUM_FLAGS enumRegFlags); | |
| 864 LWSTDAPI_(LONG) SHRegQueryInfoUSKeyA(HUSKEY hUSKey,LPDWORD pcSubKeys,LPDWORD pcchMaxSubKeyLen,LPDWORD pcValues,LPDWORD pcchMaxValueNameLen,SHREGENUM_FLAGS enumRegFlags); | |
| 865 LWSTDAPI_(LONG) SHRegQueryInfoUSKeyW(HUSKEY hUSKey,LPDWORD pcSubKeys,LPDWORD pcchMaxSubKeyLen,LPDWORD pcValues,LPDWORD pcchMaxValueNameLen,SHREGENUM_FLAGS enumRegFlags); | |
| 866 LWSTDAPI_(LONG) SHRegCloseUSKey(HUSKEY hUSKey); | |
| 867 LWSTDAPI_(LONG) SHRegGetUSValueA(LPCSTR pszSubKey,LPCSTR pszValue,LPDWORD pdwType,void *pvData,LPDWORD pcbData,WINBOOL fIgnoreHKCU,void *pvDefaultData,DWORD dwDefaultDataSize); | |
| 868 LWSTDAPI_(LONG) SHRegGetUSValueW(LPCWSTR pwzSubKey,LPCWSTR pwzValue,LPDWORD pdwType,void *pvData,LPDWORD pcbData,WINBOOL fIgnoreHKCU,void *pvDefaultData,DWORD dwDefaultDataSize); | |
| 869 LWSTDAPI_(LONG) SHRegSetUSValueA(LPCSTR pszSubKey,LPCSTR pszValue,DWORD dwType,const void *pvData,DWORD cbData,DWORD dwFlags); | |
| 870 LWSTDAPI_(LONG) SHRegSetUSValueW(LPCWSTR pwzSubKey,LPCWSTR pwzValue,DWORD dwType,const void *pvData,DWORD cbData,DWORD dwFlags); | |
| 871 LWSTDAPI_(int) SHRegGetIntW(HKEY hk,LPCWSTR pwzKey,int iDefault); | |
| 872 | |
| 873 #ifdef UNICODE | |
| 874 #define SHRegCreateUSKey SHRegCreateUSKeyW | |
| 875 #define SHRegOpenUSKey SHRegOpenUSKeyW | |
| 876 #define SHRegQueryUSValue SHRegQueryUSValueW | |
| 877 #define SHRegWriteUSValue SHRegWriteUSValueW | |
| 878 #define SHRegDeleteUSValue SHRegDeleteUSValueW | |
| 879 #define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyW | |
| 880 #define SHRegEnumUSKey SHRegEnumUSKeyW | |
| 881 #define SHRegEnumUSValue SHRegEnumUSValueW | |
| 882 #define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyW | |
| 883 #define SHRegGetUSValue SHRegGetUSValueW | |
| 884 #define SHRegSetUSValue SHRegSetUSValueW | |
| 885 #define SHRegGetInt SHRegGetIntW | |
| 886 #define SHRegGetBoolUSValue SHRegGetBoolUSValueW | |
| 887 #else | |
| 888 #define SHRegCreateUSKey SHRegCreateUSKeyA | |
| 889 #define SHRegOpenUSKey SHRegOpenUSKeyA | |
| 890 #define SHRegQueryUSValue SHRegQueryUSValueA | |
| 891 #define SHRegWriteUSValue SHRegWriteUSValueA | |
| 892 #define SHRegDeleteUSValue SHRegDeleteUSValueA | |
| 893 #define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyA | |
| 894 #define SHRegEnumUSKey SHRegEnumUSKeyA | |
| 895 #define SHRegEnumUSValue SHRegEnumUSValueA | |
| 896 #define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyA | |
| 897 #define SHRegGetUSValue SHRegGetUSValueA | |
| 898 #define SHRegSetUSValue SHRegSetUSValueA | |
| 899 #define SHRegGetBoolUSValue SHRegGetBoolUSValueA | |
| 900 #endif | |
| 901 | |
| 902 LWSTDAPI_(WINBOOL) SHRegGetBoolUSValueA(LPCSTR pszSubKey,LPCSTR pszValue,WINBOOL fIgnoreHKCU,WINBOOL fDefault); | |
| 903 LWSTDAPI_(WINBOOL) SHRegGetBoolUSValueW(LPCWSTR pszSubKey,LPCWSTR pszValue,WINBOOL fIgnoreHKCU,WINBOOL fDefault); | |
| 904 | |
| 905 enum { | |
| 906 ASSOCF_INIT_NOREMAPCLSID = 0x00000001,ASSOCF_INIT_BYEXENAME = 0x00000002,ASSOCF_OPEN_BYEXENAME = 0x00000002,ASSOCF_INIT_DEFAULTTOSTAR = 0x00000004, | |
| 907 ASSOCF_INIT_DEFAULTTOFOLDER = 0x00000008,ASSOCF_NOUSERSETTINGS = 0x00000010,ASSOCF_NOTRUNCATE = 0x00000020,ASSOCF_VERIFY = 0x00000040, | |
| 908 ASSOCF_REMAPRUNDLL = 0x00000080,ASSOCF_NOFIXUPS = 0x00000100,ASSOCF_IGNOREBASECLASS = 0x00000200 | |
| 909 }; | |
| 910 | |
| 911 typedef DWORD ASSOCF; | |
| 912 | |
| 913 typedef enum { | |
| 914 ASSOCSTR_COMMAND = 1,ASSOCSTR_EXECUTABLE,ASSOCSTR_FRIENDLYDOCNAME,ASSOCSTR_FRIENDLYAPPNAME,ASSOCSTR_NOOPEN,ASSOCSTR_SHELLNEWVALUE, | |
| 915 ASSOCSTR_DDECOMMAND,ASSOCSTR_DDEIFEXEC,ASSOCSTR_DDEAPPLICATION,ASSOCSTR_DDETOPIC,ASSOCSTR_INFOTIP,ASSOCSTR_QUICKTIP,ASSOCSTR_TILEINFO, | |
| 916 ASSOCSTR_CONTENTTYPE,ASSOCSTR_DEFAULTICON,ASSOCSTR_SHELLEXTENSION,ASSOCSTR_MAX | |
| 917 } ASSOCSTR; | |
| 918 | |
| 919 typedef enum { | |
| 920 ASSOCKEY_SHELLEXECCLASS = 1,ASSOCKEY_APP,ASSOCKEY_CLASS,ASSOCKEY_BASECLASS,ASSOCKEY_MAX | |
| 921 } ASSOCKEY; | |
| 922 | |
| 923 typedef enum { | |
| 924 ASSOCDATA_MSIDESCRIPTOR = 1,ASSOCDATA_NOACTIVATEHANDLER,ASSOCDATA_QUERYCLASSSTORE,ASSOCDATA_HASPERUSERASSOC,ASSOCDATA_EDITFLAGS, | |
| 925 ASSOCDATA_VALUE,ASSOCDATA_MAX | |
| 926 } ASSOCDATA; | |
| 927 | |
| 928 typedef enum { | |
| 929 ASSOCENUM_NONE | |
| 930 } ASSOCENUM; | |
| 931 | |
| 932 #undef INTERFACE | |
| 933 #define INTERFACE IQueryAssociations | |
| 934 DECLARE_INTERFACE_(IQueryAssociations,IUnknown) { | |
| 935 STDMETHOD (QueryInterface)(THIS_ REFIID riid,void **ppv) PURE; | |
| 936 STDMETHOD_(ULONG,AddRef) (THIS) PURE; | |
| 937 STDMETHOD_(ULONG,Release) (THIS) PURE; | |
| 938 STDMETHOD (Init)(THIS_ ASSOCF flags,LPCWSTR pszAssoc,HKEY hkProgid,HWND hwnd) PURE; | |
| 939 STDMETHOD (GetString)(THIS_ ASSOCF flags,ASSOCSTR str,LPCWSTR pszExtra,LPWSTR pszOut,DWORD *pcchOut) PURE; | |
| 940 STDMETHOD (GetKey)(THIS_ ASSOCF flags,ASSOCKEY key,LPCWSTR pszExtra,HKEY *phkeyOut) PURE; | |
| 941 STDMETHOD (GetData)(THIS_ ASSOCF flags,ASSOCDATA data,LPCWSTR pszExtra,LPVOID pvOut,DWORD *pcbOut) PURE; | |
| 942 STDMETHOD (GetEnum)(THIS_ ASSOCF flags,ASSOCENUM assocenum,LPCWSTR pszExtra,REFIID riid,LPVOID *ppvOut) PURE; | |
| 943 }; | |
| 944 | |
| 945 #ifdef UNICODE | |
| 946 #define AssocQueryString AssocQueryStringW | |
| 947 #define AssocQueryStringByKey AssocQueryStringByKeyW | |
| 948 #define AssocQueryKey AssocQueryKeyW | |
| 949 #else | |
| 950 #define AssocQueryString AssocQueryStringA | |
| 951 #define AssocQueryStringByKey AssocQueryStringByKeyA | |
| 952 #define AssocQueryKey AssocQueryKeyA | |
| 953 #endif | |
| 954 | |
| 955 LWSTDAPI AssocCreate(CLSID clsid,REFIID riid,LPVOID *ppv); | |
| 956 LWSTDAPI AssocQueryStringA(ASSOCF flags,ASSOCSTR str,LPCSTR pszAssoc,LPCSTR pszExtra,LPSTR pszOut,DWORD *pcchOut); | |
| 957 LWSTDAPI AssocQueryStringW(ASSOCF flags,ASSOCSTR str,LPCWSTR pszAssoc,LPCWSTR pszExtra,LPWSTR pszOut,DWORD *pcchOut); | |
| 958 LWSTDAPI AssocQueryStringByKeyA(ASSOCF flags,ASSOCSTR str,HKEY hkAssoc,LPCSTR pszExtra,LPSTR pszOut,DWORD *pcchOut); | |
| 959 LWSTDAPI AssocQueryStringByKeyW(ASSOCF flags,ASSOCSTR str,HKEY hkAssoc,LPCWSTR pszExtra,LPWSTR pszOut,DWORD *pcchOut); | |
| 960 LWSTDAPI AssocQueryKeyA(ASSOCF flags,ASSOCKEY key,LPCSTR pszAssoc,LPCSTR pszExtra,HKEY *phkeyOut); | |
| 961 LWSTDAPI AssocQueryKeyW(ASSOCF flags,ASSOCKEY key,LPCWSTR pszAssoc,LPCWSTR pszExtra,HKEY *phkeyOut); | |
| 962 | |
| 963 #if (_WIN32_IE >= 0x0601) | |
| 964 LWSTDAPI_(WINBOOL) AssocIsDangerous(LPCWSTR pszAssoc); | |
| 965 #endif | |
| 966 | |
| 967 #if (_WIN32_IE >= 0x0603) | |
| 968 typedef enum { | |
| 969 PERCEIVED_TYPE_CUSTOM = -3,PERCEIVED_TYPE_UNSPECIFIED = -2,PERCEIVED_TYPE_FOLDER = -1,PERCEIVED_TYPE_UNKNOWN = 0, | |
| 970 PERCEIVED_TYPE_TEXT,PERCEIVED_TYPE_IMAGE,PERCEIVED_TYPE_AUDIO,PERCEIVED_TYPE_VIDEO,PERCEIVED_TYPE_COMPRESSED,PERCEIVED_TYPE_DOCUMENT, | |
| 971 PERCEIVED_TYPE_SYSTEM,PERCEIVED_TYPE_APPLICATION | |
| 972 } PERCEIVED; | |
| 973 | |
| 974 #define PERCEIVEDFLAG_UNDEFINED 0x0000 | |
| 975 #define PERCEIVEDFLAG_SOFTCODED 0x0001 | |
| 976 #define PERCEIVEDFLAG_HARDCODED 0x0002 | |
| 977 #define PERCEIVEDFLAG_NATIVESUPPORT 0x0004 | |
| 978 #define PERCEIVEDFLAG_GDIPLUS 0x0010 | |
| 979 #define PERCEIVEDFLAG_WMSDK 0x0020 | |
| 980 #define PERCEIVEDFLAG_ZIPFOLDER 0x0040 | |
| 981 | |
| 982 typedef DWORD PERCEIVEDFLAG; | |
| 983 | |
| 984 LWSTDAPI AssocGetPerceivedType(LPCWSTR pszExt,PERCEIVED *ptype,PERCEIVEDFLAG *pflag,LPWSTR *ppszType); | |
| 985 #endif | |
| 986 #endif | |
| 987 | |
| 988 #ifndef NO_SHLWAPI_STREAM | |
| 989 #ifdef UNICODE | |
| 990 #define SHOpenRegStream SHOpenRegStreamW | |
| 991 #define SHOpenRegStream2 SHOpenRegStream2W | |
| 992 #define SHCreateStreamOnFile SHCreateStreamOnFileW | |
| 993 #else | |
| 994 #define SHOpenRegStream SHOpenRegStreamA | |
| 995 #define SHOpenRegStream2 SHOpenRegStream2A | |
| 996 #define SHCreateStreamOnFile SHCreateStreamOnFileA | |
| 997 #endif | |
| 998 | |
| 999 LWSTDAPI_(struct IStream *) SHOpenRegStreamA(HKEY hkey,LPCSTR pszSubkey,LPCSTR pszValue,DWORD grfMode); | |
| 1000 LWSTDAPI_(struct IStream *) SHOpenRegStreamW(HKEY hkey,LPCWSTR pszSubkey,LPCWSTR pszValue,DWORD grfMode); | |
| 1001 LWSTDAPI_(struct IStream *) SHOpenRegStream2A(HKEY hkey,LPCSTR pszSubkey,LPCSTR pszValue,DWORD grfMode); | |
| 1002 LWSTDAPI_(struct IStream *) SHOpenRegStream2W(HKEY hkey,LPCWSTR pszSubkey,LPCWSTR pszValue,DWORD grfMode); | |
| 1003 | |
| 1004 #undef SHOpenRegStream | |
| 1005 #define SHOpenRegStream SHOpenRegStream2 | |
| 1006 LWSTDAPI SHCreateStreamOnFileA(LPCSTR pszFile,DWORD grfMode,struct IStream **ppstm); | |
| 1007 LWSTDAPI SHCreateStreamOnFileW(LPCWSTR pszFile,DWORD grfMode,struct IStream **ppstm); | |
| 1008 | |
| 1009 #if (_WIN32_IE >= 0x0600) | |
| 1010 LWSTDAPI SHCreateStreamOnFileEx(LPCWSTR pszFile,DWORD grfMode,DWORD dwAttributes,WINBOOL fCreate,struct IStream *pstmTemplate,struct IStream **ppstm); | |
| 1011 #endif | |
| 1012 #endif | |
| 1013 | |
| 1014 #ifndef NO_SHLWAPI_HTTP | |
| 1015 #if (_WIN32_IE >= 0x0603) | |
| 1016 #ifdef UNICODE | |
| 1017 #define GetAcceptLanguages GetAcceptLanguagesW | |
| 1018 #else | |
| 1019 #define GetAcceptLanguages GetAcceptLanguagesA | |
| 1020 #endif | |
| 1021 | |
| 1022 LWSTDAPI GetAcceptLanguagesA(LPSTR psz,DWORD *pcch); | |
| 1023 LWSTDAPI GetAcceptLanguagesW(LPWSTR psz,DWORD *pcch); | |
| 1024 #endif | |
| 1025 #endif | |
| 1026 | |
| 1027 #if (_WIN32_IE >= 0x0601) | |
| 1028 #define SHGVSPB_PERUSER 0x00000001 | |
| 1029 #define SHGVSPB_ALLUSERS 0x00000002 | |
| 1030 #define SHGVSPB_PERFOLDER 0x00000004 | |
| 1031 #define SHGVSPB_ALLFOLDERS 0x00000008 | |
| 1032 #define SHGVSPB_INHERIT 0x00000010 | |
| 1033 #define SHGVSPB_ROAM 0x00000020 | |
| 1034 #define SHGVSPB_NOAUTODEFAULTS 0x80000000 | |
| 1035 | |
| 1036 #define SHGVSPB_FOLDER (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER) | |
| 1037 #define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS) | |
| 1038 #define SHGVSPB_USERDEFAULTS (SHGVSPB_PERUSER | SHGVSPB_ALLFOLDERS) | |
| 1039 #define SHGVSPB_GLOBALDEAFAULTS (SHGVSPB_ALLUSERS | SHGVSPB_ALLFOLDERS) | |
| 1040 | |
| 1041 LWSTDAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl,LPCWSTR pszBagName,DWORD dwFlags,REFIID riid,void **ppv); | |
| 1042 #endif | |
| 1043 | |
| 1044 #if (_WIN32_IE >= 0x0603) | |
| 1045 LWSTDAPI_(HANDLE) SHAllocShared(const void *pvData,DWORD dwSize,DWORD dwProcessId); | |
| 1046 LWSTDAPI_(WINBOOL) SHFreeShared(HANDLE hData,DWORD dwProcessId); | |
| 1047 LWSTDAPI_(void *) SHLockShared(HANDLE hData,DWORD dwProcessId); | |
| 1048 LWSTDAPI_(WINBOOL) SHUnlockShared(void *pvData); | |
| 1049 #endif | |
| 1050 | |
| 1051 #define SHACF_DEFAULT 0x00000000 | |
| 1052 #define SHACF_FILESYSTEM 0x00000001 | |
| 1053 #define SHACF_URLALL (SHACF_URLHISTORY | SHACF_URLMRU) | |
| 1054 #define SHACF_URLHISTORY 0x00000002 | |
| 1055 #define SHACF_URLMRU 0x00000004 | |
| 1056 #define SHACF_USETAB 0x00000008 | |
| 1057 #define SHACF_FILESYS_ONLY 0x00000010 | |
| 1058 | |
| 1059 #if (_WIN32_IE >= 0x0600) | |
| 1060 #define SHACF_FILESYS_DIRS 0x00000020 | |
| 1061 #endif | |
| 1062 | |
| 1063 #define SHACF_AUTOSUGGEST_FORCE_ON 0x10000000 | |
| 1064 #define SHACF_AUTOSUGGEST_FORCE_OFF 0x20000000 | |
| 1065 #define SHACF_AUTOAPPEND_FORCE_ON 0x40000000 | |
| 1066 #define SHACF_AUTOAPPEND_FORCE_OFF 0x80000000 | |
| 1067 | |
| 1068 LWSTDAPI SHAutoComplete(HWND hwndEdit,DWORD dwFlags); | |
| 1069 LWSTDAPI SHSetThreadRef(IUnknown *punk); | |
| 1070 LWSTDAPI SHGetThreadRef(IUnknown **ppunk); | |
| 1071 LWSTDAPI_(WINBOOL) SHSkipJunction(struct IBindCtx *pbc,const CLSID *pclsid); | |
| 1072 | |
| 1073 #if (_WIN32_IE >= 0x0603) | |
| 1074 LWSTDAPI SHCreateThreadRef(LONG *pcRef,IUnknown **ppunk); | |
| 1075 #endif | |
| 1076 | |
| 1077 #define CTF_INSIST 0x00000001 | |
| 1078 #define CTF_THREAD_REF 0x00000002 | |
| 1079 #define CTF_PROCESS_REF 0x00000004 | |
| 1080 #define CTF_COINIT 0x00000008 | |
| 1081 #define CTF_FREELIBANDEXIT 0x00000010 | |
| 1082 #define CTF_REF_COUNTED 0x00000020 | |
| 1083 #define CTF_WAIT_ALLOWCOM 0x00000040 | |
| 1084 | |
| 1085 LWSTDAPI_(WINBOOL) SHCreateThread(LPTHREAD_START_ROUTINE pfnThreadProc,void *pData,DWORD dwFlags,LPTHREAD_START_ROUTINE pfnCallback); | |
| 1086 LWSTDAPI SHReleaseThreadRef(); | |
| 1087 | |
| 1088 #ifndef NO_SHLWAPI_GDI | |
| 1089 LWSTDAPI_(HPALETTE) SHCreateShellPalette(HDC hdc); | |
| 1090 LWSTDAPI_(void) ColorRGBToHLS(COLORREF clrRGB,WORD *pwHue,WORD *pwLuminance,WORD *pwSaturation); | |
| 1091 LWSTDAPI_(COLORREF) ColorHLSToRGB(WORD wHue,WORD wLuminance,WORD wSaturation); | |
| 1092 LWSTDAPI_(COLORREF) ColorAdjustLuma(COLORREF clrRGB,int n,WINBOOL fScale); | |
| 1093 #endif | |
| 1094 | |
| 1095 typedef struct _DLLVERSIONINFO { | |
| 1096 DWORD cbSize; | |
| 1097 DWORD dwMajorVersion; | |
| 1098 DWORD dwMinorVersion; | |
| 1099 DWORD dwBuildNumber; | |
| 1100 DWORD dwPlatformID; | |
| 1101 } DLLVERSIONINFO; | |
| 1102 | |
| 1103 #define DLLVER_PLATFORM_WINDOWS 0x00000001 | |
| 1104 #define DLLVER_PLATFORM_NT 0x00000002 | |
| 1105 | |
| 1106 typedef struct _DLLVERSIONINFO2 { | |
| 1107 DLLVERSIONINFO info1; | |
| 1108 DWORD dwFlags; | |
| 1109 ULONGLONG ullVersion; | |
| 1110 | |
| 1111 } DLLVERSIONINFO2; | |
| 1112 | |
| 1113 #define DLLVER_MAJOR_MASK 0xFFFF000000000000 | |
| 1114 #define DLLVER_MINOR_MASK 0x0000FFFF00000000 | |
| 1115 #define DLLVER_BUILD_MASK 0x00000000FFFF0000 | |
| 1116 #define DLLVER_QFE_MASK 0x000000000000FFFF | |
| 1117 | |
| 1118 #define MAKEDLLVERULL(major,minor,build,qfe) (((ULONGLONG)(major) << 48) | ((ULONGLONG)(minor) << 32) | ((ULONGLONG)(build) << 16) | ((ULONGLONG)(qfe) << 0)) | |
| 1119 | |
| 1120 typedef HRESULT (CALLBACK *DLLGETVERSIONPROC)(DLLVERSIONINFO *); | |
| 1121 | |
| 1122 STDAPI DllInstall(WINBOOL bInstall,LPCWSTR pszCmdLine); | |
| 1123 | |
| 1124 #if (_WIN32_IE >= 0x0602) | |
| 1125 LWSTDAPI_(WINBOOL) IsInternetESCEnabled(); | |
| 1126 #endif | |
| 1127 | |
| 1128 #ifdef __cplusplus | |
| 1129 } | |
| 1130 #endif | |
| 1131 | |
| 1132 #include <poppack.h> | |
| 1133 #endif | |
| 1134 #endif |
