21#ifndef __WINE_SHLWAPI_H
22#define __WINE_SHLWAPI_H
36#define WINSHLWAPI DECLSPEC_IMPORT
42#ifndef NO_SHLWAPI_HTTP
46#define GetAcceptLanguages WINELIB_NAME_AW(GetAcceptLanguages)
52# define __MSABI_LONG(x) x ## l
61#define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
65#define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
69#define SHDeleteValue WINELIB_NAME_AW(SHDeleteValue)
73#define SHGetValue WINELIB_NAME_AW(SHGetValue)
77#define SHSetValue WINELIB_NAME_AW(SHSetValue)
81#define SHQueryValueEx WINELIB_NAME_AW(SHQueryValueEx)
85#define SHEnumKeyEx WINELIB_NAME_AW(SHEnumKeyEx)
89#define SHEnumValue WINELIB_NAME_AW(SHEnumValue)
93#define SHQueryInfoKey WINELIB_NAME_AW(SHQueryInfoKey)
97#define SHRegGetPath WINELIB_NAME_AW(SHRegGetPath)
101#define SHRegSetPath WINELIB_NAME_AW(SHRegSetPath)
105#define SHCopyKey WINELIB_NAME_AW(SHCopyKey)
112#define SRRF_RT_REG_NONE 0x1
113#define SRRF_RT_REG_SZ 0x2
114#define SRRF_RT_REG_EXPAND_SZ 0x4
115#define SRRF_RT_REG_BINARY 0x8
116#define SRRF_RT_REG_DWORD 0x10
117#define SRRF_RT_REG_MULTI_SZ 0x20
118#define SRRF_RT_REG_QWORD 0x40
120#define SRRF_RT_DWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_DWORD)
121#define SRRF_RT_QWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_QWORD)
122#define SRRF_RT_ANY 0xffff
125#define SRRF_RM_NORMAL 0x10000
126#define SRRF_RM_SAFE 0x20000
127#define SRRF_RM_SAFENETWORK 0x40000
129#define SRRF_NOEXPAND 0x10000000
130#define SRRF_ZEROONFAILURE 0x20000000
131#define SRRF_NOVIRT 0x40000000
135#define SHRegGetValue WINELIB_NAME_AW(SHRegGetValue)
141#define SHDeleteOrphanKey WINELIB_NAME_AW(SHDeleteOrphanKey)
162#define SHREGSET_HKCU 0x1
163#define SHREGSET_FORCE_HKCU 0x2
164#define SHREGSET_HKLM 0x4
165#define SHREGSET_FORCE_HKLM 0x8
166#define SHREGSET_DEFAULT (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)
173#define SHRegCreateUSKey WINELIB_NAME_AW(SHRegCreateUSKey)
177#define SHRegOpenUSKey WINELIB_NAME_AW(SHRegOpenUSKey)
183#define SHRegQueryUSValue WINELIB_NAME_AW(SHRegQueryUSValue)
187#define SHRegWriteUSValue WINELIB_NAME_AW(SHRegWriteUSValue)
191#define SHRegDeleteUSValue WINELIB_NAME_AW(SHRegDeleteUSValue)
195#define SHRegDeleteEmptyUSKey WINELIB_NAME_AW(SHRegDeleteEmptyUSKey)
199#define SHRegEnumUSKey WINELIB_NAME_AW(SHRegEnumUSKey)
205#define SHRegEnumUSValue WINELIB_NAME_AW(SHRegEnumUSValue)
211#define SHRegQueryInfoUSKey WINELIB_NAME_AW(SHRegQueryInfoUSKey)
219#define SHRegGetUSValue WINELIB_NAME_AW(SHRegGetUSValue)
223#define SHRegSetUSValue WINELIB_NAME_AW(SHRegSetUSValue)
227#define SHRegGetBoolUSValue WINELIB_NAME_AW(SHRegGetBoolUSValue)
302#define INTERFACE IQueryAssociations
318#if !defined(__cplusplus) || defined(CINTERFACE)
319#define IQueryAssociations_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
320#define IQueryAssociations_AddRef(p) (p)->lpVtbl->AddRef(p)
321#define IQueryAssociations_Release(p) (p)->lpVtbl->Release(p)
322#define IQueryAssociations_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
323#define IQueryAssociations_GetString(p,a,b,c,d,e) (p)->lpVtbl->GetString(p,a,b,c,d,e)
324#define IQueryAssociations_GetKey(p,a,b,c,d) (p)->lpVtbl->GetKey(p,a,b,c,d)
325#define IQueryAssociations_GetData(p,a,b,c,d,e) (p)->lpVtbl->GetData(p,a,b,c,d,e)
326#define IQueryAssociations_GetEnum(p,a,b,c,d,e) (p)->lpVtbl->GetEnum(p,a,b,c,d,e)
333#define AssocQueryString WINELIB_NAME_AW(AssocQueryString)
337#define AssocQueryStringByKey WINELIB_NAME_AW(AssocQueryStringByKey)
341#define AssocQueryKey WINELIB_NAME_AW(AssocQueryKey)
355#ifndef NO_SHLWAPI_PATH
358#define GCT_INVALID 0x0
359#define GCT_LFNCHAR 0x1
360#define GCT_SHORTCHAR 0x2
362#define GCT_SEPARATOR 0x8
366#define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
370#define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
374#define PathAppend WINELIB_NAME_AW(PathAppend)
378#define PathBuildRoot WINELIB_NAME_AW(PathBuiltRoot)
382#define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
386#define PathCombine WINELIB_NAME_AW(PathCombine)
390#define PathCompactPath WINELIB_NAME_AW(PathCompactPath)
394#define PathCompactPathEx WINELIB_NAME_AW(PathCompactPathEx)
398#define PathCommonPrefix WINELIB_NAME_AW(PathCommonPrefix)
402#define PathCreateFromUrl WINELIB_NAME_AW(PathCreateFromUrl)
408#define PathFileExists WINELIB_NAME_AW(PathFileExists)
412#define PathFileExistsAndAttributes WINELIB_NAME_AW(PathFileExistsAndAttributes)
416#define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
420#define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
424#define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
428#define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
432#define PathGetArgs WINELIB_NAME_AW(PathGetArgs)
436#define PathGetCharType WINELIB_NAME_AW(PathGetCharType)
440#define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
444#define PathIsDirectory WINELIB_NAME_AW(PathIsDirectory)
448#define PathIsDirectoryEmpty WINELIB_NAME_AW(PathIsDirectoryEmpty)
452#define PathIsFileSpec WINELIB_NAME_AW(PathIsFileSpec)
456#define PathIsPrefix WINELIB_NAME_AW(PathIsPrefix)
460#define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
464#define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
468#define PathIsSameRoot WINELIB_NAME_AW(PathIsSameRoot)
472#define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
476#define PathIsUNCServer WINELIB_NAME_AW(PathIsUNCServer)
480#define PathIsUNCServerShare WINELIB_NAME_AW(PathIsUNCServerShare)
484#define PathIsContentType WINELIB_NAME_AW(PathIsContentType)
488#define PathIsURL WINELIB_NAME_AW(PathIsURL)
492#define PathMakePretty WINELIB_NAME_AW(PathMakePretty)
496#define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
498#define PMSF_NORMAL 0x00000000
499#define PMSF_MULTIPLE 0x00000001
500#define PMSF_DONT_STRIP_SPACES 0x00010000
504#define PathMatchSpecEx WINELIB_NAME_AW(PathMatchSpecEx)
508#define PathParseIconLocation WINELIB_NAME_AW(PathParseIconLocation)
512#define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
516#define PathRelativePathTo WINELIB_NAME_AW(PathRelativePathTo)
520#define PathRemoveArgs WINELIB_NAME_AW(PathRemoveArgs)
524#define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
528#define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
532#define PathRemoveExtension WINELIB_NAME_AW(PathRemoveExtension)
536#define PathRemoveFileSpec WINELIB_NAME_AW(PathRemoveFileSpec)
540#define PathRenameExtension WINELIB_NAME_AW(PathRenameExtension)
544#define PathSearchAndQualify WINELIB_NAME_AW(PathSearchAndQualify)
548#define PathSetDlgItemPath WINELIB_NAME_AW(PathSetDlgItemPath)
552#define PathSkipRoot WINELIB_NAME_AW(PathSkipRoot)
556#define PathStripPath WINELIB_NAME_AW(PathStripPath)
560#define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
564#define PathUnquoteSpaces WINELIB_NAME_AW(PathUnquoteSpaces)
568#define PathMakeSystemFolder WINELIB_NAME_AW(PathMakeSystemFolder)
572#define PathUnmakeSystemFolder WINELIB_NAME_AW(PathUnmakeSystemFolder)
576#define PathIsSystemFolder WINELIB_NAME_AW(PathIsSystemFolder)
580#define PathIsNetworkPath WINELIB_NAME_AW(PathIsNetworkPath)
584#define PathIsLFNFileSpec WINELIB_NAME_AW(PathIsLFNFileSpec)
588#define PathFindSuffixArray WINELIB_NAME_AW(PathFindSuffixArray)
592#define PathUndecorate WINELIB_NAME_AW(PathUndecorate)
596#define PathUnExpandEnvStrings WINELIB_NAME_AW(PathUnExpandEnvStrings)
642#define URL_PARTFLAG_KEEPSCHEME 0x00000001
656#define URL_APPLY_FORCEAPPLY 0x00000008
657#define URL_APPLY_GUESSFILE 0x00000004
658#define URL_APPLY_GUESSSCHEME 0x00000002
659#define URL_APPLY_DEFAULT 0x00000001
664#define URL_WININET_COMPATIBILITY 0x80000000
665#define URL_PLUGGABLE_PROTOCOL 0x40000000
666#define URL_ESCAPE_UNSAFE 0x20000000
667#define URL_UNESCAPE 0x10000000
669#define URL_DONT_SIMPLIFY 0x08000000
670#define URL_ESCAPE_SPACES_ONLY 0x04000000
671#define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
673#define URL_INTERNAL_PATH 0x00800000
674#define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
675#define URL_CONVERT_IF_DOSPATH 0x00200000
676#define URL_UNESCAPE_INPLACE 0x00100000
678#define URL_ESCAPE_ASCII_URI_COMPONENT 0x00080000
679#define URL_ESCAPE_AS_UTF8 0x00040000
680#define URL_DONT_UNESCAPE 0x00020000
681#define URL_FILE_USE_PATHURL 0x00010000
683#define URL_ESCAPE_SEGMENT_ONLY 0x00002000
684#define URL_ESCAPE_PERCENT 0x00001000
686#define URL_BROWSER_MODE URL_DONT_ESCAPE_EXTRA_INFO
687#define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO
688#define URL_ESCAPE_URI_COMPONENT (URL_ESCAPE_ASCII_URI_COMPONENT | URL_ESCAPE_AS_UTF8)
689#define URL_NO_META URL_DONT_SIMPLIFY
690#define URL_UNESCAPE_AS_UTF8 URL_ESCAPE_AS_UTF8
691#define URL_UNESCAPE_URI_COMPONENT URL_UNESCAPE_AS_UTF8
695#define UrlApplyScheme WINELIB_NAME_AW(UrlApplyScheme)
699#define UrlCanonicalize WINELIB_NAME_AW(UrlCanonicalize)
703#define UrlCombine WINELIB_NAME_AW(UrlCombine)
707#define UrlCompare WINELIB_NAME_AW(UrlCompare)
711#define UrlEscape WINELIB_NAME_AW(UrlEscape)
713#define UrlEscapeSpacesA(x,y,z) UrlCanonicalizeA(x, y, z, \
714 URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
715#define UrlEscapeSpacesW(x,y,z) UrlCanonicalizeW(x, y, z, \
716 URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
717#define UrlEscapeSpaces WINELIB_NAME_AW(UrlEscapeSpaces)
721#define UrlGetLocation WINELIB_NAME_AW(UrlGetLocation)
725#define UrlGetPart WINELIB_NAME_AW(UrlGetPart)
731#define UrlHash WINELIB_NAME_AW(UrlHash)
735#define UrlIs WINELIB_NAME_AW(UrlIs)
739#define UrlIsNoHistory WINELIB_NAME_AW(UrlIsNoHistory)
743#define UrlIsOpaque WINELIB_NAME_AW(UrlIsOpaque)
745#define UrlIsFileUrlA(x) UrlIsA(x, URLIS_FILEURL)
746#define UrlIsFileUrlW(x) UrlIsW(x, URLIS_FILEURL)
747#define UrlIsFileUrl WINELIB_NAME_AW(UrlIsFileUrl)
751#define UrlUnescape WINELIB_NAME_AW(UrlUnescape)
753#define UrlUnescapeInPlaceA(x,y) UrlUnescapeA(x, NULL, NULL, \
754 y | URL_UNESCAPE_INPLACE)
755#define UrlUnescapeInPlaceW(x,y) UrlUnescapeW(x, NULL, NULL, \
756 y | URL_UNESCAPE_INPLACE)
757#define UrlUnescapeInPlace WINELIB_NAME_AW(UrlUnescapeInPlace)
761#define UrlCreateFromPath WINELIB_NAME_AW(UrlCreateFromPath)
783#define ParseURL WINELIB_NAME_AW(ParseUrl)
789#ifndef NO_SHLWAPI_STRFCNS
792#define STIF_DEFAULT __MSABI_LONG(0x0)
793#define STIF_SUPPORT_HEX __MSABI_LONG(0x1)
797#define ChrCmpI WINELIB_NAME_AW(ChrCmpI)
801#define StrCSpn WINELIB_NAME_AW(StrCSpn)
805#define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
807#define StrCatA lstrcatA
809#define StrCat WINELIB_NAME_AW(StrCat)
813#define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
819#define StrChr WINELIB_NAME_AW(StrChr)
823#define StrChrI WINELIB_NAME_AW(StrChrI)
825#define StrCmpA lstrcmpA
827#define StrCmp WINELIB_NAME_AW(StrCmp)
829#define StrCmpIA lstrcmpiA
831#define StrCmpI WINELIB_NAME_AW(StrCmpI)
833#define StrCpyA lstrcpyA
835#define StrCpy WINELIB_NAME_AW(StrCpy)
837#define StrCpyNA lstrcpynA
839#define StrCpyN WINELIB_NAME_AW(StrCpyN)
840#define StrNCpy WINELIB_NAME_AW(StrCpyN)
846#define StrCmpN WINELIB_NAME_AW(StrCmpN)
847#define StrNCmp WINELIB_NAME_AW(StrCmpN)
851#define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
852#define StrNCmpI WINELIB_NAME_AW(StrCmpNI)
856#define StrDup WINELIB_NAME_AW(StrDup)
860#define SHStrDup WINELIB_NAME_AW(SHStrDup)
874#ifndef WINE_NO_UNICODE_MACROS
876#define StrFormatByteSize StrFormatByteSizeW
878#define StrFormatByteSize StrFormatByteSize64A
884#define StrFormatKBSize WINELIB_NAME_AW(StrFormatKBSize)
888#define StrFromTimeInterval WINELIB_NAME_AW(StrFromTimeInterval)
892#define StrIsIntlEqual WINELIB_NAME_AW(StrIsIntlEqual)
894#define StrIntlEqNA(a,b,c) StrIsIntlEqualA(TRUE,a,b,c)
895#define StrIntlEqNW(a,b,c) StrIsIntlEqualW(TRUE,a,b,c)
897#define StrIntlEqNIA(a,b,c) StrIsIntlEqualA(FALSE,a,b,c)
898#define StrIntlEqNIW(a,b,c) StrIsIntlEqualW(FALSE,a,b,c)
902#define StrNCat WINELIB_NAME_AW(StrNCat)
903#define StrCatN WINELIB_NAME_AW(StrNCat)
907#define StrPBrk WINELIB_NAME_AW(StrPBrk)
911#define StrRChr WINELIB_NAME_AW(StrRChr)
915#define StrRChrI WINELIB_NAME_AW(StrRChrI)
919#define StrRStrI WINELIB_NAME_AW(StrRStrI)
923#define StrSpn WINELIB_NAME_AW(StrSpn)
927#define StrStr WINELIB_NAME_AW(StrStr)
931#define StrStrI WINELIB_NAME_AW(StrStrI)
938#define StrToInt WINELIB_NAME_AW(StrToInt)
939#define StrToLong WINELIB_NAME_AW(StrToInt)
943#define StrToIntEx WINELIB_NAME_AW(StrToIntEx)
947#define StrToIntEx64 WINELIB_NAME_AW(StrToIntEx64)
951#define StrTrim WINELIB_NAME_AW(StrTrim)
956#define wvnsprintf WINELIB_NAME_AW(wvnsprintf)
961#define wnsprintf WINELIB_NAME_AW(wnsprintf)
967#define IntlStrEqWorker WINELIB_NAME_AW(IntlStrEqWorker)
969#define IntlStrEqNA(s1,s2,n) IntlStrEqWorkerA(TRUE,s1,s2,n)
970#define IntlStrEqNW(s1,s2,n) IntlStrEqWorkerW(TRUE,s1,s2,n)
971#define IntlStrEqN WINELIB_NAME_AW(IntlStrEqN)
973#define IntlStrEqNIA(s1,s2,n) IntlStrEqWorkerA(FALSE,s1,s2,n)
974#define IntlStrEqNIW(s1,s2,n) IntlStrEqWorkerW(FALSE,s1,s2,n)
975#define IntlStrEqNI WINELIB_NAME_AW(IntlStrEqNI)
979#define StrRetToStr WINELIB_NAME_AW(StrRetToStr)
983#define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
989#define IsCharSpace WINELIB_NAME_AW(IsCharSpace)
995#ifndef NO_SHLWAPI_GDI
1011#ifndef NO_SHLWAPI_STREAM
1015#define SHOpenRegStream WINELIB_NAME_AW(SHOpenRegStream2)
1019#define SHOpenRegStream2 WINELIB_NAME_AW(SHOpenRegStream2)
1023#define SHCreateStreamOnFile WINELIB_NAME_AW(SHCreateStreamOnFile)
1035#define SHACF_DEFAULT 0x00000000
1036#define SHACF_FILESYSTEM 0x00000001
1037#define SHACF_URLHISTORY 0x00000002
1038#define SHACF_URLMRU 0x00000004
1039#define SHACF_URLALL (SHACF_URLHISTORY|SHACF_URLMRU)
1040#define SHACF_USETAB 0x00000008
1041#define SHACF_FILESYS_ONLY 0x00000010
1042#define SHACF_FILESYS_DIRS 0x00000020
1043#define SHACF_AUTOSUGGEST_FORCE_ON 0x10000000
1044#define SHACF_AUTOSUGGEST_FORCE_OFF 0x20000000
1045#define SHACF_AUTOAPPEND_FORCE_ON 0x40000000
1046#define SHACF_AUTOAPPEND_FORCE_OFF 0x80000000
1090#define DLLVER_PLATFORM_WINDOWS 0x01
1091#define DLLVER_PLATFORM_NT 0x02
1106#define DLLVER_MAJOR_MASK 0xFFFF000000000000
1107#define DLLVER_MINOR_MASK 0x0000FFFF00000000
1108#define DLLVER_BUILD_MASK 0x00000000FFFF0000
1109#define DLLVER_QFE_MASK 0x000000000000FFFF
1111#define MAKEDLLVERULL(mjr, mnr, bld, qfe) (((ULONGLONG)(mjr)<< 48)| \
1112 ((ULONGLONG)(mnr)<< 32) | ((ULONGLONG)(bld)<< 16) | (ULONGLONG)(qfe))
1119#define OS_WIN32SORGREATER 0x00
1121#define OS_WIN95ORGREATER 0x02
1122#define OS_NT4ORGREATER 0x03
1123#define OS_WIN2000ORGREATER_ALT 0x04
1124#define OS_WIN98ORGREATER 0x05
1125#define OS_WIN98_GOLD 0x06
1126#define OS_WIN2000ORGREATER 0x07
1127#define OS_WIN2000PRO 0x08
1128#define OS_WIN2000SERVER 0x09
1129#define OS_WIN2000ADVSERVER 0x0A
1130#define OS_WIN2000DATACENTER 0x0B
1131#define OS_WIN2000TERMINAL 0x0C
1132#define OS_EMBEDDED 0x0D
1133#define OS_TERMINALCLIENT 0x0E
1134#define OS_TERMINALREMOTEADMIN 0x0F
1135#define OS_WIN95_GOLD 0x10
1136#define OS_MEORGREATER 0x11
1137#define OS_XPORGREATER 0x12
1139#define OS_PROFESSIONAL 0x14
1140#define OS_DATACENTER 0x15
1141#define OS_ADVSERVER 0x16
1142#define OS_SERVER 0x17
1143#define OS_TERMINALSERVER 0x18
1144#define OS_PERSONALTERMINALSERVER 0x19
1145#define OS_FASTUSERSWITCHING 0x1A
1146#define OS_WELCOMELOGONUI 0x1B
1147#define OS_DOMAINMEMBER 0x1C
1148#define OS_ANYSERVER 0x1D
1149#define OS_WOW6432 0x1E
1150#define OS_WEBSERVER 0x1F
1151#define OS_SMALLBUSINESSSERVER 0x20
1152#define OS_TABLETPC 0x21
1153#define OS_SERVERADMINUI 0x22
1154#define OS_MEDIACENTER 0x23
1155#define OS_APPLIANCE 0x24
1160#define TPS_EXECUTEIO 0x00000001
1161#define TPS_LONGEXECTIME 0x00000008
1164#define FDTF_SHORTTIME 0x00000001
1165#define FDTF_SHORTDATE 0x00000002
1166#define FDTF_DEFAULT (FDTF_SHORTDATE | FDTF_SHORTTIME)
1167#define FDTF_LONGDATE 0x00000004
1168#define FDTF_LONGTIME 0x00000008
1169#define FDTF_RELATIVE 0x00000010
1170#define FDTF_LTRDATE 0x00000100
1171#define FDTF_RTLDATE 0x00000200
1172#define FDTF_NOAUTOREADINGORDER 0x00000400
1185#define PLATFORM_UNKNOWN 0
1186#define PLATFORM_IE3 1
1187#define PLATFORM_BROWSERONLY 1
1188#define PLATFORM_INTEGRATED 2
1192#define SHGVSPB_PERUSER 0x00000001
1193#define SHGVSPB_ALLUSERS 0x00000002
1194#define SHGVSPB_PERFOLDER 0x00000004
1195#define SHGVSPB_ALLFOLDERS 0x00000008
1196#define SHGVSPB_INHERIT 0x00000010
1197#define SHGVSPB_ROAM 0x00000020
1198#define SHGVSPB_NOAUTODEFAULTS 0x80000000
1199#define SHGVSPB_FOLDER (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER)
1200#define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS)
1201#define SHGVSPB_USERDEFAULTS (SHGVSPB_PERUSER | SHGVSPB_ALLFOLDERS)
1202#define SHGVSPB_GLOBALDEFAULTS (SHGVSPB_ALLUSERS | SHGVSPB_ALLFOLDERS)
#define DECLARE_INTERFACE_(i, b)
STDAPI DllGetVersion(DLLVERSIONINFO *info)
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
INT WINAPI StrToIntW(LPCWSTR lpString)
BOOL WINAPI IntlStrEqWorkerA(BOOL bCase, LPCSTR lpszStr, LPCSTR lpszComp, int iLen)
LPWSTR WINAPI StrChrIW(LPCWSTR lpszStr, WCHAR ch)
LPSTR WINAPI StrRStrIA(LPCSTR lpszStr, LPCSTR lpszEnd, LPCSTR lpszSearch)
int WINAPI StrCSpnIA(LPCSTR lpszStr, LPCSTR lpszMatch)
int WINAPI StrCSpnW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
LPWSTR WINAPI StrChrW(LPCWSTR lpszStr, WCHAR ch)
LPWSTR WINAPI StrRChrW(LPCWSTR str, LPCWSTR end, WORD ch)
LPSTR WINAPI StrStrIA(LPCSTR lpszStr, LPCSTR lpszSearch)
LPSTR WINAPI StrRChrIA(LPCSTR lpszStr, LPCSTR lpszEnd, WORD ch)
INT WINAPI StrCmpNIA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
BOOL WINAPI IntlStrEqWorkerW(BOOL bCase, LPCWSTR lpszStr, LPCWSTR lpszComp, int iLen)
LPSTR WINAPI StrChrIA(LPCSTR lpszStr, WORD ch)
LPWSTR WINAPI StrRChrIW(LPCWSTR str, LPCWSTR end, WORD ch)
LPWSTR WINAPI StrStrW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
LPSTR WINAPI StrRChrA(LPCSTR lpszStr, LPCSTR lpszEnd, WORD ch)
INT WINAPI StrToIntA(LPCSTR lpszStr)
int WINAPI StrCSpnIW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
LPSTR WINAPI StrChrA(LPCSTR lpszStr, WORD ch)
INT WINAPI StrCmpNIW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
LPWSTR WINAPI StrStrIW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
int WINAPI StrCSpnA(LPCSTR lpszStr, LPCSTR lpszMatch)
INT WINAPI StrCmpNW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
LPSTR WINAPI StrStrA(LPCSTR lpszStr, LPCSTR lpszSearch)
LPWSTR WINAPI StrRStrIW(LPCWSTR lpszStr, LPCWSTR lpszEnd, LPCWSTR lpszSearch)
INT WINAPI StrCmpNA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceW(WCHAR wc)
BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceA(CHAR c)
int WINAPI PathCommonPrefixW(const WCHAR *file1, const WCHAR *file2, WCHAR *path)
BOOL WINAPI PathIsRootA(const char *path)
BOOL WINAPI PathMatchSpecA(const char *path, const char *mask)
BOOL WINAPI PathIsSameRootW(const WCHAR *path1, const WCHAR *path2)
void WINAPI PathRemoveExtensionW(WCHAR *path)
void WINAPI PathRemoveBlanksW(WCHAR *path)
BOOL WINAPI PathIsUNCW(const WCHAR *path)
const WCHAR *WINAPI UrlGetLocationW(const WCHAR *url)
LPSTR WINAPI PathFindExtensionA(const char *path)
INT WINAPI UrlCompareW(const WCHAR *url1, const WCHAR *url2, BOOL ignore_slash)
BOOL WINAPI PathIsPrefixA(const char *prefix, const char *path)
BOOL WINAPI IsInternetESCEnabled(void)
int WINAPI PathCommonPrefixA(const char *file1, const char *file2, char *path)
void WINAPI PathRemoveBlanksA(char *path)
void WINAPI PathUnquoteSpacesW(WCHAR *path)
int WINAPI PathGetDriveNumberW(const WCHAR *path)
void WINAPI PathQuoteSpacesA(char *path)
BOOL WINAPI PathRemoveFileSpecA(char *path)
WCHAR *WINAPI PathRemoveBackslashW(WCHAR *path)
BOOL WINAPI UrlIsNoHistoryA(const char *url)
BOOL WINAPI PathIsUNCServerShareW(const WCHAR *path)
BOOL WINAPI PathIsUNCServerA(const char *path)
BOOL WINAPI PathIsFileSpecA(const char *path)
INT WINAPI UrlCompareA(const char *url1, const char *url2, BOOL ignore_slash)
WCHAR *WINAPI PathFindFileNameW(const WCHAR *path)
const char *WINAPI UrlGetLocationA(const char *url)
BOOL WINAPI PathFileExistsA(const char *path)
BOOL WINAPI UrlIsW(const WCHAR *url, URLIS Urlis)
UINT WINAPI PathGetCharTypeA(UCHAR ch)
BOOL WINAPI UrlIsOpaqueA(const char *url)
BOOL WINAPI PathRelativePathToA(char *path, const char *from, DWORD attributes_from, const char *to, DWORD attributes_to)
char *WINAPI PathFindNextComponentA(const char *path)
char *WINAPI PathGetArgsA(const char *path)
BOOL WINAPI PathSearchAndQualifyA(const char *path, char *buffer, UINT length)
BOOL WINAPI UrlIsOpaqueW(const WCHAR *url)
void WINAPI PathStripPathA(char *path)
void WINAPI PathStripPathW(WCHAR *path)
BOOL WINAPI PathRemoveFileSpecW(WCHAR *path)
void WINAPI PathRemoveExtensionA(char *path)
LPWSTR WINAPI PathFindExtensionW(const WCHAR *path)
char *WINAPI PathSkipRootA(const char *path)
BOOL WINAPI PathUnExpandEnvStringsW(const WCHAR *path, WCHAR *buffer, UINT buf_len)
int WINAPI PathGetDriveNumberA(const char *path)
BOOL WINAPI PathIsRelativeA(const char *path)
int WINAPI PathParseIconLocationA(char *path)
void WINAPI PathUnquoteSpacesA(char *path)
BOOL WINAPI PathIsRelativeW(const WCHAR *path)
int WINAPI PathParseIconLocationW(WCHAR *path)
BOOL WINAPI UrlIsA(const char *url, URLIS Urlis)
BOOL WINAPI PathSearchAndQualifyW(const WCHAR *path, WCHAR *buffer, UINT length)
char *WINAPI PathRemoveBackslashA(char *path)
BOOL WINAPI PathStripToRootW(WCHAR *path)
BOOL WINAPI PathStripToRootA(char *path)
BOOL WINAPI PathIsSameRootA(const char *path1, const char *path2)
BOOL WINAPI UrlIsNoHistoryW(const WCHAR *url)
BOOL WINAPI PathIsUNCServerW(const WCHAR *path)
BOOL WINAPI PathIsURLW(const WCHAR *path)
BOOL WINAPI PathMatchSpecW(const WCHAR *path, const WCHAR *mask)
WCHAR *WINAPI PathGetArgsW(const WCHAR *path)
BOOL WINAPI PathIsLFNFileSpecA(const char *path)
UINT WINAPI PathGetCharTypeW(WCHAR ch)
WCHAR *WINAPI PathSkipRootW(const WCHAR *path)
BOOL WINAPI PathRelativePathToW(WCHAR *path, const WCHAR *from, DWORD attributes_from, const WCHAR *to, DWORD attributes_to)
BOOL WINAPI PathFileExistsW(const WCHAR *path)
BOOL WINAPI PathUnExpandEnvStringsA(const char *path, char *buffer, UINT buf_len)
char *WINAPI PathFindFileNameA(const char *path)
BOOL WINAPI PathIsFileSpecW(const WCHAR *path)
BOOL WINAPI PathIsRootW(const WCHAR *path)
BOOL WINAPI PathIsLFNFileSpecW(const WCHAR *path)
BOOL WINAPI PathIsPrefixW(const WCHAR *prefix, const WCHAR *path)
WCHAR *WINAPI PathFindNextComponentW(const WCHAR *path)
BOOL WINAPI PathIsUNCA(const char *path)
BOOL WINAPI PathIsUNCServerShareA(const char *path)
BOOL WINAPI PathIsURLA(const char *path)
void WINAPI PathQuoteSpacesW(WCHAR *path)
LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY hUSKey, const WCHAR *value, SHREGDEL_FLAGS flags)
LONG WINAPI SHRegDeleteUSValueA(HUSKEY hUSKey, const char *value, SHREGDEL_FLAGS flags)
LONG WINAPI SHRegGetUSValueW(const WCHAR *subkey, const WCHAR *value, DWORD *type, void *data, DWORD *data_len, BOOL ignore_hkcu, void *default_data, DWORD default_data_len)
LONG WINAPI SHRegSetUSValueW(const WCHAR *subkey, const WCHAR *value, DWORD type, void *data, DWORD data_len, DWORD flags)
LONG WINAPI SHRegWriteUSValueA(HUSKEY hUSKey, const char *value, DWORD type, void *data, DWORD data_len, DWORD flags)
LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY hUSKey, const char *value, SHREGDEL_FLAGS flags)
LONG WINAPI SHRegQueryInfoUSKeyA(HUSKEY hUSKey, DWORD *subkeys, DWORD *max_subkey_len, DWORD *values, DWORD *max_value_name_len, SHREGENUM_FLAGS flags)
LONG WINAPI SHRegQueryInfoUSKeyW(HUSKEY hUSKey, DWORD *subkeys, DWORD *max_subkey_len, DWORD *values, DWORD *max_value_name_len, SHREGENUM_FLAGS flags)
LONG WINAPI SHRegEnumUSKeyA(HUSKEY hUSKey, DWORD index, char *name, DWORD *name_len, SHREGENUM_FLAGS flags)
LONG WINAPI SHRegGetUSValueA(const char *subkey, const char *value, DWORD *type, void *data, DWORD *data_len, BOOL ignore_hkcu, void *default_data, DWORD default_data_len)
LONG WINAPI SHRegOpenUSKeyA(const char *path, REGSAM access_mask, HUSKEY relative_key, HUSKEY *uskey, BOOL ignore_hkcu)
LONG WINAPI SHRegCreateUSKeyA(LPCSTR path, REGSAM samDesired, HUSKEY relative_key, PHUSKEY new_uskey, DWORD flags)
BOOL WINAPI SHRegGetBoolUSValueA(const char *subkey, const char *value, BOOL ignore_hkcu, BOOL default_value)
BOOL WINAPI SHRegGetBoolUSValueW(const WCHAR *subkey, const WCHAR *value, BOOL ignore_hkcu, BOOL default_value)
LONG WINAPI SHRegEnumUSValueA(HUSKEY hUSKey, DWORD index, char *value_name, DWORD *value_name_len, DWORD *type, void *data, DWORD *data_len, SHREGENUM_FLAGS flags)
LONG WINAPI SHRegCloseUSKey(HUSKEY hUSKey)
LONG WINAPI SHRegSetUSValueA(const char *subkey, const char *value, DWORD type, void *data, DWORD data_len, DWORD flags)
LONG WINAPI SHRegEnumUSValueW(HUSKEY hUSKey, DWORD index, WCHAR *value_name, DWORD *value_name_len, DWORD *type, void *data, DWORD *data_len, SHREGENUM_FLAGS flags)
LONG WINAPI SHRegQueryUSValueW(HUSKEY hUSKey, const WCHAR *value, DWORD *type, void *data, DWORD *data_len, BOOL ignore_hkcu, void *default_data, DWORD default_data_len)
LONG WINAPI SHRegDeleteUSValueW(HUSKEY hUSKey, const WCHAR *value, SHREGDEL_FLAGS flags)
LONG WINAPI SHRegOpenUSKeyW(const WCHAR *path, REGSAM access_mask, HUSKEY relative_key, HUSKEY *uskey, BOOL ignore_hkcu)
LONG WINAPI SHRegCreateUSKeyW(const WCHAR *path, REGSAM samDesired, HUSKEY relative_key, PHUSKEY new_uskey, DWORD flags)
LONG WINAPI SHRegQueryUSValueA(HUSKEY hUSKey, const char *value, DWORD *type, void *data, DWORD *data_len, BOOL ignore_hkcu, void *default_data, DWORD default_data_len)
LONG WINAPI SHRegEnumUSKeyW(HUSKEY hUSKey, DWORD index, WCHAR *name, DWORD *name_len, SHREGENUM_FLAGS flags)
LONG WINAPI SHRegWriteUSValueW(HUSKEY hUSKey, const WCHAR *value, DWORD type, void *data, DWORD data_len, DWORD flags)
BOOL WINAPI ChrCmpIW(WCHAR ch1, WCHAR ch2)
BOOL WINAPI StrToIntExW(const WCHAR *str, DWORD flags, INT *ret)
BOOL WINAPI ChrCmpIA(WORD ch1, WORD ch2)
WCHAR *WINAPI StrCatBuffW(WCHAR *str, const WCHAR *cat, INT max_len)
WCHAR *WINAPI StrStrNW(const WCHAR *str, const WCHAR *search, UINT max_len)
BOOL WINAPI StrIsIntlEqualA(BOOL case_sensitive, const char *str, const char *cmp, int len)
WCHAR *WINAPI StrStrNIW(const WCHAR *str, const WCHAR *search, UINT max_len)
int WINAPI StrCmpW(const WCHAR *str, const WCHAR *comp)
BOOL WINAPI StrTrimA(char *str, const char *trim)
BOOL WINAPI StrIsIntlEqualW(BOOL case_sensitive, const WCHAR *str, const WCHAR *cmp, int len)
BOOL WINAPI StrTrimW(WCHAR *str, const WCHAR *trim)
BOOL WINAPI StrToIntExA(const char *str, DWORD flags, INT *ret)
char *WINAPI StrCatBuffA(char *str, const char *cat, INT max_len)
int WINAPI StrCmpLogicalW(const WCHAR *str, const WCHAR *comp)
char *WINAPI StrPBrkA(const char *str, const char *match)
WCHAR *WINAPI StrDupW(const WCHAR *str)
int WINAPI StrSpnW(const WCHAR *str, const WCHAR *match)
int WINAPI StrCmpIW(const WCHAR *str, const WCHAR *comp)
DWORD WINAPI StrCatChainW(WCHAR *str, DWORD max_len, DWORD at, const WCHAR *cat)
char *WINAPI StrDupA(const char *str)
BOOL WINAPI StrToInt64ExA(const char *str, DWORD flags, LONGLONG *ret)
int WINAPI StrSpnA(const char *str, const char *match)
BOOL WINAPI StrToInt64ExW(const WCHAR *str, DWORD flags, LONGLONG *ret)
WCHAR *WINAPI StrPBrkW(const WCHAR *str, const WCHAR *match)
WCHAR *WINAPI StrCpyNW(WCHAR *dst, const WCHAR *src, int count)
BOOL WINAPI AssocIsDangerous(LPCWSTR lpszAssoc)
VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown)
HPALETTE WINAPI SHCreateShellPalette(HDC hdc)
void WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown)
COLORREF WINAPI ColorHLSToRGB(WORD wHue, WORD wLuminosity, WORD wSaturation)
BOOL WINAPI SHSkipJunction(IBindCtx *pbc, const CLSID *pclsid)
COLORREF WINAPI ColorAdjustLuma(COLORREF cRGB, int dwLuma, BOOL bUnknown)
VOID WINAPI ColorRGBToHLS(COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
void WINAPI PathRemoveArgsW(LPWSTR lpszPath)
BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath)
BOOL WINAPI PathMakeSystemFolderA(LPCSTR lpszPath)
BOOL WINAPI PathIsNetworkPathW(LPCWSTR lpszPath)
LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive)
BOOL WINAPI PathMakeSystemFolderW(LPCWSTR lpszPath)
BOOL WINAPI PathIsNetworkPathA(LPCSTR lpszPath)
void WINAPI PathRemoveArgsA(LPSTR lpszPath)
BOOL WINAPI PathFindOnPathW(LPWSTR lpszFile, LPCWSTR *lppszOtherDirs)
BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR lpszPath)
BOOL WINAPI PathCompactPathExA(LPSTR lpszDest, LPCSTR lpszPath, UINT cchMax, DWORD dwFlags)
BOOL WINAPI PathIsSystemFolderA(LPCSTR lpszPath, DWORD dwAttrib)
BOOL WINAPI PathCompactPathExW(LPWSTR lpszDest, LPCWSTR lpszPath, UINT cchMax, DWORD dwFlags)
BOOL WINAPI PathMakePrettyW(LPWSTR lpszPath)
void WINAPI PathUndecorateW(LPWSTR pszPath)
BOOL WINAPI PathCompactPathA(HDC hDC, LPSTR lpszPath, UINT dx)
BOOL WINAPI PathUnmakeSystemFolderW(LPCWSTR lpszPath)
BOOL WINAPI PathFindOnPathA(LPSTR lpszFile, LPCSTR *lppszOtherDirs)
LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive)
VOID WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR lpszPath)
BOOL WINAPI PathIsContentTypeW(LPCWSTR lpszPath, LPCWSTR lpszContentType)
BOOL WINAPI PathCompactPathW(HDC hDC, LPWSTR lpszPath, UINT dx)
BOOL WINAPI PathIsSystemFolderW(LPCWSTR lpszPath, DWORD dwAttrib)
BOOL WINAPI PathMakePrettyA(LPSTR lpszPath)
void WINAPI PathUndecorateA(LPSTR pszPath)
LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR lpszSuffix, LPCSTR *lppszArray, int dwCount)
BOOL WINAPI PathUnmakeSystemFolderA(LPCSTR lpszPath)
VOID WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR lpszPath)
LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR lpszSuffix, LPCWSTR *lppszArray, int dwCount)
BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath)
BOOL WINAPI PathIsContentTypeA(LPCSTR lpszPath, LPCSTR lpszContentType)
BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR lpszPath)
DWORD WINAPI SHCopyKeyW(HKEY hKeySrc, LPCWSTR lpszSrcSubKey, HKEY hKeyDst, DWORD dwReserved)
LONG WINAPI SHEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpszSubKey, LPDWORD pwLen)
DWORD WINAPI SHCopyKeyA(HKEY hKeySrc, LPCSTR lpszSrcSubKey, HKEY hKeyDst, DWORD dwReserved)
DWORD WINAPI SHRegSetPathA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, LPCSTR lpszPath, DWORD dwFlags)
DWORD WINAPI SHDeleteValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue)
DWORD WINAPI SHDeleteKeyW(HKEY hKey, LPCWSTR lpszSubKey)
LONG WINAPI SHQueryInfoKeyA(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, LPDWORD pwValues, LPDWORD pwValueMax)
DWORD WINAPI SHGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
DWORD WINAPI SHDeleteOrphanKeyW(HKEY hKey, LPCWSTR lpszSubKey)
DWORD WINAPI SHRegGetPathW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPWSTR lpszPath, DWORD dwFlags)
LONG WINAPI SHEnumValueA(HKEY hKey, DWORD dwIndex, LPSTR lpszValue, LPDWORD pwLen, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
DWORD WINAPI SHGetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
LONG WINAPI SHEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpszSubKey, LPDWORD pwLen)
DWORD WINAPI SHDeleteEmptyKeyA(HKEY hKey, LPCSTR lpszSubKey)
DWORD WINAPI SHDeleteEmptyKeyW(HKEY hKey, LPCWSTR lpszSubKey)
DWORD WINAPI SHQueryValueExW(HKEY hKey, LPCWSTR lpszValue, LPDWORD lpReserved, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
DWORD WINAPI SHQueryValueExA(HKEY hKey, LPCSTR lpszValue, LPDWORD lpReserved, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
LONG WINAPI SHQueryInfoKeyW(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, LPDWORD pwValues, LPDWORD pwValueMax)
DWORD WINAPI SHSetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, DWORD dwType, LPCVOID pvData, DWORD cbData)
HKEY WINAPI SHRegDuplicateHKey(HKEY hKey)
DWORD WINAPI SHDeleteOrphanKeyA(HKEY hKey, LPCSTR lpszSubKey)
DWORD WINAPI SHRegGetPathA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, LPSTR lpszPath, DWORD dwFlags)
DWORD WINAPI SHSetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, DWORD dwType, LPCVOID pvData, DWORD cbData)
DWORD WINAPI SHRegSetPathW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPCWSTR lpszPath, DWORD dwFlags)
int WINAPI SHRegGetIntW(HKEY hKey, LPCWSTR lpszValue, int iDefault)
DWORD WINAPI SHDeleteValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue)
LONG WINAPI SHEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpszValue, LPDWORD pwLen, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
DWORD WINAPI SHDeleteKeyA(HKEY hKey, LPCSTR lpszSubKey)
INT WINAPI StrFromTimeIntervalW(LPWSTR lpszStr, UINT cchMax, DWORD dwMS, int iDigits)
LPSTR WINAPI StrNCatA(LPSTR lpszStr, LPCSTR lpszCat, INT cchMax)
LPSTR WINAPI StrFormatByteSize64A(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
LPWSTR WINAPI StrFormatKBSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
LPWSTR WINAPI StrCatW(LPWSTR lpszStr, LPCWSTR lpszSrc)
LPSTR WINAPI StrFormatByteSizeA(DWORD dwBytes, LPSTR lpszDest, UINT cchMax)
INT WINAPI StrFromTimeIntervalA(LPSTR lpszStr, UINT cchMax, DWORD dwMS, int iDigits)
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
LPWSTR WINAPI StrNCatW(LPWSTR lpszStr, LPCWSTR lpszCat, INT cchMax)
LPWSTR WINAPI StrCpyW(LPWSTR lpszStr, LPCWSTR lpszSrc)
LPSTR WINAPI StrFormatKBSizeA(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE pfnThreadProc, VOID *pData, DWORD dwFlags, LPTHREAD_START_ROUTINE pfnCallback)
int WINAPIV wnsprintfA(LPSTR lpOut, int cchLimitIn, LPCSTR lpFmt,...)
int WINAPIV wnsprintfW(LPWSTR lpOut, int cchLimitIn, LPCWSTR lpFmt,...)
INT WINAPI wvnsprintfA(LPSTR buffer, INT maxlen, LPCSTR spec, __ms_va_list args)
INT WINAPI wvnsprintfW(LPWSTR buffer, INT maxlen, LPCWSTR spec, __ms_va_list args)
static BYTE * GetData(BYTE *pData, ULONG *pLength)
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
HLOCAL NTAPI LocalFree(HLOCAL hMem)
PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE
static HRESULT QueryInterface(REFIID, void **)
static ULONG WINAPI AddRef(IStream *iface)
_In_ DWORD _In_ DWORD dwOffset
#define PathAddExtensionA
#define PathCanonicalizeA
#define PathAddExtensionW
#define PathCanonicalizeW
#define PathAddBackslashA
#define PathRenameExtensionA
#define PathRenameExtensionW
#define PathAddBackslashW
@ SFBS_FLAGS_TRUNCATE_UNDISPLAYED_DECIMAL_DIGITS
@ SFBS_FLAGS_ROUND_TO_NEAREST_DISPLAYED_DIGIT
LWSTDAPI PathMatchSpecExA(_In_ LPCSTR, _In_ LPCSTR, _In_ DWORD)
LWSTDAPI SHLoadIndirectString(_In_ LPCWSTR, _Out_writes_(cchOutBuf) LPWSTR, _In_ UINT cchOutBuf, _Reserved_ PVOID *)
LWSTDAPI IUnknown_QueryService(_In_opt_ IUnknown *punk, _In_ REFGUID guidService, _In_ REFIID riid, _Outptr_ void **ppvOut)
LWSTDAPI IUnknown_GetWindow(_In_ IUnknown *punk, _Out_ HWND *phwnd)
@ ASSOCDATA_HASPERUSERASSOC
@ ASSOCDATA_MSIDESCRIPTOR
@ ASSOCDATA_NOACTIVATEHANDLER
@ ASSOCDATA_QUERYCLASSSTORE
LWSTDAPI UrlGetPartW(_In_ LPCWSTR, _Out_writes_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut, DWORD, DWORD)
LWSTDAPI SHCreateStreamWrapper(LPBYTE, DWORD, DWORD, struct IStream **)
@ URL_SCHEME_MSSHELLROOTED
@ URL_SCHEME_MSSHELLIDLIST
@ URL_SCHEME_MSSHELLDEVICE
LWSTDAPI PathMatchSpecExW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD)
LWSTDAPI UrlGetPartA(_In_ LPCSTR, _Out_writes_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut, DWORD, DWORD)
LWSTDAPI PathCreateFromUrlAlloc(_In_ LPCWSTR pszUrl, _Outptr_ LPWSTR *pszPath, DWORD dwReserved)
@ ASSOCF_INIT_FIXED_PROGID
@ ASSOCF_INIT_DEFAULTTOSTAR
@ ASSOCF_INIT_DEFAULTTOFOLDER
@ ASSOCF_INIT_NOREMAPCLSID
@ ASSOCF_INIT_IGNOREUNKNOWN
LWSTDAPI UrlHashA(_In_ LPCSTR, _Out_writes_bytes_(cbHash) unsigned char *, DWORD cbHash)
LWSTDAPI UrlHashW(_In_ LPCWSTR, _Out_writes_bytes_(cbHash) unsigned char *, DWORD cbHash)
LWSTDAPI UrlApplySchemeW(_In_ LPCWSTR, _Out_writes_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut, DWORD)
LWSTDAPI StrRetToBSTR(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ BSTR *)
LWSTDAPI SHCreateThreadRef(_Inout_ LONG *, _Outptr_ IUnknown **)
LWSTDAPI StrFormatByteSizeEx(ULONGLONG ull, SFBS_FLAGS flags, _Out_writes_(cchBuf) PWSTR pszBuf, _In_range_(>, 0) UINT cchBuf)
LWSTDAPI ParseURLW(_In_ LPCWSTR pszUrl, _Inout_ PARSEDURLW *ppu)
LWSTDAPI AssocQueryKeyW(_In_ ASSOCF, _In_ ASSOCKEY, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_ PHKEY)
LWSTDAPI UrlUnescapeW(_Inout_ LPWSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPWSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD)
LWSTDAPI IUnknown_SetSite(_In_ IUnknown *punk, _In_opt_ IUnknown *punkSite)
@ ASSOCSTR_SHELLEXTENSION
@ ASSOCSTR_DDEAPPLICATION
@ ASSOCSTR_FRIENDLYDOCNAME
@ ASSOCSTR_FRIENDLYAPPNAME
struct tagPARSEDURLW * PPARSEDURLW
LWSTDAPI StrRetToStrA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ LPSTR *)
LWSTDAPI SHReleaseThreadRef(void)
LWSTDAPI SHCreateStreamOnFileEx(_In_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_ BOOL, _In_opt_ struct IStream *, _Outptr_ struct IStream **)
@ ASSOCKEY_SHELLEXECCLASS
LWSTDAPI IUnknown_GetSite(_In_ IUnknown *punk, _In_ REFIID riid, _Outptr_ void **ppv)
LWSTDAPI SHAutoComplete(_In_ HWND, DWORD)
LWSTDAPI AssocCreate(_In_ CLSID, _In_ REFIID, _Outptr_ LPVOID *)
LWSTDAPI IStream_Reset(_In_ struct IStream *)
LWSTDAPI UrlEscapeA(_In_ LPCSTR, _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPSTR, _Inout_ LPDWORD pcchEscaped, DWORD)
LWSTDAPI SHStrDupW(_In_ LPCWSTR psz, _Outptr_ WCHAR **ppwsz)
LWSTDAPI SHCreateStreamOnFileA(_In_ LPCSTR, _In_ DWORD, _Outptr_ struct IStream **)
LWSTDAPI ParseURLA(_In_ LPCSTR pszUrl, _Inout_ PARSEDURLA *ppu)
LWSTDAPI SHCreateStreamOnFileW(_In_ LPCWSTR, _In_ DWORD, _Outptr_ struct IStream **)
LWSTDAPI UrlCombineW(_In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPWSTR, _Inout_ LPDWORD pcchCombined, DWORD)
LWSTDAPI IStream_Size(_In_ IStream *pstm, _Out_ ULARGE_INTEGER *pui)
LWSTDAPI UrlCombineA(_In_ LPCSTR, _In_ LPCSTR, _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPSTR, _Inout_ LPDWORD pcchCombined, DWORD)
LWSTDAPI UrlCreateFromPathA(_In_ LPCSTR, _Out_writes_to_(*pcchUrl, *pcchUrl) LPSTR, _Inout_ LPDWORD pcchUrl, DWORD)
LWSTDAPI SHSetThreadRef(_In_opt_ IUnknown *)
LWSTDAPI AssocQueryKeyA(_In_ ASSOCF, _In_ ASSOCKEY, _In_ LPCSTR, _In_opt_ LPCSTR, _Out_ PHKEY)
struct IQueryAssociations * LPQUERYASSOCIATIONS
struct tagPARSEDURLA PARSEDURLA
LWSTDAPI PathCreateFromUrlW(_In_ LPCWSTR pszUrl, _Out_writes_to_(*pcchPath, *pcchPath) LPWSTR pszPath, _Inout_ LPDWORD pcchPath, DWORD dwFlags)
struct tagPARSEDURLW PARSEDURLW
LWSTDAPI AssocQueryStringW(_In_ ASSOCF, _In_ ASSOCSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_writes_opt_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut)
LWSTDAPI AssocQueryStringByKeyW(_In_ ASSOCF, _In_ ASSOCSTR, _In_ HKEY, _In_opt_ LPCWSTR, _Out_writes_opt_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut)
LWSTDAPI UrlUnescapeA(_Inout_ LPSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD)
LWSTDAPI StrRetToStrW(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ LPWSTR *)
HRESULT(CALLBACK * DLLGETVERSIONPROC)(DLLVERSIONINFO *)
struct tagPARSEDURLA * PPARSEDURLA
LWSTDAPI SHGetThreadRef(_Outptr_ IUnknown **)
LWSTDAPI UrlApplySchemeA(_In_ LPCSTR, _Out_writes_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut, DWORD)
LWSTDAPI HashData(_In_reads_bytes_(cbData) const unsigned char *, DWORD cbData, _Out_writes_bytes_(cbHash) unsigned char *lpDest, DWORD cbHash)
LWSTDAPI StrRetToBufA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
LWSTDAPI UrlCanonicalizeW(_In_ LPCWSTR, _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPWSTR, _Inout_ LPDWORD pcchCanonicalized, DWORD)
LWSTDAPI StrRetToBufW(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Out_writes_(cchBuf) LPWSTR, UINT cchBuf)
LWSTDAPI UrlCanonicalizeA(_In_ LPCSTR, _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPSTR, _Inout_ LPDWORD pcchCanonicalized, DWORD)
LWSTDAPI UrlCreateFromPathW(_In_ LPCWSTR, _Out_writes_to_(*pcchUrl, *pcchUrl) LPWSTR, _Inout_ LPDWORD pcchUrl, DWORD)
LWSTDAPI AssocQueryStringA(_In_ ASSOCF, _In_ ASSOCSTR, _In_ LPCSTR, _In_opt_ LPCSTR, _Out_writes_opt_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut)
_In_opt_ void _In_ DWORD flags
LWSTDAPI UrlEscapeW(_In_ LPCWSTR, _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPWSTR, _Inout_ LPDWORD pcchEscaped, DWORD)
LWSTDAPI PathCreateFromUrlA(_In_ LPCSTR, _Out_writes_to_(*pcchPath, *pcchPath) LPSTR, _Inout_ LPDWORD pcchPath, DWORD)
struct _DllVersionInfo DLLVERSIONINFO
LWSTDAPI AssocQueryStringByKeyA(_In_ ASSOCF, _In_ ASSOCSTR, _In_ HKEY, _In_opt_ LPCSTR, _Out_writes_opt_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut)
LWSTDAPI SHStrDupA(_In_ LPCSTR psz, _Outptr_ WCHAR **ppwsz)
IStream *WINAPI SHOpenRegStreamW(HKEY hkey, LPCWSTR pszSubkey, LPCWSTR pszValue, DWORD dwMode)
IStream *WINAPI SHOpenRegStream2A(HKEY hKey, LPCSTR pszSubkey, LPCSTR pszValue, DWORD dwMode)
IStream *WINAPI SHOpenRegStreamA(HKEY hkey, LPCSTR pszSubkey, LPCSTR pszValue, DWORD dwMode)
IStream *WINAPI SHOpenRegStream2W(HKEY hKey, LPCWSTR pszSubkey, LPCWSTR pszValue, DWORD dwMode)
IStream *WINAPI SHCreateMemStream(const BYTE *lpbData, UINT dwDataLen)
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
ULONGLONG DECLSPEC_ALIGN(8) ullVersion
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
WINSHLWAPI BOOL WINAPI SHUnlockShared(void *data)
WINSHLWAPI BOOL WINAPI SHFreeShared(HANDLE handle, DWORD pid)
HRESULT WINAPI DllInstall(BOOL, LPCWSTR)
WINSHLWAPI HRESULT WINAPI GetAcceptLanguagesA(char *buffer, DWORD *buff_len)
WINSHLWAPI BOOL WINAPI PathFileExistsAndAttributesA(LPCSTR, DWORD *)
WINSHLWAPI LSTATUS WINAPI SHRegGetValueA(HKEY, LPCSTR, LPCSTR, SRRF, LPDWORD, LPVOID, LPDWORD)
WINSHLWAPI BOOL WINAPI PathFileExistsAndAttributesW(LPCWSTR, DWORD *)
WINSHLWAPI HRESULT WINAPI SHGetViewStatePropertyBag(PCIDLIST_ABSOLUTE pidl, PCWSTR bagname, DWORD flags, REFIID riid, void **ppv)
WINSHLWAPI BOOL WINAPI SHIsLowMemoryMachine(DWORD type)
WINSHLWAPI BOOL WINAPI IsOS(DWORD)
WINSHLWAPI HANDLE WINAPI SHAllocShared(const void *data, DWORD size, DWORD pid)
WINSHLWAPI HRESULT WINAPI GetAcceptLanguagesW(WCHAR *buffer, DWORD *buff_len)
WINSHLWAPI void *WINAPI SHLockShared(HANDLE handle, DWORD pid)
WINSHLWAPI int WINAPI SHFormatDateTimeW(const FILETIME *filetime, DWORD *flags, LPWSTR buffer, UINT size)
WINSHLWAPI LSTATUS WINAPI SHRegGetValueW(HKEY, LPCWSTR, LPCWSTR, SRRF, LPDWORD, LPVOID, LPDWORD)
WINSHLWAPI HRESULT WINAPI QISearch(void *base, const QITAB *pqit, REFIID riid, void **ppv)
WINSHLWAPI int WINAPI SHFormatDateTimeA(const FILETIME *filetime, DWORD *flags, LPSTR buffer, UINT size)
WINSHLWAPI UINT WINAPI WhichPlatform(void)
#define __WINE_DEALLOC(...)