20#define LWSTDAPI_(t) t WINAPI
21#define LWSTDAPIV_(t) t WINAPIV
24#define LWSTDAPI_(t) EXTERN_C DECLSPEC_IMPORT t STDAPICALLTYPE
25#define LWSTDAPIV_(t) EXTERN_C DECLSPEC_IMPORT t STDAPIVCALLTYPE
27#define LWSTDAPI_(t) STDAPI_(t)
28#define LWSTDAPIV_(t) STDAPIV_(t)
31#define LWSTDAPI LWSTDAPI_(HRESULT)
32#define LWSTDAPIV LWSTDAPIV_(HRESULT)
45#define SHACF_DEFAULT 0x00000000
46#define SHACF_FILESYSTEM 0x00000001
47#define SHACF_URLHISTORY 0x00000002
48#define SHACF_URLMRU 0x00000004
49#define SHACF_URLALL (SHACF_URLHISTORY|SHACF_URLMRU)
50#define SHACF_USETAB 0x00000008
51#define SHACF_FILESYS_ONLY 0x00000010
52#if (_WIN32_IE >= _WIN32_IE_IE60)
53#define SHACF_FILESYS_DIRS 0x00000020
55#if (_WIN32_IE >= _WIN32_IE_IE70)
56#define SHACF_VIRTUAL_NAMESPACE 0x00000040
58#define SHACF_AUTOSUGGEST_FORCE_ON 0x10000000
59#define SHACF_AUTOSUGGEST_FORCE_OFF 0x20000000
60#define SHACF_AUTOAPPEND_FORCE_ON 0x40000000
61#define SHACF_AUTOAPPEND_FORCE_OFF 0x80000000
76#if (_WIN32_IE >= _WIN32_IE_IE60)
81#if (_WIN32_IE >= _WIN32_IE_IE70)
85#if (NTDDI_VERSION >= NTDDI_VISTA)
88#if (NTDDI_VERSION >= NTDDI_WIN7)
97#define FDTF_SHORTTIME 0x00000001
98#define FDTF_SHORTDATE 0x00000002
99#define FDTF_DEFAULT (FDTF_SHORTDATE | FDTF_SHORTTIME)
100#define FDTF_LONGDATE 0x00000004
101#define FDTF_LONGTIME 0x00000008
102#define FDTF_RELATIVE 0x00000010
103#define FDTF_LTRDATE 0x00000100
104#define FDTF_RTLDATE 0x00000200
105#define FDTF_NOAUTOREADINGORDER 0x00000400
108#define DLLVER_MAJOR_MASK 0xFFFF000000000000
109#define DLLVER_MINOR_MASK 0x0000FFFF00000000
110#define DLLVER_BUILD_MASK 0x00000000FFFF0000
111#define DLLVER_QFE_MASK 0x000000000000FFFF
113#define MAKEDLLVERULL(major, minor, build, qfe) \
114 (((ULONGLONG)(major) << 48) | ((ULONGLONG)(minor) << 32) | ((ULONGLONG)(build) << 16) | (ULONGLONG)(qfe))
116#define DLLVER_PLATFORM_WINDOWS 0x01
117#define DLLVER_PLATFORM_NT 0x02
141#if defined(__REACTOS__) || (WINVER >= _WIN32_WINNT_WIN10)
148#define OFFSETOFCLASS(base, derived) \
149 ((DWORD)(DWORD_PTR)(static_cast<base*>((derived*)8))-8)
151#define QITABENTMULTI(Cthis, Ifoo, Iimpl) { &IID_##Ifoo, OFFSETOFCLASS(Iimpl, Cthis) }
152#define QITABENT(Cthis, Ifoo) QITABENTMULTI(Cthis, Ifoo, Ifoo)
166#if (_WIN32_IE >= _WIN32_IE_IE60)
167#define SHGVSPB_PERUSER 0x00000001
168#define SHGVSPB_ALLUSERS 0x00000002
169#define SHGVSPB_PERFOLDER 0x00000004
170#define SHGVSPB_ALLFOLDERS 0x00000008
171#define SHGVSPB_INHERIT 0x00000010
172#define SHGVSPB_ROAM 0x00000020
173#define SHGVSPB_NOAUTODEFAULTS 0x80000000
174#define SHGVSPB_FOLDER (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER)
175#define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS)
176#define SHGVSPB_USERDEFAULTS (SHGVSPB_PERUSER | SHGVSPB_ALLFOLDERS)
177#define SHGVSPB_GLOBALDEFAULTS (SHGVSPB_ALLUSERS | SHGVSPB_ALLFOLDERS)
183#if (_WIN32_IE >= 0x0602)
191#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
214#ifndef NO_SHLWAPI_GDI
224#ifndef NO_SHLWAPI_ISOS
228#define OS_WIN95ORGREATER 2
229#define OS_NT4ORGREATER 3
231#define OS_WIN98ORGREATER 5
232#define OS_WIN98_GOLD 6
233#define OS_WIN2000ORGREATER 7
234#define OS_WIN2000PRO 8
235#define OS_WIN2000SERVER 9
236#define OS_WIN2000ADVSERVER 10
237#define OS_WIN2000DATACENTER 11
238#define OS_WIN2000TERMINAL 12
239#define OS_EMBEDDED 13
240#define OS_TERMINALCLIENT 14
241#define OS_TERMINALREMOTEADMIN 15
242#define OS_WIN95_GOLD 16
243#define OS_MEORGREATER 17
244#define OS_XPORGREATER 18
246#define OS_PROFESSIONAL 20
247#define OS_DATACENTER 21
248#define OS_ADVSERVER 22
250#define OS_TERMINALSERVER 24
251#define OS_PERSONALTERMINALSERVER 25
252#define OS_FASTUSERSWITCHING 26
253#define OS_WELCOMELOGONUI 27
254#define OS_DOMAINMEMBER 28
255#define OS_ANYSERVER 29
257#define OS_WEBSERVER 31
258#define OS_SMALLBUSINESSSERVER 32
259#define OS_TABLETPC 33
260#define OS_SERVERADMINUI 34
261#define OS_MEDIACENTER 35
262#define OS_APPLIANCE 36
269#ifndef NO_SHLWAPI_PATH
271#define GCT_INVALID 0x0
272#define GCT_LFNCHAR 0x1
273#define GCT_SHORTCHAR 0x2
275#define GCT_SEPARATOR 0x8
278#if (_WIN32_IE >= _WIN32_IE_IE70)
356#if (_WIN32_IE >= _WIN32_IE_IE70)
398#define PathAddBackslash PathAddBackslashW
399#define PathAddExtension PathAddExtensionW
400#define PathAppend PathAppendW
401#define PathBuildRoot PathBuildRootW
402#define PathCanonicalize PathCanonicalizeW
403#define PathCombine PathCombineW
404#define PathCompactPath PathCompactPathW
405#define PathCompactPathEx PathCompactPathExW
406#define PathCommonPrefix PathCommonPrefixW
407#define PathCreateFromUrl PathCreateFromUrlW
408#define PathFileExists PathFileExistsW
409#define PathFindExtension PathFindExtensionW
410#define PathFindFileName PathFindFileNameW
411#define PathFindNextComponent PathFindNextComponentW
412#define PathFindOnPath PathFindOnPathW
413#define PathFindSuffixArray PathFindSuffixArrayW
414#define PathGetArgs PathGetArgsW
415#define PathGetCharType PathGetCharTypeW
416#define PathGetDriveNumber PathGetDriveNumberW
417#define PathIsContentType PathIsContentTypeW
418#define PathIsDirectory PathIsDirectoryW
419#define PathIsDirectoryEmpty PathIsDirectoryEmptyW
420#define PathIsFileSpec PathIsFileSpecW
421#define PathIsLFNFileSpec PathIsLFNFileSpecW
422#define PathIsNetworkPath PathIsNetworkPathW
423#define PathIsPrefix PathIsPrefixW
424#define PathIsRelative PathIsRelativeW
425#define PathIsRoot PathIsRootW
426#define PathIsSameRoot PathIsSameRootW
427#define PathIsSystemFolder PathIsSystemFolderW
428#define PathIsUNC PathIsUNCW
429#define PathIsUNCServer PathIsUNCServerW
430#define PathIsUNCServerShare PathIsUNCServerShareW
431#define PathIsURL PathIsURLW
432#define PathMakePretty PathMakePrettyW
433#define PathMakeSystemFolder PathMakeSystemFolderW
434#define PathMatchSpec PathMatchSpecW
435#if (_WIN32_IE >= _WIN32_IE_IE70)
436#define PathMatchSpecEx PathMatchSpecExW
438#define PathParseIconLocation PathParseIconLocationW
439#define PathQuoteSpaces PathQuoteSpacesW
440#define PathRelativePathTo PathRelativePathToW
441#define PathRemoveArgs PathRemoveArgsW
442#define PathRemoveBackslash PathRemoveBackslashW
443#define PathRemoveBlanks PathRemoveBlanksW
444#define PathRemoveExtension PathRemoveExtensionW
445#define PathRemoveFileSpec PathRemoveFileSpecW
446#define PathRenameExtension PathRenameExtensionW
447#define PathSearchAndQualify PathSearchAndQualifyW
448#define PathSetDlgItemPath PathSetDlgItemPathW
449#define PathSkipRoot PathSkipRootW
450#define PathStripPath PathStripPathW
451#define PathStripToRoot PathStripToRootW
452#define PathUndecorate PathUndecorateW
453#define PathUnExpandEnvStrings PathUnExpandEnvStringsW
454#define PathUnmakeSystemFolder PathUnmakeSystemFolderW
455#define PathUnquoteSpaces PathUnquoteSpacesW
457#define PathAddBackslash PathAddBackslashA
458#define PathAddExtension PathAddExtensionA
459#define PathAppend PathAppendA
460#define PathBuildRoot PathBuildRootA
461#define PathCanonicalize PathCanonicalizeA
462#define PathCombine PathCombineA
463#define PathCompactPath PathCompactPathA
464#define PathCompactPathEx PathCompactPathExA
465#define PathCommonPrefix PathCommonPrefixA
466#define PathCreateFromUrl PathCreateFromUrlA
467#define PathFileExists PathFileExistsA
468#define PathFindExtension PathFindExtensionA
469#define PathFindFileName PathFindFileNameA
470#define PathFindNextComponent PathFindNextComponentA
471#define PathFindOnPath PathFindOnPathA
472#define PathFindSuffixArray PathFindSuffixArrayA
473#define PathGetArgs PathGetArgsA
474#define PathGetCharType PathGetCharTypeA
475#define PathGetDriveNumber PathGetDriveNumberA
476#define PathIsContentType PathIsContentTypeA
477#define PathIsDirectory PathIsDirectoryA
478#define PathIsDirectoryEmpty PathIsDirectoryEmptyA
479#define PathIsFileSpec PathIsFileSpecA
480#define PathIsLFNFileSpec PathIsLFNFileSpecA
481#define PathIsNetworkPath PathIsNetworkPathA
482#define PathIsPrefix PathIsPrefixA
483#define PathIsRelative PathIsRelativeA
484#define PathIsRoot PathIsRootA
485#define PathIsSameRoot PathIsSameRootA
486#define PathIsSystemFolder PathIsSystemFolderA
487#define PathIsUNC PathIsUNCA
488#define PathIsUNCServer PathIsUNCServerA
489#define PathIsUNCServerShare PathIsUNCServerShareA
490#define PathIsURL PathIsURLA
491#define PathMakePretty PathMakePrettyA
492#define PathMakeSystemFolder PathMakeSystemFolderA
493#define PathMatchSpec PathMatchSpecA
494#if (_WIN32_IE >= _WIN32_IE_IE70)
495#define PathMatchSpecEx PathMatchSpecExA
497#define PathParseIconLocation PathParseIconLocationA
498#define PathQuoteSpaces PathQuoteSpacesA
499#define PathRelativePathTo PathRelativePathToA
500#define PathRemoveArgs PathRemoveArgsA
501#define PathRemoveBackslash PathRemoveBackslashA
502#define PathRemoveBlanks PathRemoveBlanksA
503#define PathRemoveExtension PathRemoveExtensionA
504#define PathRemoveFileSpec PathRemoveFileSpecA
505#define PathRenameExtension PathRenameExtensionA
506#define PathSearchAndQualify PathSearchAndQualifyA
507#define PathSetDlgItemPath PathSetDlgItemPathA
508#define PathSkipRoot PathSkipRootA
509#define PathStripPath PathStripPathA
510#define PathStripToRoot PathStripToRootA
511#define PathUndecorate PathUndecorateA
512#define PathUnExpandEnvStrings PathUnExpandEnvStringsA
513#define PathUnmakeSystemFolder PathUnmakeSystemFolderA
514#define PathUnquoteSpaces PathUnquoteSpacesA
517#define URL_APPLY_DEFAULT 0x00000001
518#define URL_APPLY_GUESSSCHEME 0x00000002
519#define URL_APPLY_GUESSFILE 0x00000004
520#define URL_APPLY_FORCEAPPLY 0x00000008
521#define URL_ESCAPE_PERCENT 0x00001000
522#define URL_ESCAPE_SEGMENT_ONLY 0x00002000
523#define URL_FILE_USE_PATHURL 0x00010000
524#define URL_ESCAPE_AS_UTF8 0x00040000
525#define URL_UNESCAPE_INPLACE 0x00100000
526#define URL_CONVERT_IF_DOSPATH 0x00200000
527#define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
528#define URL_INTERNAL_PATH 0x00800000
529#define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
530#define URL_ESCAPE_SPACES_ONLY 0x04000000
531#define URL_DONT_SIMPLIFY 0x08000000
532#define URL_UNESCAPE 0x10000000
533#define URL_ESCAPE_UNSAFE 0x20000000
534#define URL_PLUGGABLE_PROTOCOL 0x40000000
535#define URL_WININET_COMPATIBILITY 0x80000000
536#define URL_UNESCAPE_AS_UTF8 URL_ESCAPE_AS_UTF8
537#define URL_UNESCAPE_URI_COMPONENT URL_UNESCAPE_AS_UTF8
538#define URL_NO_META URL_DONT_SIMPLIFY
539#define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO
540#define URL_BROWSER_MODE URL_DONT_ESCAPE_EXTRA_INFO
563#if (_WIN32_IE >= _WIN32_IE_IE60)
568#if (_WIN32_IE >= _WIN32_IE_IE70)
572#if (NTDDI_VERSION >= NTDDI_VISTA)
575#if (NTDDI_VERSION >= NTDDI_VISTASP1)
578#if (NTDDI_VERSION >= NTDDI_WIN7)
594#define URL_PARTFLAG_KEEPSCHEME 0x00000001
642#define UrlIsFileUrlA(x) UrlIsA(x, URLIS_FILEURL)
643#define UrlIsFileUrlW(x) UrlIsW(x, URLIS_FILEURL)
656#define UrlApplyScheme UrlApplySchemeW
657#define UrlCanonicalize UrlCanonicalizeW
658#define UrlCombine UrlCombineW
659#define UrlCompare UrlCompareW
660#define UrlEscape UrlEscapeW
661#define UrlGetLocation UrlGetLocationW
662#define UrlGetPart UrlGetPartW
663#define UrlHash UrlHashW
665#define UrlIsFileUrl UrlIsFileUrlW
666#define UrlIsNoHistory UrlIsNoHistoryW
667#define UrlIsOpaque UrlIsOpaqueW
668#define UrlUnescape UrlUnescapeW
669#define UrlCreateFromPath UrlCreateFromPathW
670#define ParseURL ParseURLW
672#define UrlApplyScheme UrlApplySchemeA
673#define UrlCanonicalize UrlCanonicalizeA
674#define UrlCombine UrlCombineA
675#define UrlCompare UrlCompareA
676#define UrlEscape UrlEscapeA
677#define UrlGetLocation UrlGetLocationA
678#define UrlGetPart UrlGetPartA
679#define UrlHash UrlHashA
681#define UrlIsFileUrl UrlIsFileUrlA
682#define UrlIsNoHistory UrlIsNoHistoryA
683#define UrlIsOpaque UrlIsOpaqueA
684#define UrlUnescape UrlUnescapeA
685#define UrlCreateFromPath UrlCreateFromPathA
686#define ParseURL ParseURLA
689#define UrlEscapeSpaces(x, y, z) UrlCanonicalize(x, y, z, URL_ESCAPE_SPACES_ONLY | URL_DONT_ESCAPE_EXTRA_INFO)
690#define UrlUnescapeInPlace(x, y) UrlUnescape(x, NULL, NULL, y | URL_UNESCAPE_INPLACE)
695#ifndef NO_SHLWAPI_REG
697#define SRRF_RT_REG_NONE 0x0001
698#define SRRF_RT_REG_SZ 0x0002
699#define SRRF_RT_REG_EXPAND_SZ 0x0004
700#define SRRF_RT_REG_BINARY 0x0008
701#define SRRF_RT_REG_DWORD 0x0010
702#define SRRF_RT_REG_MULTI_SZ 0x0020
703#define SRRF_RT_REG_QWORD 0x0040
704#define SRRF_RT_ANY 0xFFFF
705#define SRRF_RT_DWORD (SRRF_RT_REG_BINARY | SRRF_RT_REG_DWORD)
706#define SRRF_RT_QWORD (SRRF_RT_REG_BINARY | SRRF_RT_REG_QWORD)
708#define SRRF_RM_ANY 0x00000
709#define SRRF_RM_NORMAL 0x10000
710#define SRRF_RM_SAFE 0x20000
711#define SRRF_RM_SAFENETWORK 0x40000
713#define SRRF_NOEXPAND 0x10000000
714#define SRRF_ZEROONFAILURE 0x20000000
715#define SRRF_NOVIRT 0x40000000
719#define SHREGSET_HKCU 0x1
720#define SHREGSET_FORCE_HKCU 0x2
721#define SHREGSET_HKLM 0x4
722#define SHREGSET_FORCE_HKLM 0x8
723#define SHREGSET_DEFAULT (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)
801#define SHCopyKey SHCopyKeyW
802#define SHDeleteEmptyKey SHDeleteEmptyKeyW
803#define SHDeleteKey SHDeleteKeyW
804#define SHDeleteOrphanKey SHDeleteOrphanKeyW
805#define SHDeleteValue SHDeleteValueW
806#define SHEnumKeyEx SHEnumKeyExW
807#define SHEnumValue SHEnumValueW
808#define SHGetValue SHGetValueW
809#define SHSetValue SHSetValueW
810#define SHQueryValueEx SHQueryValueExW
811#define SHQueryInfoKey SHQueryInfoKeyW
812#define SHRegCreateUSKey SHRegCreateUSKeyW
813#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyW
814#define SHRegDeleteUSValue SHRegDeleteUSValueW
815#define SHRegEnumUSKey SHRegEnumUSKeyW
816#define SHRegEnumUSValue SHRegEnumUSValueW
817#define SHRegGetBoolUSValue SHRegGetBoolUSValueW
818#define SHRegGetPath SHRegGetPathW
819#define SHRegGetUSValue SHRegGetUSValueW
820#define SHRegGetValue SHRegGetValueW
821#define SHRegOpenUSKey SHRegOpenUSKeyW
822#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyW
823#define SHRegQueryUSValue SHRegQueryUSValueW
824#define SHRegSetPath SHRegSetPathW
825#define SHRegSetUSValue SHRegSetUSValueW
826#define SHRegWriteUSValue SHRegWriteUSValueW
827#define SHRegGetInt SHRegGetIntW
829#define SHCopyKey SHCopyKeyA
830#define SHDeleteEmptyKey SHDeleteEmptyKeyA
831#define SHDeleteKey SHDeleteKeyA
832#define SHDeleteOrphanKey SHDeleteOrphanKeyA
833#define SHDeleteValue SHDeleteValueA
834#define SHEnumKeyEx SHEnumKeyExA
835#define SHEnumValue SHEnumValueA
836#define SHGetValue SHGetValueA
837#define SHSetValue SHSetValueA
838#define SHQueryValueEx SHQueryValueExA
839#define SHQueryInfoKey SHQueryInfoKeyA
840#define SHRegCreateUSKey SHRegCreateUSKeyA
841#define SHRegDeleteEmptyUSKey SHRegDeleteEmptyUSKeyA
842#define SHRegDeleteUSValue SHRegDeleteUSValueA
843#define SHRegEnumUSKey SHRegEnumUSKeyA
844#define SHRegEnumUSValue SHRegEnumUSValueA
845#define SHRegGetBoolUSValue SHRegGetBoolUSValueA
846#define SHRegGetPath SHRegGetPathA
847#define SHRegGetUSValue SHRegGetUSValueA
848#define SHRegGetValue SHRegGetValueA
849#define SHRegOpenUSKey SHRegOpenUSKeyA
850#define SHRegQueryInfoUSKey SHRegQueryInfoUSKeyA
851#define SHRegQueryUSValue SHRegQueryUSValueA
852#define SHRegSetPath SHRegSetPathA
853#define SHRegSetUSValue SHRegSetUSValueA
854#define SHRegWriteUSValue SHRegWriteUSValueA
871#if (NTDDI_VERSION >= NTDDI_WIN8)
876#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
880#if (NTDDI_VERSION >= NTDDI_WIN10_RS4)
897#if (_WIN32_IE >= _WIN32_IE_IE60)
904#if (_WIN32_IE >= _WIN32_IE_IE80)
909#if (NTDDI_VERSION >= NTDDI_WIN10)
931#if (_WIN32_IE >= _WIN32_IE_IE60)
969#define INTERFACE IQueryAssociations
984#if !defined(__cplusplus) || defined(CINTERFACE)
985#define IQueryAssociations_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
986#define IQueryAssociations_AddRef(p) (p)->lpVtbl->AddRef(p)
987#define IQueryAssociations_Release(p) (p)->lpVtbl->Release(p)
988#define IQueryAssociations_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
989#define IQueryAssociations_GetString(p,a,b,c,d,e) (p)->lpVtbl->GetString(p,a,b,c,d,e)
990#define IQueryAssociations_GetKey(p,a,b,c,d) (p)->lpVtbl->GetKey(p,a,b,c,d)
991#define IQueryAssociations_GetData(p,a,b,c,d,e) (p)->lpVtbl->GetData(p,a,b,c,d,e)
992#define IQueryAssociations_GetEnum(p,a,b,c,d,e) (p)->lpVtbl->GetEnum(p,a,b,c,d,e)
998#if (_WIN32_IE >= _WIN32_IE_IE60SP1)
1010#define AssocQueryString AssocQueryStringW
1011#define AssocQueryStringByKey AssocQueryStringByKeyW
1012#define AssocQueryKey AssocQueryKeyW
1014#define AssocQueryString AssocQueryStringA
1015#define AssocQueryStringByKey AssocQueryStringByKeyA
1016#define AssocQueryKey AssocQueryKeyA
1022#ifndef NO_SHLWAPI_STREAM
1036#define SHCreateStreamOnFile SHCreateStreamOnFileW
1037#define SHOpenRegStream SHOpenRegStream2W
1038#define SHOpenRegStream2 SHOpenRegStream2W
1040#define SHCreateStreamOnFile SHCreateStreamOnFileA
1041#define SHOpenRegStream SHOpenRegStream2A
1042#define SHOpenRegStream2 SHOpenRegStream2A
1047#if !defined(IStream_Read) && defined(__cplusplus)
1056#ifndef NO_SHLWAPI_STRFCNS
1058#define STIF_DEFAULT 0x0L
1059#define STIF_SUPPORT_HEX 0x1L
1068#if (_WIN32_IE >= _WIN32_IE_IE60)
1080#define IntlStrEqNA(s1,s2,n) IntlStrEqWorkerA(TRUE,s1,s2,n)
1081#define IntlStrEqNW(s1,s2,n) IntlStrEqWorkerW(TRUE,s1,s2,n)
1082#define IntlStrEqNIA(s1,s2,n) IntlStrEqWorkerA(FALSE,s1,s2,n)
1083#define IntlStrEqNIW(s1,s2,n) IntlStrEqWorkerW(FALSE,s1,s2,n)
1086#define StrCatA lstrcatA
1094#define StrCmpA lstrcmpA
1096#define StrCmpIA lstrcmpiA
1102#define StrCpyA lstrcpyA
1104#define StrCpyNA lstrcpynA
1119#define StrIntlEqNA(a,b,c) StrIsIntlEqualA(TRUE,a,b,c)
1120#define StrIntlEqNW(a,b,c) StrIsIntlEqualW(TRUE,a,b,c)
1121#define StrIntlEqNIA(a,b,c) StrIsIntlEqualA(FALSE,a,b,c)
1122#define StrIntlEqNIW(a,b,c) StrIsIntlEqualW(FALSE,a,b,c)
1155#if (_WIN32_IE >= _WIN32_IE_IE60)
1159#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
1166#define ChrCmpI ChrCmpIW
1167#define IntlStrEqN IntlStrEqNW
1168#define IntlStrEqNI IntlStrEqNIW
1169#define SHStrDup SHStrDupW
1170#define StrCat StrCatW
1171#define StrCatBuff StrCatBuffW
1172#define StrChr StrChrW
1173#define StrChrI StrChrIW
1174#define StrCmp StrCmpW
1175#define StrCmpI StrCmpIW
1176#define StrCmpN StrCmpNW
1177#define StrCmpNI StrCmpNIW
1178#define StrCpy StrCpyW
1179#define StrCpyN StrCpyNW
1180#define StrCSpn StrCSpnW
1181#define StrCSpnI StrCSpnIW
1182#define StrDup StrDupW
1183#define StrFormatByteSize StrFormatByteSizeW
1184#define StrFormatByteSize64 StrFormatByteSizeW
1185#define StrFormatKBSize StrFormatKBSizeW
1186#define StrFromTimeInterval StrFromTimeIntervalW
1187#define StrIntlEqN StrIntlEqNW
1188#define StrIntlEqNI StrIntlEqNIW
1189#define StrIsIntlEqual StrIsIntlEqualW
1190#define StrNCat StrNCatW
1191#define StrPBrk StrPBrkW
1192#define StrRChr StrRChrW
1193#define StrRChrI StrRChrIW
1194#define StrRStrI StrRStrIW
1195#define StrRetToBuf StrRetToBufW
1196#define StrRetToStr StrRetToStrW
1197#define StrSpn StrSpnW
1198#define StrStr StrStrW
1199#define StrStrI StrStrIW
1200#define StrToInt StrToIntW
1201#define StrToIntEx StrToIntExW
1202#define StrTrim StrTrimW
1203#define wnsprintf wnsprintfW
1204#define wvnsprintf wvnsprintfW
1205#if (_WIN32_IE >= _WIN32_IE_IE60)
1206#define StrToInt64Ex StrToInt64ExW
1208#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
1209#define IsCharSpace IsCharSpaceW
1212#define ChrCmpI ChrCmpIA
1213#define IntlStrEqN IntlStrEqNA
1214#define IntlStrEqNI IntlStrEqNIA
1215#define SHStrDup SHStrDupA
1216#define StrCat StrCatA
1217#define StrCatBuff StrCatBuffA
1218#define StrChr StrChrA
1219#define StrChrI StrChrIA
1220#define StrCmp StrCmpA
1221#define StrCmpI StrCmpIA
1222#define StrCmpN StrCmpNA
1223#define StrCmpNI StrCmpNIA
1224#define StrCpy StrCpyA
1225#define StrCpyN StrCpyNA
1226#define StrCSpn StrCSpnA
1227#define StrCSpnI StrCSpnIA
1228#define StrDup StrDupA
1229#define StrFormatByteSize StrFormatByteSizeA
1230#define StrFormatByteSize64 StrFormatByteSize64A
1231#define StrFormatKBSize StrFormatKBSizeA
1232#define StrFromTimeInterval StrFromTimeIntervalA
1233#define StrIntlEqN StrIntlEqNA
1234#define StrIntlEqNI StrIntlEqNIA
1235#define StrIsIntlEqual StrIsIntlEqualA
1236#define StrNCat StrNCatA
1237#define StrPBrk StrPBrkA
1238#define StrRChr StrRChrA
1239#define StrRChrI StrRChrIA
1240#define StrRStrI StrRStrIA
1241#define StrRetToBuf StrRetToBufA
1242#define StrRetToStr StrRetToStrA
1243#define StrSpn StrSpnA
1244#define StrStr StrStrA
1245#define StrStrI StrStrIA
1246#define StrToInt StrToIntA
1247#define StrToIntEx StrToIntExA
1248#define StrTrim StrTrimA
1249#define wnsprintf wnsprintfA
1250#define wvnsprintf wvnsprintfA
1251#if (_WIN32_IE >= _WIN32_IE_IE60)
1252#define StrToInt64Ex StrToInt64ExA
1254#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
1255#define IsCharSpace IsCharSpaceA
1259#if (NTDDI_VERSION >= NTDDI_VISTASP1)
#define DECLARE_INTERFACE_(i, b)
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)
HANDLE WINAPI SHAllocShared(LPCVOID lpvData, DWORD dwSize, DWORD dwProcId)
VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown)
HPALETTE WINAPI SHCreateShellPalette(HDC hdc)
BOOL WINAPI IsOS(DWORD feature)
INT WINAPI GetMenuPosFromID(HMENU hMenu, UINT wID)
void WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown)
COLORREF WINAPI ColorHLSToRGB(WORD wHue, WORD wLuminosity, WORD wSaturation)
PVOID WINAPI SHLockShared(HANDLE hShared, DWORD dwProcId)
BOOL WINAPI SHSkipJunction(IBindCtx *pbc, const CLSID *pclsid)
BOOL WINAPI SHFreeShared(HANDLE hShared, DWORD dwProcId)
COLORREF WINAPI ColorAdjustLuma(COLORREF cRGB, int dwLuma, BOOL bUnknown)
BOOL WINAPI SHUnlockShared(LPVOID lpView)
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)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE
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
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
_In_ LPWSTR _In_ DWORD _In_ LPCVOID pvData
#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
@ 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_PER_MACHINE_ONLY
@ 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 *)
_In_ _Out_writes_ pcchName _Inout_ LPDWORD pcchName
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)
_In_ DWORD _In_ DWORD dwDestinationProcessId
STDAPI QISearch(_Inout_ void *base, _In_ const QITAB *pqit, _In_ REFIID riid, _Outptr_ void **ppv)
LWSTDAPI IUnknown_SetSite(_In_ IUnknown *punk, _In_opt_ IUnknown *punkSite)
@ ASSOCSTR_SUPPORTED_URI_PROTOCOLS
@ ASSOCSTR_DELEGATEEXECUTE
@ ASSOCSTR_SHELLEXTENSION
@ ASSOCSTR_DDEAPPLICATION
@ ASSOCSTR_FRIENDLYDOCNAME
@ ASSOCSTR_APPICONREFERENCE
@ ASSOCSTR_FRIENDLYAPPNAME
struct tagPARSEDURLW * PPARSEDURLW
LWSTDAPI StrRetToStrA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ LPSTR *)
_In_opt_ _In_opt_ _In_ _In_ DWORD cbData
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 **)
_In_opt_ LPCSTR _In_opt_ LPCSTR _In_ SRRF _Out_opt_ LPDWORD pdwType
_In_opt_ _Inout_opt_ _Out_writes_bytes_to_opt_ pcbData _Inout_opt_ LPDWORD _In_ _In_ DWORD dwDefaultDataSize
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)
_In_ _Out_writes_opt_ pcchValueName _Inout_opt_ LPDWORD pcchValueName
struct IQueryAssociations * LPQUERYASSOCIATIONS
STDAPI DllInstall(BOOL, _In_opt_ LPCWSTR) DECLSPEC_HIDDEN
struct tagPARSEDURLA PARSEDURLA
LWSTDAPI PathCreateFromUrlW(_In_ LPCWSTR pszUrl, _Out_writes_to_(*pcchPath, *pcchPath) LPWSTR pszPath, _Inout_ LPDWORD pcchPath, DWORD dwFlags)
struct tagPARSEDURLW PARSEDURLW
LWSTDAPI SHGetViewStatePropertyBag(_In_opt_ PCIDLIST_ABSOLUTE pidl, _In_opt_ LPCWSTR bag_name, _In_ DWORD flags, _In_ REFIID riid, _Outptr_ void **ppv)
_In_ _Out_writes_opt_ pcchValueName _Inout_opt_ LPDWORD _Out_opt_ _Out_writes_bytes_to_opt_ pcbData _Inout_opt_ LPDWORD pcbData
_In_opt_ LPCSTR pszSubKey
LWSTDAPI AssocQueryStringW(_In_ ASSOCF, _In_ ASSOCSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_writes_opt_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut)
@ FTA_AlwaysUseDirectInvoke
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 *)
_In_opt_ LPCSTR _In_opt_ LPCWSTR int iArraySize
HRESULT(CALLBACK * DLLGETVERSIONPROC)(DLLVERSIONINFO *)
struct tagPARSEDURLA * PPARSEDURLA
struct _DLLVERSIONINFO2 DLLVERSIONINFO2
_In_opt_ LPCSTR _In_opt_ LPCSTR _In_ SRRF srrfFlags
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_ LPCSTR _In_opt_ LPCSTR pszValue
_In_opt_ void _In_ DWORD flags
_In_opt_ void _In_ DWORD _In_opt_ LPTHREAD_START_ROUTINE pfnCallback
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 ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
WINSHLWAPI LSTATUS WINAPI SHRegGetValueA(HKEY, LPCSTR, LPCSTR, SRRF, LPDWORD, LPVOID, LPDWORD)
WINSHLWAPI LSTATUS WINAPI SHRegGetValueW(HKEY, LPCWSTR, LPCWSTR, SRRF, LPDWORD, LPVOID, LPDWORD)