21#ifndef __WINE_SHLWAPI_H
22#define __WINE_SHLWAPI_H
29#define LWSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
30#define LWSTDAPIV_(type) EXTERN_C DECLSPEC_IMPORT type STDAPIVCALLTYPE
32#define LWSTDAPI_(type) type WINAPI
33#define LWSTDAPIV_(type) type STDAPIVCALLTYPE
35#define LWSTDAPI LWSTDAPI_(HRESULT)
49#define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
53#define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
57#define SHDeleteValue WINELIB_NAME_AW(SHDeleteValue)
79#define SHGetValue WINELIB_NAME_AW(SHGetValue)
101#define SHSetValue WINELIB_NAME_AW(SHSetValue)
123#define SHQueryValueEx WINELIB_NAME_AW(SHQueryValueEx)
141#define SHEnumKeyEx WINELIB_NAME_AW(SHEnumKeyEx)
165#define SHEnumValue WINELIB_NAME_AW(SHEnumValue)
185#define SHQueryInfoKey WINELIB_NAME_AW(SHQueryInfoKey)
205#define SHRegGetPath WINELIB_NAME_AW(SHRegGetPath)
225#define SHRegSetPath WINELIB_NAME_AW(SHRegSetPath)
243#define SHCopyKey WINELIB_NAME_AW(SHCopyKey)
250#define SRRF_RT_REG_NONE 0x1
251#define SRRF_RT_REG_SZ 0x2
252#define SRRF_RT_REG_EXPAND_SZ 0x4
253#define SRRF_RT_REG_BINARY 0x8
254#define SRRF_RT_REG_DWORD 0x10
255#define SRRF_RT_REG_MULTI_SZ 0x20
256#define SRRF_RT_REG_QWORD 0x40
258#define SRRF_RT_DWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_DWORD)
259#define SRRF_RT_QWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_QWORD)
260#define SRRF_RT_ANY 0xffff
263#define SRRF_RM_NORMAL 0x10000
264#define SRRF_RM_SAFE 0x20000
265#define SRRF_RM_SAFENETWORK 0x40000
267#define SRRF_NOEXPAND 0x10000000
268#define SRRF_ZEROONFAILURE 0x20000000
269#define SRRF_NOVIRT 0x40000000
293#define SHRegGetValue WINELIB_NAME_AW(SHRegGetValue)
299#define SHDeleteOrphanKey WINELIB_NAME_AW(SHDeleteOrphanKey)
320#define SHREGSET_HKCU 0x1
321#define SHREGSET_FORCE_HKCU 0x2
322#define SHREGSET_HKLM 0x4
323#define SHREGSET_FORCE_HKLM 0x8
324#define SHREGSET_DEFAULT (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)
347#define SHRegCreateUSKey WINELIB_NAME_AW(SHRegCreateUSKey)
367#define SHRegOpenUSKey WINELIB_NAME_AW(SHRegOpenUSKey)
393#define SHRegQueryUSValue WINELIB_NAME_AW(SHRegQueryUSValue)
415#define SHRegWriteUSValue WINELIB_NAME_AW(SHRegWriteUSValue)
431#define SHRegDeleteUSValue WINELIB_NAME_AW(SHRegDeleteUSValue)
447#define SHRegDeleteEmptyUSKey WINELIB_NAME_AW(SHRegDeleteEmptyUSKey)
467#define SHRegEnumUSKey WINELIB_NAME_AW(SHRegEnumUSKey)
493#define SHRegEnumUSValue WINELIB_NAME_AW(SHRegEnumUSValue)
515#define SHRegQueryInfoUSKey WINELIB_NAME_AW(SHRegQueryInfoUSKey)
543#define SHRegGetUSValue WINELIB_NAME_AW(SHRegGetUSValue)
565#define SHRegSetUSValue WINELIB_NAME_AW(SHRegSetUSValue)
583#define SHRegGetBoolUSValue WINELIB_NAME_AW(SHRegGetBoolUSValue)
684#define INTERFACE IQueryAssociations
700#if !defined(__cplusplus) || defined(CINTERFACE)
701#define IQueryAssociations_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
702#define IQueryAssociations_AddRef(p) (p)->lpVtbl->AddRef(p)
703#define IQueryAssociations_Release(p) (p)->lpVtbl->Release(p)
704#define IQueryAssociations_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
705#define IQueryAssociations_GetString(p,a,b,c,d,e) (p)->lpVtbl->GetString(p,a,b,c,d,e)
706#define IQueryAssociations_GetKey(p,a,b,c,d) (p)->lpVtbl->GetKey(p,a,b,c,d)
707#define IQueryAssociations_GetData(p,a,b,c,d,e) (p)->lpVtbl->GetData(p,a,b,c,d,e)
708#define IQueryAssociations_GetEnum(p,a,b,c,d,e) (p)->lpVtbl->GetEnum(p,a,b,c,d,e)
733#define AssocQueryString WINELIB_NAME_AW(AssocQueryString)
755#define AssocQueryStringByKey WINELIB_NAME_AW(AssocQueryStringByKey)
775#define AssocQueryKey WINELIB_NAME_AW(AssocQueryKey)
807#ifndef NO_SHLWAPI_PATH
810#define GCT_INVALID 0x0
811#define GCT_LFNCHAR 0x1
812#define GCT_SHORTCHAR 0x2
814#define GCT_SEPARATOR 0x8
818#define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
832#define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
836#define PathAppend WINELIB_NAME_AW(PathAppend)
840#define PathBuildRoot WINELIB_NAME_AW(PathBuiltRoot)
844#define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
860#define PathCombine WINELIB_NAME_AW(PathCombine)
876#define PathCompactPath WINELIB_NAME_AW(PathCompactPath)
894#define PathCompactPathEx WINELIB_NAME_AW(PathCompactPathEx)
910#define PathCommonPrefix WINELIB_NAME_AW(PathCommonPrefix)
928#define PathCreateFromUrl WINELIB_NAME_AW(PathCreateFromUrl)
934#define PathFileExists WINELIB_NAME_AW(PathFileExists)
938#define PathFileExistsAndAttributes WINELIB_NAME_AW(PathFileExistsAndAttributes)
942#define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
946#define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
950#define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
954#define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
958#define PathGetArgs WINELIB_NAME_AW(PathGetArgs)
962#define PathGetCharType WINELIB_NAME_AW(PathGetCharType)
966#define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
970#define PathIsDirectory WINELIB_NAME_AW(PathIsDirectory)
974#define PathIsDirectoryEmpty WINELIB_NAME_AW(PathIsDirectoryEmpty)
978#define PathIsFileSpec WINELIB_NAME_AW(PathIsFileSpec);
982#define PathIsPrefix WINELIB_NAME_AW(PathIsPrefix)
986#define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
990#define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
994#define PathIsSameRoot WINELIB_NAME_AW(PathIsSameRoot)
998#define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
1002#define PathIsUNCServer WINELIB_NAME_AW(PathIsUNCServer)
1006#define PathIsUNCServerShare WINELIB_NAME_AW(PathIsUNCServerShare)
1010#define PathIsContentType WINELIB_NAME_AW(PathIsContentType)
1014#define PathIsURL WINELIB_NAME_AW(PathIsURL)
1018#define PathMakePretty WINELIB_NAME_AW(PathMakePretty)
1022#define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
1026#define PathParseIconLocation WINELIB_NAME_AW(PathParseIconLocation)
1030#define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
1050#define PathRelativePathTo WINELIB_NAME_AW(PathRelativePathTo)
1054#define PathRemoveArgs WINELIB_NAME_AW(PathRemoveArgs)
1058#define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
1062#define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
1066#define PathRemoveExtension WINELIB_NAME_AW(PathRemoveExtension)
1070#define PathRemoveFileSpec WINELIB_NAME_AW(PathRemoveFileSpec)
1084#define PathRenameExtension WINELIB_NAME_AW(PathRenameExtension)
1100#define PathSearchAndQualify WINELIB_NAME_AW(PathSearchAndQualify)
1104#define PathSetDlgItemPath WINELIB_NAME_AW(PathSetDlgItemPath)
1108#define PathSkipRoot WINELIB_NAME_AW(PathSkipRoot)
1112#define PathStripPath WINELIB_NAME_AW(PathStripPath)
1116#define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
1120#define PathUnquoteSpaces WINELIB_NAME_AW(PathUnquoteSpaces)
1124#define PathMakeSystemFolder WINELIB_NAME_AW(PathMakeSystemFolder)
1128#define PathUnmakeSystemFolder WINELIB_NAME_AW(PathUnmakeSystemFolder)
1132#define PathIsSystemFolder WINELIB_NAME_AW(PathIsSystemFolder)
1136#define PathIsNetworkPath WINELIB_NAME_AW(PathIsNetworkPath)
1140#define PathIsLFNFileSpec WINELIB_NAME_AW(PathIsLFNFileSpec)
1156#define PathFindSuffixArray WINELIB_NAME_AW(PathFindSuffixArray)
1160#define PathUndecorate WINELIB_NAME_AW(PathUndecorate)
1176#define PathUnExpandEnvStrings WINELIB_NAME_AW(PathUnExpandEnvStrings)
1222#define URL_PARTFLAG_KEEPSCHEME 0x00000001
1236#define URL_APPLY_FORCEAPPLY 0x00000008
1237#define URL_APPLY_GUESSFILE 0x00000004
1238#define URL_APPLY_GUESSSCHEME 0x00000002
1239#define URL_APPLY_DEFAULT 0x00000001
1244#define URL_WININET_COMPATIBILITY 0x80000000
1245#define URL_PLUGGABLE_PROTOCOL 0x40000000
1246#define URL_ESCAPE_UNSAFE 0x20000000
1247#define URL_UNESCAPE 0x10000000
1249#define URL_DONT_SIMPLIFY 0x08000000
1250#define URL_NO_META URL_DONT_SIMPLIFY
1251#define URL_ESCAPE_SPACES_ONLY 0x04000000
1252#define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
1253#define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO
1254#define URL_BROWSER_MODE URL_DONT_ESCAPE_EXTRA_INFO
1256#define URL_INTERNAL_PATH 0x00800000
1257#define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
1258#define URL_CONVERT_IF_DOSPATH 0x00200000
1259#define URL_UNESCAPE_INPLACE 0x00100000
1261#define URL_FILE_USE_PATHURL 0x00010000
1262#define URL_ESCAPE_AS_UTF8 0x00040000
1264#define URL_ESCAPE_SEGMENT_ONLY 0x00002000
1265#define URL_ESCAPE_PERCENT 0x00001000
1283#define UrlApplyScheme WINELIB_NAME_AW(UrlApplyScheme)
1301#define UrlCanonicalize WINELIB_NAME_AW(UrlCanonicalize)
1321#define UrlCombine WINELIB_NAME_AW(UrlCombine)
1325#define UrlCompare WINELIB_NAME_AW(UrlCompare)
1343#define UrlEscape WINELIB_NAME_AW(UrlEscape)
1345#define UrlEscapeSpacesA(x,y,z) UrlCanonicalizeA(x, y, z, \
1346 URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
1347#define UrlEscapeSpacesW(x,y,z) UrlCanonicalizeW(x, y, z, \
1348 URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
1349#define UrlEscapeSpaces WINELIB_NAME_AW(UrlEscapeSpaces)
1353#define UrlGetLocation WINELIB_NAME_AW(UrlGetLocation)
1373#define UrlGetPart WINELIB_NAME_AW(UrlGetPart)
1397#define UrlHash WINELIB_NAME_AW(UrlHash)
1401#define UrlIs WINELIB_NAME_AW(UrlIs)
1405#define UrlIsNoHistory WINELIB_NAME_AW(UrlIsNoHistory)
1409#define UrlIsOpaque WINELIB_NAME_AW(UrlIsOpaque)
1411#define UrlIsFileUrlA(x) UrlIsA(x, URLIS_FILEURL)
1412#define UrlIsFileUrlW(x) UrlIsW(x, URLIS_FILEURL)
1413#define UrlIsFileUrl WINELIB_NAME_AW(UrlIsFileUrl)
1431#define UrlUnescape WINELIB_NAME_AW(UrlUnescape)
1433#define UrlUnescapeInPlaceA(x,y) UrlUnescapeA(x, NULL, NULL, \
1434 y | URL_UNESCAPE_INPLACE)
1435#define UrlUnescapeInPlaceW(x,y) UrlUnescapeW(x, NULL, NULL, \
1436 y | URL_UNESCAPE_INPLACE)
1437#define UrlUnescapeInPlace WINELIB_NAME_AW(UrlUnescapeInPlace)
1455#define UrlCreateFromPath WINELIB_NAME_AW(UrlCreateFromPath)
1477#define ParseURL WINELIB_NAME_AW(ParseUrl)
1483#ifndef NO_SHLWAPI_STRFCNS
1486#define STIF_DEFAULT 0x0L
1487#define STIF_SUPPORT_HEX 0x1L
1491#define ChrCmpI WINELIB_NAME_AW(ChrCmpI)
1495#define StrCSpn WINELIB_NAME_AW(StrCSpn)
1499#define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
1501#define StrCatA lstrcatA
1503#define StrCat WINELIB_NAME_AW(StrCat)
1510 INT cchDestBuffSize);
1517 INT cchDestBuffSize);
1519#define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
1531#define StrChr WINELIB_NAME_AW(StrChr)
1535#define StrChrI WINELIB_NAME_AW(StrChrI)
1537#define StrCmpA lstrcmpA
1539#define StrCmp WINELIB_NAME_AW(StrCmp)
1541#define StrCmpIA lstrcmpiA
1543#define StrCmpI WINELIB_NAME_AW(StrCmpI)
1545#define StrCpyA lstrcpyA
1547#define StrCpy WINELIB_NAME_AW(StrCpy)
1549#define StrCpyNA lstrcpynA
1551#define StrCpyN WINELIB_NAME_AW(StrCpyN)
1552#define StrNCpy WINELIB_NAME_AW(StrCpyN)
1558#define StrCmpN WINELIB_NAME_AW(StrCmpN)
1559#define StrNCmp WINELIB_NAME_AW(StrCmpN)
1563#define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
1564#define StrNCmpI WINELIB_NAME_AW(StrCmpNI)
1568#define StrDup WINELIB_NAME_AW(StrDup)
1572#define SHStrDup WINELIB_NAME_AW(SHStrDup)
1597#ifndef WINE_NO_UNICODE_MACROS
1599#define StrFormatByteSize StrFormatByteSizeW
1601#define StrFormatByteSize StrFormatByteSize64A
1619#define StrFormatKBSize WINELIB_NAME_AW(StrFormatKBSize)
1637#define StrFromTimeInterval WINELIB_NAME_AW(StrFromTimeInterval)
1641#define StrIsIntlEqual WINELIB_NAME_AW(StrIsIntlEqual)
1643#define StrIntlEqNA(a,b,c) StrIsIntlEqualA(TRUE,a,b,c)
1644#define StrIntlEqNW(a,b,c) StrIsIntlEqualW(TRUE,a,b,c)
1646#define StrIntlEqNIA(a,b,c) StrIsIntlEqualA(FALSE,a,b,c)
1647#define StrIntlEqNIW(a,b,c) StrIsIntlEqualW(FALSE,a,b,c)
1651#define StrNCat WINELIB_NAME_AW(StrNCat)
1652#define StrCatN WINELIB_NAME_AW(StrNCat)
1656#define StrPBrk WINELIB_NAME_AW(StrPBrk)
1660#define StrRChr WINELIB_NAME_AW(StrRChr)
1664#define StrRChrI WINELIB_NAME_AW(StrRChrI)
1668#define StrRStrI WINELIB_NAME_AW(StrRStrI)
1672#define StrSpn WINELIB_NAME_AW(StrSpn)
1676#define StrStr WINELIB_NAME_AW(StrStr)
1680#define StrStrI WINELIB_NAME_AW(StrStrI)
1687#define StrToInt WINELIB_NAME_AW(StrToInt)
1688#define StrToLong WINELIB_NAME_AW(StrToInt)
1692#define StrToIntEx WINELIB_NAME_AW(StrToIntEx)
1696#define StrToIntEx64 WINELIB_NAME_AW(StrToIntEx64)
1700#define StrTrim WINELIB_NAME_AW(StrTrim)
1718#define wvnsprintf WINELIB_NAME_AW(wvnsprintf)
1736#define wnsprintf WINELIB_NAME_AW(wnsprintf)
1762#define IntlStrEqWorker WINELIB_NAME_AW(IntlStrEqWorker)
1764#define IntlStrEqNA(s1,s2,n) IntlStrEqWorkerA(TRUE,s1,s2,n)
1765#define IntlStrEqNW(s1,s2,n) IntlStrEqWorkerW(TRUE,s1,s2,n)
1766#define IntlStrEqN WINELIB_NAME_AW(IntlStrEqN)
1768#define IntlStrEqNIA(s1,s2,n) IntlStrEqWorkerA(FALSE,s1,s2,n)
1769#define IntlStrEqNIW(s1,s2,n) IntlStrEqWorkerW(FALSE,s1,s2,n)
1770#define IntlStrEqNI WINELIB_NAME_AW(IntlStrEqNI)
1786#define StrRetToStr WINELIB_NAME_AW(StrRetToStr)
1804#define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
1815#define IsCharSpace WINELIB_NAME_AW(IsCharSpace)
1821#ifndef NO_SHLWAPI_GDI
1837#ifndef NO_SHLWAPI_STREAM
1855#define SHOpenRegStream WINELIB_NAME_AW(SHOpenRegStream2)
1873#define SHOpenRegStream2 WINELIB_NAME_AW(SHOpenRegStream2)
1889#define SHCreateStreamOnFile WINELIB_NAME_AW(SHCreateStreamOnFile)
1911#if !defined(IStream_Read) && defined(__cplusplus)
1919#ifndef NO_SHLWAPI_SHARED
1956#define SHACF_DEFAULT 0x00000000
1957#define SHACF_FILESYSTEM 0x00000001
1958#define SHACF_URLHISTORY 0x00000002
1959#define SHACF_URLMRU 0x00000004
1960#define SHACF_URLALL (SHACF_URLHISTORY|SHACF_URLMRU)
1961#define SHACF_USETAB 0x00000008
1962#define SHACF_FILESYS_ONLY 0x00000010
1963#define SHACF_FILESYS_DIRS 0x00000020
1964#define SHACF_AUTOSUGGEST_FORCE_ON 0x10000000
1965#define SHACF_AUTOSUGGEST_FORCE_OFF 0x20000000
1966#define SHACF_AUTOAPPEND_FORCE_ON 0x40000000
1967#define SHACF_AUTOAPPEND_FORCE_OFF 0x80000000
1978#define CTF_INSIST 0x01
1979#define CTF_THREAD_REF 0x02
1980#define CTF_PROCESS_REF 0x04
1981#define CTF_COINIT 0x08
1982#define CTF_FREELIBANDEXIT 0x10
1983#define CTF_REF_COUNTED 0x20
1984#define CTF_WAIT_ALLOWCOM 0x40
2006#define DLLVER_PLATFORM_WINDOWS 0x01
2007#define DLLVER_PLATFORM_NT 0x02
2022#define DLLVER_MAJOR_MASK 0xFFFF000000000000
2023#define DLLVER_MINOR_MASK 0x0000FFFF00000000
2024#define DLLVER_BUILD_MASK 0x00000000FFFF0000
2025#define DLLVER_QFE_MASK 0x000000000000FFFF
2027#define MAKEDLLVERULL(mjr, mnr, bld, qfe) (((ULONGLONG)(mjr)<< 48)| \
2028 ((ULONGLONG)(mnr)<< 32) | ((ULONGLONG)(bld)<< 16) | (ULONGLONG)(qfe))
2033#if (_WIN32_IE >= 0x0600)
2034#define SHGVSPB_PERUSER 0x00000001
2035#define SHGVSPB_ALLUSERS 0x00000002
2036#define SHGVSPB_PERFOLDER 0x00000004
2037#define SHGVSPB_ALLFOLDERS 0x00000008
2038#define SHGVSPB_INHERIT 0x00000010
2039#define SHGVSPB_ROAM 0x00000020
2040#define SHGVSPB_NOAUTODEFAULTS 0x80000000
2042#define SHGVSPB_FOLDER (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER)
2043#define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS)
2044#define SHGVSPB_USERDEFAULTS (SHGVSPB_PERUSER | SHGVSPB_ALLFOLDERS)
2045#define SHGVSPB_GLOBALDEAFAULTS (SHGVSPB_ALLUSERS | SHGVSPB_ALLFOLDERS)
2061#define OS_WIN32SORGREATER 0x00
2063#define OS_WIN95ORGREATER 0x02
2064#define OS_NT4ORGREATER 0x03
2065#define OS_WIN2000ORGREATER_ALT 0x04
2066#define OS_WIN98ORGREATER 0x05
2067#define OS_WIN98_GOLD 0x06
2068#define OS_WIN2000ORGREATER 0x07
2069#define OS_WIN2000PRO 0x08
2070#define OS_WIN2000SERVER 0x09
2071#define OS_WIN2000ADVSERVER 0x0A
2072#define OS_WIN2000DATACENTER 0x0B
2073#define OS_WIN2000TERMINAL 0x0C
2074#define OS_EMBEDDED 0x0D
2075#define OS_TERMINALCLIENT 0x0E
2076#define OS_TERMINALREMOTEADMIN 0x0F
2077#define OS_WIN95_GOLD 0x10
2078#define OS_MEORGREATER 0x11
2079#define OS_XPORGREATER 0x12
2081#define OS_PROFESSIONAL 0x14
2082#define OS_DATACENTER 0x15
2083#define OS_ADVSERVER 0x16
2084#define OS_SERVER 0x17
2085#define OS_TERMINALSERVER 0x18
2086#define OS_PERSONALTERMINALSERVER 0x19
2087#define OS_FASTUSERSWITCHING 0x1A
2088#define OS_WELCOMELOGONUI 0x1B
2089#define OS_DOMAINMEMBER 0x1C
2090#define OS_ANYSERVER 0x1D
2091#define OS_WOW6432 0x1E
2092#define OS_WEBSERVER 0x1F
2093#define OS_SMALLBUSINESSSERVER 0x20
2094#define OS_TABLETPC 0x21
2095#define OS_SERVERADMINUI 0x22
2096#define OS_MEDIACENTER 0x23
2097#define OS_APPLIANCE 0x24
2102#define TPS_EXECUTEIO 0x00000001
2103#define TPS_LONGEXECTIME 0x00000008
2106#define FDTF_SHORTTIME 0x00000001
2107#define FDTF_SHORTDATE 0x00000002
2108#define FDTF_DEFAULT (FDTF_SHORTDATE | FDTF_SHORTTIME)
2109#define FDTF_LONGDATE 0x00000004
2110#define FDTF_LONGTIME 0x00000008
2111#define FDTF_RELATIVE 0x00000010
2112#define FDTF_LTRDATE 0x00000100
2113#define FDTF_RTLDATE 0x00000200
2114#define FDTF_NOAUTOREADINGORDER 0x00000400
2120#if defined(__REACTOS__) || (WINVER >= _WIN32_WINNT_WIN10)
2135#define OFFSETOFCLASS(base, derived) \
2136 ((DWORD)(DWORD_PTR)(static_cast<base*>((derived*)8))-8)
2138#define QITABENTMULTI(Cthis, Ifoo, Iimpl) { &IID_##Ifoo, OFFSETOFCLASS(Iimpl, Cthis) }
2139#define QITABENT(Cthis, Ifoo) QITABENTMULTI(Cthis, Ifoo, Ifoo)
static _In_ LPCWSTR _In_ DWORD _In_ int _In_ int cchDest
#define DECLARE_INTERFACE_(i, b)
STDAPI DllGetVersion(DLLVERSIONINFO *info)
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
static BYTE * GetData(BYTE *pData, ULONG *pLength)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
static LPWSTR PDWORD pcchPath
static HRESULT QueryInterface(REFIID, void **)
static ULONG WINAPI AddRef(IStream *iface)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
#define _Out_writes_to_opt_(s, c)
#define _In_reads_bytes_(s)
#define _Inout_updates_(s)
#define _Out_writes_opt_(s)
#define _Out_writes_bytes_opt_(s)
#define _Out_writes_bytes_to_opt_(s, c)
#define _Out_writes_to_(s, c)
#define _Out_writes_bytes_(s)
#define _Printf_format_string_
#define _In_reads_bytes_opt_(s)
#define DEFINE_ENUM_FLAG_OPERATORS(_ENUMTYPE)
_In_ DWORD _In_ DWORD dwOffset
#define PathAddExtensionA
#define PathCanonicalizeA
#define PathAddExtensionW
#define PathCanonicalizeW
#define PathAddBackslashA
#define PathRenameExtensionA
#define PathRenameExtensionW
#define PathAddBackslashW
BOOL WINAPI PathFindOnPathA(_Inout_updates_(MAX_PATH) LPSTR, _In_opt_ LPCSTR *)
BOOL WINAPI PathRemoveFileSpecA(_Inout_ LPSTR)
LPSTR WINAPI StrRChrIA(_In_ LPCSTR, _In_opt_ LPCSTR, WORD)
LONG WINAPI SHRegQueryUSValueA(_In_ HUSKEY, _In_opt_ LPCSTR, _Inout_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ BOOL, _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID, _In_opt_ DWORD dwDefaultDataSize)
BOOL WINAPI PathIsPrefixA(_In_ LPCSTR, _In_ LPCSTR)
HRESULT WINAPI SHReleaseThreadRef(void)
LONG WINAPI SHEnumValueW(_In_ HKEY, _In_ DWORD, _Out_writes_opt_(*pcchValueName) LPWSTR, _Inout_opt_ LPDWORD pcchValueName, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
DWORD WINAPI SHCopyKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ HKEY, _Reserved_ DWORD)
HRESULT WINAPI SHSetThreadRef(_In_opt_ IUnknown *)
VOID WINAPI PathUndecorateA(_Inout_ LPSTR)
LPCWSTR WINAPI UrlGetLocationW(_In_ LPCWSTR)
LONG WINAPI SHRegDeleteEmptyUSKeyW(_In_ HUSKEY, _In_ LPCWSTR, _In_ SHREGDEL_FLAGS)
HRESULT WINAPI DllInstall(BOOL, _In_opt_ LPCWSTR) DECLSPEC_HIDDEN
LPCSTR WINAPI PathFindSuffixArrayA(_In_ LPCSTR, _In_reads_(iArraySize) LPCSTR *, int iArraySize)
@ ASSOCDATA_HASPERUSERASSOC
@ ASSOCDATA_MSIDESCRIPTOR
@ ASSOCDATA_NOACTIVATEHANDLER
@ ASSOCDATA_QUERYCLASSSTORE
BOOL WINAPI UrlIsA(_In_ LPCSTR, URLIS)
COLORREF WINAPI ColorAdjustLuma(COLORREF, int, BOOL)
BOOL WINAPI PathRemoveFileSpecW(_Inout_ LPWSTR)
LSTATUS WINAPI SHRegGetValueW(_In_ HKEY hkey, _In_opt_ LPCWSTR pszSubKey, _In_opt_ LPCWSTR pszValue, _In_ SRRF srrfFlags, _Out_opt_ LPDWORD pdwType, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID pvData, _Inout_opt_ LPDWORD pcbData)
int WINAPI SHRegGetIntW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ int)
LONG WINAPI SHQueryInfoKeyW(_In_ HKEY, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD)
LONG WINAPI SHRegGetUSValueW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _Inout_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ BOOL, _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID, _In_ DWORD dwDefaultDataSize)
LONG WINAPI SHRegOpenUSKeyW(_In_ LPCWSTR, _In_ REGSAM, _In_opt_ HUSKEY, _Out_ PHUSKEY, _In_ BOOL)
BOOL WINAPI PathIsContentTypeA(_In_ LPCSTR, _In_ LPCSTR)
LPSTR WINAPI PathRemoveBackslashA(_Inout_ LPSTR)
BOOL WINAPI StrTrimA(_Inout_ LPSTR, _In_ LPCSTR)
HRESULT WINAPI UrlHashW(_In_ LPCWSTR, _Out_writes_bytes_(cbHash) unsigned char *, DWORD cbHash)
HRESULT WINAPI SHCreateStreamOnFileEx(_In_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_ BOOL, _In_opt_ struct IStream *, _Outptr_ struct IStream **)
LONG WINAPI SHRegWriteUSValueW(_In_ HUSKEY, _In_ LPCWSTR, _In_ DWORD, _In_reads_bytes_(cbData) LPVOID, _In_ DWORD cbData, _In_ DWORD)
LPWSTR WINAPI StrCatW(_Inout_ LPWSTR, _In_ LPCWSTR)
LPSTR WINAPI StrChrA(_In_ LPCSTR, WORD)
HRESULT WINAPI SHCreateStreamOnFileA(_In_ LPCSTR, _In_ DWORD, _Outptr_ struct IStream **)
HRESULT WINAPI SHGetThreadRef(_Outptr_ IUnknown **)
VOID WINAPI PathRemoveBlanksW(_Inout_ LPWSTR)
@ URL_SCHEME_MSSHELLROOTED
@ URL_SCHEME_MSSHELLIDLIST
@ URL_SCHEME_MSSHELLDEVICE
LPSTR WINAPI PathFindNextComponentA(_In_ LPCSTR)
LPWSTR WINAPI StrStrW(_In_ LPCWSTR pszFirst, _In_ LPCWSTR pszSrch)
HANDLE WINAPI SHAllocShared(_In_opt_ const void *pvData, _In_ DWORD dwSize, _In_ DWORD dwDestinationProcessId)
int WINAPI PathCommonPrefixA(_In_ LPCSTR, _In_ LPCSTR, _Out_writes_opt_(MAX_PATH) LPSTR)
BOOL WINAPI SHFreeShared(_In_ HANDLE hData, _In_ DWORD dwProcessId)
LPWSTR WINAPI StrRChrIW(_In_ LPCWSTR, _In_opt_ LPCWSTR, WCHAR)
BOOL WINAPI PathCompactPathA(_In_opt_ HDC, _Inout_updates_(MAX_PATH) LPSTR, _In_ UINT)
BOOL WINAPI StrToIntExW(_In_ LPCWSTR, DWORD, _Out_ int *)
HRESULT WINAPI IUnknown_QueryService(_In_opt_ IUnknown *punk, _In_ REFGUID guidService, _In_ REFIID riid, _Outptr_ void **ppvOut)
LPSTR WINAPI StrRChrA(_In_ LPCSTR, _In_opt_ LPCSTR, WORD)
BOOL WINAPI IntlStrEqWorkerW(BOOL, _In_reads_(nChar) LPCWSTR, _In_reads_(nChar) LPCWSTR, int nChar)
BOOL WINAPI StrToInt64ExW(_In_ LPCWSTR, DWORD, _Out_ LONGLONG *)
LONG WINAPI SHEnumValueA(_In_ HKEY, _In_ DWORD, _Out_writes_opt_(*pcchValueName) LPSTR, _Inout_opt_ LPDWORD pcchValueName, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
BOOL WINAPI IsInternetESCEnabled(void)
BOOL WINAPI PathRelativePathToW(_Out_writes_(MAX_PATH) LPWSTR, _In_ LPCWSTR, _In_ DWORD, _In_ LPCWSTR, _In_ DWORD)
LONG WINAPI SHRegEnumUSKeyW(_In_ HUSKEY, _In_ DWORD, _Out_writes_to_(*pcchName, *pcchName) LPWSTR, _Inout_ LPDWORD pcchName, _In_ SHREGENUM_FLAGS)
HRESULT WINAPI IUnknown_SetSite(_In_ IUnknown *punk, _In_opt_ IUnknown *punkSite)
INT WINAPI StrCmpNA(_In_ LPCSTR, _In_ LPCSTR, INT)
LONG WINAPI SHRegCreateUSKeyW(_In_ LPCWSTR, _In_ REGSAM, _In_opt_ HUSKEY, _Out_ PHUSKEY, _In_ DWORD)
HPALETTE WINAPI SHCreateShellPalette(_In_opt_ HDC)
BOOL WINAPI PathIsSystemFolderA(_In_opt_ LPCSTR, _In_ DWORD)
struct IStream *WINAPI SHCreateMemStream(_In_reads_bytes_opt_(cbInit) const BYTE *pInit, _In_ UINT cbInit)
DWORD WINAPI SHSetValueA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD, _In_reads_bytes_opt_(cbData) LPCVOID, _In_ DWORD cbData)
BOOL WINAPI PathMakeSystemFolderA(_In_ LPCSTR)
BOOL WINAPI PathFileExistsA(_In_ LPCSTR pszPath)
BOOL WINAPI PathIsDirectoryEmptyA(_In_ LPCSTR)
LONG WINAPI SHEnumKeyExW(_In_ HKEY, _In_ DWORD, _Out_writes_(*pcchName) LPWSTR, _Inout_ LPDWORD pcchName)
LPWSTR WINAPI StrRStrIW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ LPCWSTR)
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG, _Out_writes_(cchBuf) LPWSTR, UINT cchBuf)
LPWSTR WINAPI StrChrIW(_In_ LPCWSTR, WCHAR)
HRESULT WINAPI AssocQueryStringA(_In_ ASSOCF, _In_ ASSOCSTR, _In_ LPCSTR, _In_opt_ LPCSTR, _Out_writes_opt_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut)
VOID WINAPI PathQuoteSpacesW(_Inout_updates_(MAX_PATH) LPWSTR)
LPWSTR WINAPI StrStrIW(_In_ LPCWSTR pszFirst, _In_ LPCWSTR pszSrch)
HRESULT WINAPI SHAutoComplete(_In_ HWND, DWORD)
BOOL WINAPI UrlIsW(_In_ LPCWSTR, URLIS)
int WINAPI StrSpnA(_In_ LPCSTR psz, _In_ LPCSTR pszSet)
BOOL WINAPI IntlStrEqWorkerA(BOOL, _In_reads_(nChar) LPCSTR, _In_reads_(nChar) LPCSTR, int nChar)
HRESULT WINAPI UrlEscapeW(_In_ LPCWSTR, _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPWSTR, _Inout_ LPDWORD pcchEscaped, DWORD)
LPSTR WINAPI PathFindExtensionA(_In_ LPCSTR pszPath)
VOID WINAPI PathRemoveExtensionA(_Inout_ LPSTR)
LPSTR WINAPI StrFormatKBSizeA(LONGLONG, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
BOOL WINAPI PathIsNetworkPathA(_In_ LPCSTR)
int WINAPI StrToIntA(_In_ LPCSTR)
HRESULT WINAPI SHCreateStreamWrapper(LPBYTE, DWORD, DWORD, struct IStream **)
@ ASSOCSTR_SHELLEXTENSION
@ ASSOCSTR_DDEAPPLICATION
@ ASSOCSTR_FRIENDLYDOCNAME
@ ASSOCSTR_FRIENDLYAPPNAME
LONG WINAPI SHRegDeleteUSValueA(_In_ HUSKEY, _In_ LPCSTR, _In_ SHREGDEL_FLAGS)
BOOL WINAPI PathMakeSystemFolderW(_In_ LPCWSTR)
LONG WINAPI SHRegSetUSValueW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD, _In_reads_bytes_opt_(cbData) LPVOID, _In_opt_ DWORD cbData, _In_opt_ DWORD)
BOOL WINAPI StrIsIntlEqualW(BOOL, _In_ LPCWSTR, _In_ LPCWSTR, int)
LPCSTR WINAPI UrlGetLocationA(_In_ LPCSTR)
INT WINAPIV wnsprintfW(_Out_writes_(cchDest) LPWSTR, _In_ INT cchDest, _In_ _Printf_format_string_ LPCWSTR,...)
VOID WINAPI PathStripPathA(_Inout_ LPSTR)
VOID WINAPI PathUndecorateW(_Inout_ LPWSTR)
BOOL WINAPI PathIsRelativeW(_In_ LPCWSTR)
BOOL WINAPI PathIsURLA(_In_ LPCSTR)
BOOL WINAPI PathIsRelativeA(_In_ LPCSTR)
BOOL WINAPI SHCreateThread(_In_ LPTHREAD_START_ROUTINE pfnThreadProc, _In_opt_ void *pData, _In_ DWORD flags, _In_opt_ LPTHREAD_START_ROUTINE pfnCallback)
INT WINAPIV wnsprintfA(_Out_writes_(cchDest) LPSTR, _In_ INT cchDest, _In_ _Printf_format_string_ LPCSTR,...)
int WINAPI StrFromTimeIntervalA(_Out_writes_(cchMax) LPSTR, UINT cchMax, DWORD, int)
DWORD WINAPI SHDeleteKeyW(_In_ HKEY, _In_opt_ LPCWSTR)
LPWSTR WINAPI StrStrNW(_In_ LPCWSTR, _In_ LPCWSTR, UINT)
HRESULT WINAPI StrRetToBufA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
BOOL WINAPI PathCompactPathExA(_Out_writes_(cchMax) LPSTR, _In_ LPCSTR, _In_ UINT cchMax, _In_ DWORD)
INT WINAPI StrCmpNIW(_In_ LPCWSTR, _In_ LPCWSTR, INT)
LPSTR WINAPI StrDupA(_In_ LPCSTR)
BOOL WINAPI PathMatchSpecA(_In_ LPCSTR, _In_ LPCSTR)
LPSTR WINAPI PathFindFileNameA(_In_ LPCSTR pszPath)
INT WINAPI StrCmpLogicalW(_In_ LPCWSTR, _In_ LPCWSTR)
PVOID WINAPI SHLockShared(_In_ HANDLE hData, _In_ DWORD dwProcessId)
LPSTR WINAPI StrFormatByteSizeA(DWORD, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
HRESULT WINAPI QISearch(_Inout_ void *base, _In_ const QITAB *pqit, _In_ REFIID riid, _Outptr_ void **ppv)
BOOL WINAPI StrIsIntlEqualA(BOOL, _In_ LPCSTR, _In_ LPCSTR, int)
LPSTR WINAPI StrNCatA(_Inout_updates_(cchMax) LPSTR, LPCSTR, int cchMax)
BOOL WINAPI PathIsFileSpecW(_In_ LPCWSTR)
void WINAPI IUnknown_AtomicRelease(_Inout_opt_ IUnknown **punk)
BOOL WINAPI PathIsUNCServerA(_In_ LPCSTR)
HRESULT WINAPI PathCreateFromUrlA(_In_ LPCSTR, _Out_writes_to_(*pcchPath, *pcchPath) LPSTR, _Inout_ LPDWORD pcchPath, DWORD)
HRESULT WINAPI UrlApplySchemeW(_In_ LPCWSTR, _Out_writes_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut, DWORD)
BOOL WINAPI PathSearchAndQualifyA(_In_ LPCSTR, _Out_writes_(cchBuf) LPSTR, _In_ UINT cchBuf)
struct tagPARSEDURLW * PPARSEDURLW
int WINAPI PathCommonPrefixW(_In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_opt_(MAX_PATH) LPWSTR)
BOOL WINAPI UrlIsOpaqueA(_In_ LPCSTR)
LONG WINAPI SHRegSetUSValueA(_In_ LPCSTR, _In_ LPCSTR, _In_ DWORD, _In_reads_bytes_opt_(cbData) LPVOID, _In_opt_ DWORD cbData, _In_opt_ DWORD)
HRESULT WINAPI StrRetToBufW(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Out_writes_(cchBuf) LPWSTR, UINT cchBuf)
VOID WINAPI PathRemoveExtensionW(_Inout_ LPWSTR)
LONG WINAPI SHRegCreateUSKeyA(_In_ LPCSTR, _In_ REGSAM, _In_opt_ HUSKEY, _Out_ PHUSKEY, _In_ DWORD)
LPSTR WINAPI StrCatBuffA(_Inout_updates_(cchDestBuffSize) LPSTR, _In_ LPCSTR, INT cchDestBuffSize)
INT WINAPI StrCmpNW(_In_ LPCWSTR, _In_ LPCWSTR, INT)
HRESULT WINAPI UrlCreateFromPathA(_In_ LPCSTR, _Out_writes_to_(*pcchUrl, *pcchUrl) LPSTR, _Inout_ LPDWORD pcchUrl, DWORD)
BOOL WINAPI ChrCmpIA(WORD, WORD)
void WINAPI IUnknown_Set(_Inout_ IUnknown **ppunk, _In_opt_ IUnknown *punk)
BOOL WINAPI PathFindOnPathW(_Inout_updates_(MAX_PATH) LPWSTR, _In_opt_ LPCWSTR *)
BOOL WINAPI IsCharSpaceA(CHAR)
DWORD WINAPI SHRegSetPathW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD)
BOOL WINAPI PathStripToRootW(_Inout_ LPWSTR)
@ ASSOCF_INIT_FIXED_PROGID
@ ASSOCF_INIT_DEFAULTTOSTAR
@ ASSOCF_INIT_DEFAULTTOFOLDER
@ ASSOCF_INIT_NOREMAPCLSID
@ ASSOCF_INIT_IGNOREUNKNOWN
INT WINAPI wvnsprintfW(_Out_writes_(cchDest) LPWSTR, _In_ INT cchDest, _In_ _Printf_format_string_ LPCWSTR, _In_ __ms_va_list)
@ ASSOCKEY_SHELLEXECCLASS
LPSTR WINAPI StrPBrkA(_In_ LPCSTR, _In_ LPCSTR)
LPSTR WINAPI StrStrA(_In_ LPCSTR pszFirst, _In_ LPCSTR pszSrch)
DWORD WINAPI SHSetValueW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD, _In_reads_bytes_opt_(cbData) LPCVOID, _In_ DWORD cbData)
LWSTDAPI IStream_Reset(_In_ struct IStream *)
LPWSTR WINAPI StrCpyW(_Out_ LPWSTR, _In_ LPCWSTR)
HRESULT WINAPI SHLoadIndirectString(_In_ LPCWSTR, _Out_writes_(cchOutBuf) LPWSTR, _In_ UINT cchOutBuf, _Reserved_ PVOID *)
VOID WINAPI PathSetDlgItemPathW(_In_ HWND, int, LPCWSTR)
int WINAPI StrCmpW(_In_ LPCWSTR, _In_ LPCWSTR)
INT WINAPI UrlCompareA(_In_ LPCSTR, _In_ LPCSTR, BOOL)
LPSTR WINAPI StrChrIA(_In_ LPCSTR, WORD)
LPWSTR WINAPI PathGetArgsW(_In_ LPCWSTR pszPath)
LPWSTR WINAPI StrDupW(_In_ LPCWSTR)
BOOL WINAPI PathCompactPathW(_In_opt_ HDC, _Inout_updates_(MAX_PATH) LPWSTR, _In_ UINT)
HRESULT WINAPI SHCreateStreamOnFileW(_In_ LPCWSTR, _In_ DWORD, _Outptr_ struct IStream **)
HRESULT WINAPI AssocQueryStringW(_In_ ASSOCF, _In_ ASSOCSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_writes_opt_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut)
INT WINAPI StrCmpNIA(_In_ LPCSTR, _In_ LPCSTR, INT)
LSTATUS WINAPI SHRegGetValueA(_In_ HKEY hkey, _In_opt_ LPCSTR pszSubKey, _In_opt_ LPCSTR pszValue, _In_ SRRF srrfFlags, _Out_opt_ LPDWORD pdwType, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID pvData, _Inout_opt_ LPDWORD pcbData)
BOOL WINAPI PathUnmakeSystemFolderW(_In_ LPCWSTR)
BOOL WINAPI SHUnlockShared(_In_ void *pvData)
BOOL WINAPI SHRegGetBoolUSValueA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_ BOOL, _In_ BOOL)
LONG WINAPI SHQueryInfoKeyA(_In_ HKEY, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD)
int WINAPI PathGetDriveNumberW(_In_ LPCWSTR)
BOOL WINAPI AssocIsDangerous(_In_ LPCWSTR)
HRESULT WINAPI AssocQueryStringByKeyA(_In_ ASSOCF, _In_ ASSOCSTR, _In_ HKEY, _In_opt_ LPCSTR, _Out_writes_opt_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut)
HRESULT WINAPI IUnknown_GetSite(_In_ IUnknown *punk, _In_ REFIID riid, _Outptr_ void **ppv)
LONG WINAPI SHRegEnumUSValueA(_In_ HUSKEY, _In_ DWORD, _Out_writes_to_(*pcchValueName, *pcchValueName) LPSTR, _Inout_ LPDWORD pcchValueName, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ SHREGENUM_FLAGS)
LPWSTR WINAPI PathFindNextComponentW(_In_ LPCWSTR)
int WINAPI StrFromTimeIntervalW(_Out_writes_(cchMax) LPWSTR, UINT cchMax, DWORD, int)
struct IStream *WINAPI SHOpenRegStream2A(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD)
BOOL WINAPI PathFileExistsAndAttributesA(LPCSTR lpszPath, DWORD *dwAttr)
DWORD WINAPI SHDeleteValueA(_In_ HKEY, _In_opt_ LPCSTR, _In_ LPCSTR)
BOOL WINAPI PathIsRootW(_In_ LPCWSTR)
BOOL WINAPI PathRelativePathToA(_Out_writes_(MAX_PATH) LPSTR, _In_ LPCSTR, _In_ DWORD, _In_ LPCSTR, _In_ DWORD)
LPSTR WINAPI StrStrIA(_In_ LPCSTR pszFirst, _In_ LPCSTR pszSrch)
HRESULT WINAPI HashData(_In_reads_bytes_(cbData) const unsigned char *, DWORD cbData, _Out_writes_bytes_(cbHash) unsigned char *lpDest, DWORD cbHash)
DWORD WINAPI SHCopyKeyA(_In_ HKEY, _In_opt_ LPCSTR, _In_ HKEY, _Reserved_ DWORD)
DWORD WINAPI StrCatChainW(_Out_writes_(cchDst) LPWSTR, DWORD cchDst, DWORD, _In_ LPCWSTR)
INT WINAPI GetMenuPosFromID(_In_ HMENU hMenu, _In_ UINT uID)
LPSTR WINAPI StrFormatByteSize64A(LONGLONG, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
BOOL WINAPI StrToInt64ExA(_In_ LPCSTR, DWORD, _Out_ LONGLONG *)
HRESULT WINAPI AssocQueryStringByKeyW(_In_ ASSOCF, _In_ ASSOCSTR, _In_ HKEY, _In_opt_ LPCWSTR, _Out_writes_opt_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut)
DWORD WINAPI SHRegGetPathA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _Out_writes_(MAX_PATH) LPSTR, _In_ DWORD)
BOOL WINAPI PathIsSameRootA(_In_ LPCSTR, _In_ LPCSTR)
struct IStream *WINAPI SHOpenRegStream2W(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD)
BOOL WINAPI PathIsURLW(_In_ LPCWSTR)
BOOL WINAPI PathUnExpandEnvStringsW(_In_ LPCWSTR, _Out_writes_(cchBuf) LPWSTR, _In_ UINT cchBuf)
BOOL WINAPI PathUnmakeSystemFolderA(_In_ LPCSTR)
HRESULT WINAPI SHCreateThreadRef(_Inout_ LONG *, _Outptr_ IUnknown **)
HRESULT WINAPI UrlCombineW(_In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPWSTR, _Inout_ LPDWORD pcchCombined, DWORD)
VOID WINAPI ColorRGBToHLS(COLORREF, _Out_ LPWORD, _Out_ LPWORD, _Out_ LPWORD)
LPCWSTR WINAPI PathFindSuffixArrayW(_In_ LPCWSTR, _In_reads_(iArraySize) LPCWSTR *, int iArraySize)
HRESULT WINAPI StrRetToBSTR(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ BSTR *)
HKEY WINAPI SHRegDuplicateHKey(_In_ HKEY)
VOID WINAPI PathUnquoteSpacesW(_Inout_ LPWSTR)
BOOL WINAPI SHRegGetBoolUSValueW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ BOOL, _In_ BOOL)
BOOL WINAPI PathIsUNCA(_In_ LPCSTR)
HRESULT WINAPI AssocQueryKeyW(_In_ ASSOCF, _In_ ASSOCKEY, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_ PHKEY)
DWORD WINAPI SHDeleteOrphanKeyW(HKEY, LPCWSTR)
BOOL WINAPI PathMatchSpecW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI PathMakePrettyW(_Inout_ LPWSTR)
LPWSTR WINAPI StrStrNIW(_In_ LPCWSTR, _In_ LPCWSTR, UINT)
LPWSTR WINAPI StrChrW(_In_ LPCWSTR, WCHAR)
LPWSTR WINAPI StrRChrW(_In_ LPCWSTR, _In_opt_ LPCWSTR, WCHAR)
VOID WINAPI PathRemoveArgsA(_Inout_ LPSTR)
int WINAPI StrToIntW(_In_ LPCWSTR)
int WINAPI StrCmpIW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI UrlIsNoHistoryW(_In_ LPCWSTR)
struct IQueryAssociations * LPQUERYASSOCIATIONS
HRESULT WINAPI UrlHashA(_In_ LPCSTR, _Out_writes_bytes_(cbHash) unsigned char *, DWORD cbHash)
struct tagPARSEDURLA PARSEDURLA
LPWSTR WINAPI StrCpyNW(_Out_writes_(cchMax) LPWSTR, _In_ LPCWSTR, int cchMax)
VOID WINAPI PathRemoveBlanksA(_Inout_ LPSTR)
BOOL WINAPI PathStripToRootA(_Inout_ LPSTR)
struct IStream *WINAPI SHOpenRegStreamW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD)
BOOL WINAPI PathSearchAndQualifyW(_In_ LPCWSTR, _Out_writes_(cchBuf) LPWSTR, _In_ UINT cchBuf)
struct tagPARSEDURLW PARSEDURLW
HRESULT WINAPI AssocQueryKeyA(_In_ ASSOCF, _In_ ASSOCKEY, _In_ LPCSTR, _In_opt_ LPCSTR, _Out_ PHKEY)
LPWSTR WINAPI PathRemoveBackslashW(_Inout_ LPWSTR)
COLORREF WINAPI ColorHLSToRGB(WORD, WORD, WORD)
BOOL WINAPI PathIsSystemFolderW(_In_opt_ LPCWSTR, _In_ DWORD)
HRESULT WINAPI UrlCreateFromPathW(_In_ LPCWSTR, _Out_writes_to_(*pcchUrl, *pcchUrl) LPWSTR, _Inout_ LPDWORD pcchUrl, DWORD)
BOOL WINAPI PathMakePrettyA(_Inout_ LPSTR)
HRESULT WINAPI UrlGetPartA(_In_ LPCSTR, _Out_writes_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut, DWORD, DWORD)
HRESULT WINAPI PathCreateFromUrlW(_In_ LPCWSTR pszUrl, _Out_writes_to_(*pcchPath, *pcchPath) LPWSTR pszPath, _Inout_ LPDWORD pcchPath, DWORD dwFlags)
@ FTA_AlwaysUseDirectInvoke
BOOL WINAPI PathIsRootA(_In_ LPCSTR)
HRESULT WINAPI UrlCanonicalizeW(_In_ LPCWSTR, _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPWSTR, _Inout_ LPDWORD pcchCanonicalized, DWORD)
HRESULT(CALLBACK * DLLGETVERSIONPROC)(DLLVERSIONINFO *)
struct tagPARSEDURLA * PPARSEDURLA
BOOL WINAPI PathIsUNCServerShareW(_In_ LPCWSTR)
int WINAPI PathParseIconLocationA(_Inout_ LPSTR)
BOOL WINAPI StrToIntExA(_In_ LPCSTR, DWORD, _Out_ int *)
DWORD WINAPI SHGetValueW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _Out_opt_ LPDWORD, _Out_writes_bytes_opt_(*pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
LONG WINAPI SHRegGetUSValueA(_In_ LPCSTR, _In_opt_ LPCSTR, _Inout_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ BOOL, _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID, _In_ DWORD dwDefaultDataSize)
BOOL WINAPI PathCompactPathExW(_Out_writes_(cchMax) LPWSTR, _In_ LPCWSTR, _In_ UINT cchMax, _In_ DWORD)
INT WINAPI StrCSpnIW(_In_ LPCWSTR, _In_ LPCWSTR)
LONG WINAPI SHRegQueryInfoUSKeyW(_In_ HUSKEY, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _In_ SHREGENUM_FLAGS)
int WINAPI StrSpnW(_In_ LPCWSTR psz, _In_ LPCWSTR pszSet)
INT WINAPI wvnsprintfA(_Out_writes_(cchDest) LPSTR, _In_ INT cchDest, _In_ _Printf_format_string_ LPCSTR, _In_ __ms_va_list)
HRESULT WINAPI UrlGetPartW(_In_ LPCWSTR, _Out_writes_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut, DWORD, DWORD)
HRESULT WINAPI ParseURLW(_In_ LPCWSTR pszUrl, _Inout_ PARSEDURLW *ppu)
BOOL WINAPI PathIsUNCServerShareA(_In_ LPCSTR)
BOOL WINAPI PathIsUNCW(_In_ LPCWSTR)
DWORD WINAPI SHDeleteEmptyKeyW(_In_ HKEY, _In_opt_ LPCWSTR)
HRESULT WINAPI UrlUnescapeA(_Inout_ LPSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD)
BOOL WINAPI PathIsPrefixW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI PathIsDirectoryEmptyW(_In_ LPCWSTR)
HRESULT WINAPI UrlApplySchemeA(_In_ LPCSTR, _Out_writes_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut, DWORD)
BOOL WINAPI SHSkipJunction(_In_opt_ struct IBindCtx *, _In_ const CLSID *)
HRESULT WINAPI UrlEscapeA(_In_ LPCSTR, _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPSTR, _Inout_ LPDWORD pcchEscaped, DWORD)
HRESULT WINAPI IUnknown_GetWindow(_In_ IUnknown *punk, _Out_ HWND *phwnd)
BOOL WINAPI PathFileExistsW(_In_ LPCWSTR pszPath)
LPWSTR WINAPI StrPBrkW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI ChrCmpIW(WCHAR, WCHAR)
LPWSTR WINAPI StrNCatW(_Inout_updates_(cchMax) LPWSTR, LPCWSTR, int cchMax)
VOID WINAPI PathQuoteSpacesA(_Inout_updates_(MAX_PATH) LPSTR)
VOID WINAPI PathUnquoteSpacesA(_Inout_ LPSTR)
INT WINAPI StrCSpnW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI PathIsNetworkPathW(_In_ LPCWSTR)
HRESULT WINAPI StrRetToStrA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ LPSTR *)
LONG WINAPI SHRegQueryInfoUSKeyA(_In_ HUSKEY, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _In_ SHREGENUM_FLAGS)
LONG WINAPI SHRegEnumUSValueW(_In_ HUSKEY, _In_ DWORD, _Out_writes_to_(*pcchValueName, *pcchValueName) LPWSTR, _Inout_ LPDWORD pcchValueName, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ SHREGENUM_FLAGS)
DWORD WINAPI SHDeleteValueW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ LPCWSTR)
LONG WINAPI SHRegDeleteEmptyUSKeyA(_In_ HUSKEY, _In_ LPCSTR, _In_ SHREGDEL_FLAGS)
LPSTR WINAPI PathBuildRootA(_Out_writes_(4) LPSTR, int)
DWORD WINAPI SHRegSetPathA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ LPCSTR, _In_ DWORD)
LONG WINAPI SHRegEnumUSKeyA(_In_ HUSKEY, _In_ DWORD, _Out_writes_to_(*pcchName, *pcchName) LPSTR, _Inout_ LPDWORD pcchName, _In_ SHREGENUM_FLAGS)
UINT WINAPI PathGetCharTypeA(_In_ UCHAR ch)
INT WINAPI StrCSpnIA(_In_ LPCSTR, _In_ LPCSTR)
LPWSTR WINAPI PathFindFileNameW(_In_ LPCWSTR pszPath)
LONG WINAPI SHRegDeleteUSValueW(_In_ HUSKEY, _In_ LPCWSTR, _In_ SHREGDEL_FLAGS)
LONG WINAPI SHRegQueryUSValueW(_In_ HUSKEY, _In_opt_ LPCWSTR, _Inout_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ BOOL, _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID, _In_opt_ DWORD dwDefaultDataSize)
HRESULT WINAPI AssocCreate(_In_ CLSID, _In_ REFIID, _Outptr_ LPVOID *)
LPSTR WINAPI StrRStrIA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_ LPCSTR)
LONG WINAPI SHRegCloseUSKey(_In_ HUSKEY)
LPWSTR WINAPI PathSkipRootW(_In_ LPCWSTR)
BOOL WINAPI PathIsContentTypeW(_In_ LPCWSTR, _In_ LPCWSTR)
HRESULT WINAPI StrRetToStrW(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ LPWSTR *)
BOOL WINAPI PathFileExistsAndAttributesW(LPCWSTR lpszPath, DWORD *dwAttr)
int WINAPI PathGetDriveNumberA(_In_ LPCSTR)
BOOL WINAPI UrlIsOpaqueW(_In_ LPCWSTR)
DWORD WINAPI SHDeleteEmptyKeyA(_In_ HKEY, _In_opt_ LPCSTR)
LONG WINAPI SHEnumKeyExA(_In_ HKEY, _In_ DWORD, _Out_writes_(*pcchName) LPSTR, _Inout_ LPDWORD pcchName)
BOOL WINAPI PathIsDirectoryA(_In_ LPCSTR)
BOOL WINAPI PathIsUNCServerW(_In_ LPCWSTR)
LPSTR WINAPI PathSkipRootA(_In_ LPCSTR)
HRESULT WINAPI ParseURLA(_In_ LPCSTR pszUrl, _Inout_ PARSEDURLA *ppu)
INT WINAPI StrCSpnA(_In_ LPCSTR, _In_ LPCSTR)
LPWSTR WINAPI PathFindExtensionW(_In_ LPCWSTR pszPath)
BOOL WINAPI IsCharSpaceW(WCHAR)
BOOL WINAPI StrTrimW(_Inout_ LPWSTR, _In_ LPCWSTR)
VOID WINAPI PathStripPathW(_Inout_ LPWSTR)
DWORD WINAPI SHQueryValueExW(_In_ HKEY, _In_opt_ LPCWSTR, _Reserved_ LPDWORD, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
LPWSTR WINAPI StrFormatKBSizeW(LONGLONG, _Out_writes_(cchBuf) LPWSTR, UINT cchBuf)
BOOL WINAPI UrlIsNoHistoryA(_In_ LPCSTR)
DWORD WINAPI SHDeleteOrphanKeyA(HKEY, LPCSTR)
BOOL WINAPI PathIsLFNFileSpecA(_In_ LPCSTR)
UINT WINAPI PathGetCharTypeW(_In_ WCHAR ch)
LPWSTR WINAPI PathBuildRootW(_Out_writes_(4) LPWSTR, int)
DWORD WINAPI SHQueryValueExA(_In_ HKEY, _In_opt_ LPCSTR, _Reserved_ LPDWORD, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
LPWSTR WINAPI StrCatBuffW(_Inout_updates_(cchDestBuffSize) LPWSTR, _In_ LPCWSTR, INT cchDestBuffSize)
DWORD WINAPI SHGetValueA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _Out_opt_ LPDWORD, _Out_writes_bytes_opt_(*pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
BOOL WINAPI PathUnExpandEnvStringsA(_In_ LPCSTR, _Out_writes_(cchBuf) LPSTR, _In_ UINT cchBuf)
HRESULT WINAPI SHStrDupW(_In_ LPCWSTR psz, _Outptr_ WCHAR **ppwsz)
struct IStream *WINAPI SHOpenRegStreamA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD)
INT WINAPI UrlCompareW(_In_ LPCWSTR, _In_ LPCWSTR, BOOL)
struct _DllVersionInfo DLLVERSIONINFO
LONG WINAPI SHRegOpenUSKeyA(_In_ LPCSTR, _In_ REGSAM, _In_opt_ HUSKEY, _Out_ PHUSKEY, _In_ BOOL)
LONG WINAPI SHRegWriteUSValueA(_In_ HUSKEY, _In_ LPCSTR, _In_ DWORD, _In_reads_bytes_(cbData) LPVOID, _In_ DWORD cbData, _In_ DWORD)
DWORD WINAPI SHRegGetPathW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _Out_writes_(MAX_PATH) LPWSTR, _In_ DWORD)
DWORD WINAPI SHDeleteKeyA(_In_ HKEY, _In_opt_ LPCSTR)
BOOL WINAPI PathIsLFNFileSpecW(_In_ LPCWSTR)
HRESULT WINAPI SHStrDupA(_In_ LPCSTR psz, _Outptr_ WCHAR **ppwsz)
VOID WINAPI PathRemoveArgsW(_Inout_ LPWSTR)
HRESULT WINAPI UrlUnescapeW(_Inout_ LPWSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPWSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD)
HRESULT WINAPI PathCreateFromUrlAlloc(_In_ LPCWSTR pszUrl, _Outptr_ LPWSTR *pszPath, DWORD dwReserved)
int WINAPI PathParseIconLocationW(_Inout_ LPWSTR)
HRESULT WINAPI UrlCanonicalizeA(_In_ LPCSTR, _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPSTR, _Inout_ LPDWORD pcchCanonicalized, DWORD)
HRESULT WINAPI UrlCombineA(_In_ LPCSTR, _In_ LPCSTR, _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPSTR, _Inout_ LPDWORD pcchCombined, DWORD)
BOOL WINAPI PathIsFileSpecA(_In_ LPCSTR)
VOID WINAPI PathSetDlgItemPathA(_In_ HWND, int, LPCSTR)
BOOL WINAPI PathIsDirectoryW(_In_ LPCWSTR)
BOOL WINAPI PathIsSameRootW(_In_ LPCWSTR, _In_ LPCWSTR)
LPSTR WINAPI PathGetArgsA(_In_ LPCSTR pszPath)
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
ULONGLONG DECLSPEC_ALIGN(8) ullVersion
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
DWORD(WINAPI * LPTHREAD_START_ROUTINE)(LPVOID)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
_In_ ULONG _In_opt_ PVOID pvData