ReactOS 0.4.16-dev-1946-g52006dd
shlwapi.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS SDK
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: shlwapi header
5 * COPYRIGHT: Copyright 2025 Carl Bialorucki (carl.bialorucki@reactos.org)
6 */
7
8#ifndef _INC_SHLWAPI
9#define _INC_SHLWAPI
10#ifndef NOSHLWAPI
11
12#include <specstrings.h>
13#include <objbase.h>
14#include <shtypes.h>
15#include <pshpack8.h>
16
17#ifndef WINSHLWAPI
18#ifdef __GNUC__
19/* FIXME: HACK: CORE-6504 */
20#define LWSTDAPI_(t) t WINAPI
21#define LWSTDAPIV_(t) t WINAPIV
22#else
23#ifndef _SHLWAPI_
24#define LWSTDAPI_(t) EXTERN_C DECLSPEC_IMPORT t STDAPICALLTYPE
25#define LWSTDAPIV_(t) EXTERN_C DECLSPEC_IMPORT t STDAPIVCALLTYPE
26#else
27#define LWSTDAPI_(t) STDAPI_(t)
28#define LWSTDAPIV_(t) STDAPIV_(t)
29#endif // _SHLWAPI_
30#endif // __GNUC__
31#define LWSTDAPI LWSTDAPI_(HRESULT)
32#define LWSTDAPIV LWSTDAPIV_(HRESULT)
33#endif // WINSHLWAPI
34
35#ifdef __cplusplus
36extern "C" {
37#endif
38
39/*
40 * GLOBAL SHLWAPI DEFINITIONS
41 * These definitions are always available.
42 */
43
44/* SHAutoComplete definitions */
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
54#endif // _WIN32_IE_IE60
55#if (_WIN32_IE >= _WIN32_IE_IE70)
56#define SHACF_VIRTUAL_NAMESPACE 0x00000040
57#endif // _WIN32_IE_IE70
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
62
68
69/* SHCreateThread definitions */
70enum {
71 CTF_INSIST = 0x0001,
75 CTF_COINIT = 0x0008,
76#if (_WIN32_IE >= _WIN32_IE_IE60)
80#endif // _WIN32_IE_IE60
81#if (_WIN32_IE >= _WIN32_IE_IE70)
82 CTF_UNUSED = 0x0080,
84#endif // _WIN32_IE_IE70
85#if (NTDDI_VERSION >= NTDDI_VISTA)
87#endif // NTDDI_VERSION >= NTDDI_VISTA
88#if (NTDDI_VERSION >= NTDDI_WIN7)
93#endif // NTDDI_VERSION >= NTDDI_WIN7
94};
95
96/* SHFormatDateTime definitions */
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
106
107/* DLL version definitions */
108#define DLLVER_MAJOR_MASK 0xFFFF000000000000
109#define DLLVER_MINOR_MASK 0x0000FFFF00000000
110#define DLLVER_BUILD_MASK 0x00000000FFFF0000
111#define DLLVER_QFE_MASK 0x000000000000FFFF
112
113#define MAKEDLLVERULL(major, minor, build, qfe) \
114 (((ULONGLONG)(major) << 48) | ((ULONGLONG)(minor) << 32) | ((ULONGLONG)(build) << 16) | (ULONGLONG)(qfe))
115
116#define DLLVER_PLATFORM_WINDOWS 0x01 // Windows 9.x
117#define DLLVER_PLATFORM_NT 0x02 // Windows NT
118
119typedef struct _DllVersionInfo {
126
128
129typedef struct _DLLVERSIONINFO2 {
134
136
137/* QueryInterface definitions */
138typedef struct
139{
140 const IID *piid;
141#if defined(__REACTOS__) || (WINVER >= _WIN32_WINNT_WIN10)
143#else
144 int dwOffset;
145#endif
147
148#define OFFSETOFCLASS(base, derived) \
149 ((DWORD)(DWORD_PTR)(static_cast<base*>((derived*)8))-8)
150
151#define QITABENTMULTI(Cthis, Ifoo, Iimpl) { &IID_##Ifoo, OFFSETOFCLASS(Iimpl, Cthis) }
152#define QITABENT(Cthis, Ifoo) QITABENTMULTI(Cthis, Ifoo, Ifoo)
154
155/* Miscellaneous shell functions */
164
165/* Version gated definitions */
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)
178
181#endif // (_WIN32_IE >= _WIN32_IE_IE60)
182
183#if (_WIN32_IE >= 0x0602)
185#endif // (_WIN32_IE >= 0x0602)
186
187/* According to Geoff Chappell, SHAllocShared, SHFreeShared, SHLockShared, and SHUnlockShared
188 * were available in shlwapi.dll starting with IE40. However, Microsoft didn't expose them
189 * in their public shlwapi header until IE60SP2.
190 */
191#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
197#endif // _WIN32_IE >= _WIN32_IE_IE60SP2
198
199/*
200 * OPTIONAL SHLWAPI DEFINITIONS
201 * These definitions can be turned on or off depending on what constants are defined.
202 *
203 * | Constant | Effect |
204 * |--------------------|-----------------------------|
205 * | NO_SHLWAPI_GDI | Disables GDI functions |
206 * | NO_SHLWAPI_ISOS | Disables IsOS function |
207 * | NO_SHLWAPI_PATH | Disables path functions |
208 * | NO_SHLWAPI_REG | Disables registry functions |
209 * | NO_SHLWAPI_STREAM | Disables stream functions |
210 * | NO_SHLWAPI_STRFCNS | Disables string functions |
211 */
212
213/* GDI functions */
214#ifndef NO_SHLWAPI_GDI
215
220
221#endif // NO_SHLWAPI_GDI
222
223/* IsOS function */
224#ifndef NO_SHLWAPI_ISOS
225
226#define OS_WINDOWS 0
227#define OS_NT 1
228#define OS_WIN95ORGREATER 2
229#define OS_NT4ORGREATER 3
230/* 4 is omitted on purpose */
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
245#define OS_HOME 19
246#define OS_PROFESSIONAL 20
247#define OS_DATACENTER 21
248#define OS_ADVSERVER 22
249#define OS_SERVER 23
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
256#define OS_WOW6432 30
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
263
264LWSTDAPI_(BOOL) IsOS(DWORD dwOS);
265
266#endif // NO_SHLWAPI_ISOS
267
268/* Path functions */
269#ifndef NO_SHLWAPI_PATH
270
271#define GCT_INVALID 0x0
272#define GCT_LFNCHAR 0x1
273#define GCT_SHORTCHAR 0x2
274#define GCT_WILD 0x4
275#define GCT_SEPARATOR 0x8
276
277LWSTDAPI HashData(_In_reads_bytes_(cbData) const unsigned char *, DWORD cbData, _Out_writes_bytes_(cbHash) unsigned char *lpDest, DWORD cbHash);
278#if (_WIN32_IE >= _WIN32_IE_IE70)
280#endif // _WIN32_IE_IE70
281
356#if (_WIN32_IE >= _WIN32_IE_IE70)
359#endif // _WIN32_IE_IE70
396
397#ifdef UNICODE
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
437#endif // _WIN32_IE_IE70
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
456#else
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
496#endif // _WIN32_IE_IE70
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
515#endif // UNICODE
516
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
541
542typedef enum {
563#if (_WIN32_IE >= _WIN32_IE_IE60)
567#endif // _WIN32_IE_IE60
568#if (_WIN32_IE >= _WIN32_IE_IE70)
571#endif // _WIN32_IE_IE70
572#if (NTDDI_VERSION >= NTDDI_VISTA)
574#endif // NTDDI_VISTA
575#if (NTDDI_VERSION >= NTDDI_VISTASP1)
577#endif // NTDDI_VISTASP1
578#if (NTDDI_VERSION >= NTDDI_WIN7)
580#endif // NTDDI_WIN7
583
584typedef enum {
593
594#define URL_PARTFLAG_KEEPSCHEME 0x00000001
595
596typedef enum {
605
606typedef struct tagPARSEDURLA {
614
615typedef struct tagPARSEDURLW {
623
626LWSTDAPI UrlCanonicalizeA(_In_ LPCSTR, _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPSTR, _Inout_ LPDWORD pcchCanonicalized, DWORD);
627LWSTDAPI UrlCanonicalizeW(_In_ LPCWSTR, _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPWSTR, _Inout_ LPDWORD pcchCanonicalized, DWORD);
628LWSTDAPI UrlCombineA(_In_ LPCSTR, _In_ LPCSTR, _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPSTR, _Inout_ LPDWORD pcchCombined, DWORD);
632LWSTDAPI UrlEscapeA(_In_ LPCSTR, _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPSTR, _Inout_ LPDWORD pcchEscaped, DWORD);
633LWSTDAPI UrlEscapeW(_In_ LPCWSTR, _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPWSTR, _Inout_ LPDWORD pcchEscaped, DWORD);
638LWSTDAPI UrlHashA(_In_ LPCSTR, _Out_writes_bytes_(cbHash) unsigned char *, DWORD cbHash);
639LWSTDAPI UrlHashW(_In_ LPCWSTR, _Out_writes_bytes_(cbHash) unsigned char *, DWORD cbHash);
642#define UrlIsFileUrlA(x) UrlIsA(x, URLIS_FILEURL)
643#define UrlIsFileUrlW(x) UrlIsW(x, URLIS_FILEURL)
648LWSTDAPI UrlUnescapeA(_Inout_ LPSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD);
649LWSTDAPI UrlUnescapeW(_Inout_ LPWSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPWSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD);
654
655#ifdef UNICODE
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
664#define UrlIs UrlIsW
665#define UrlIsFileUrl UrlIsFileUrlW
666#define UrlIsNoHistory UrlIsNoHistoryW
667#define UrlIsOpaque UrlIsOpaqueW
668#define UrlUnescape UrlUnescapeW
669#define UrlCreateFromPath UrlCreateFromPathW
670#define ParseURL ParseURLW
671#else
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
680#define UrlIs UrlIsA
681#define UrlIsFileUrl UrlIsFileUrlA
682#define UrlIsNoHistory UrlIsNoHistoryA
683#define UrlIsOpaque UrlIsOpaqueA
684#define UrlUnescape UrlUnescapeA
685#define UrlCreateFromPath UrlCreateFromPathA
686#define ParseURL ParseURLA
687#endif // UNICODE
688
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)
691
692#endif // NO_SHLWAPI_PATH
693
694/* Registry functions */
695#ifndef NO_SHLWAPI_REG
696
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)
707
708#define SRRF_RM_ANY 0x00000
709#define SRRF_RM_NORMAL 0x10000
710#define SRRF_RM_SAFE 0x20000
711#define SRRF_RM_SAFENETWORK 0x40000
712
713#define SRRF_NOEXPAND 0x10000000
714#define SRRF_ZEROONFAILURE 0x20000000
715#define SRRF_NOVIRT 0x40000000
716
717typedef INT SRRF;
718
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)
724
725typedef enum {
731
732typedef enum {
738
741
744
797/* This only exists for the -W variant. */
799
800#ifdef UNICODE
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
828#else
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
855#endif // UNICODE
856
857enum {
858 ASSOCF_NONE = 0x00000000,
865 ASSOCF_NOTRUNCATE = 0x00000020,
866 ASSOCF_VERIFY = 0x00000040,
867 ASSOCF_REMAPRUNDLL = 0x00000080,
868 ASSOCF_NOFIXUPS = 0x00000100,
871#if (NTDDI_VERSION >= NTDDI_WIN8)
873 ASSOCF_IS_PROTOCOL = 0x00001000,
875#endif // NTDDI_WIN8
876#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
877 ASSOCF_IS_FULL_URI = 0x00004000,
879#endif // NTDDI_WIN10_RS1
880#if (NTDDI_VERSION >= NTDDI_WIN10_RS4)
881ASSOCF_APP_TO_APP = 0x00010000,
882#endif // NTDDI_WIN10_RS4
883};
884
885typedef enum {
897#if (_WIN32_IE >= _WIN32_IE_IE60)
903#endif // _WIN32_IE_IE60
904#if (_WIN32_IE >= _WIN32_IE_IE80)
907#endif // _WIN32_IE_IE80
909#if (NTDDI_VERSION >= NTDDI_WIN10)
914#endif // NTDDI_WIN10
917
918typedef enum {
925
926typedef enum {
931#if (_WIN32_IE >= _WIN32_IE_IE60)
934#endif // _WIN32_IE_IE60
937
938typedef enum {
941
942typedef enum {
943 FTA_None = 0x00000000,
944 FTA_Exclude = 0x00000001,
945 FTA_Show = 0x00000002,
946 FTA_HasExtension = 0x00000004,
947 FTA_NoEdit = 0x00000008,
948 FTA_NoRemove = 0x00000010,
949 FTA_NoNewVerb = 0x00000020,
950 FTA_NoEditVerb = 0x00000040,
951 FTA_NoRemoveVerb = 0x00000080,
952 FTA_NoEditDesc = 0x00000100,
953 FTA_NoEditIcon = 0x00000200,
954 FTA_NoEditDflt = 0x00000400,
955 FTA_NoEditVerbCmd = 0x00000800,
956 FTA_NoEditVerbExe = 0x00001000,
957 FTA_NoDDE = 0x00002000,
958 FTA_NoEditMIME = 0x00008000,
959 FTA_OpenIsSafe = 0x00010000,
960 FTA_AlwaysUnsafe = 0x00020000,
961 FTA_NoRecentDocs = 0x00100000,
963 FTA_AlwaysUseDirectInvoke = 0x00400000
966
967typedef DWORD ASSOCF;
968
969#define INTERFACE IQueryAssociations
970DECLARE_INTERFACE_(IQueryAssociations,IUnknown)
971{
975
977 STDMETHOD(GetString)(THIS_ _In_ ASSOCF flags, _In_ ASSOCSTR str, _In_opt_ LPCWSTR pszExtra, _Out_writes_opt_(*pcchOut) LPWSTR pszOut, _Inout_ DWORD *pcchOut) PURE;
978 STDMETHOD(GetKey)(THIS_ _In_ ASSOCF flags, _In_ ASSOCKEY key, _In_opt_ LPCWSTR pszExtra, _Out_ HKEY *phkeyOut) PURE;
980 STDMETHOD(GetEnum)(THIS_ _In_ ASSOCF flags, _In_ ASSOCENUM assocenum, _In_opt_ LPCWSTR pszExtra, _In_ REFIID riid, _Outptr_ LPVOID *ppvOut) PURE;
981};
982#undef INTERFACE
983
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)
993#endif
994
995typedef struct IQueryAssociations *LPQUERYASSOCIATIONS;
996
998#if (_WIN32_IE >= _WIN32_IE_IE60SP1)
1000#endif // _WIN32_IE_IE60SP1
1001
1008
1009#ifdef UNICODE
1010#define AssocQueryString AssocQueryStringW
1011#define AssocQueryStringByKey AssocQueryStringByKeyW
1012#define AssocQueryKey AssocQueryKeyW
1013#else
1014#define AssocQueryString AssocQueryStringA
1015#define AssocQueryStringByKey AssocQueryStringByKeyA
1016#define AssocQueryKey AssocQueryKeyA
1017#endif
1018
1019#endif // NO_SHLWAPI_REG
1020
1021/* Stream functions */
1022#ifndef NO_SHLWAPI_STREAM
1023
1027
1034
1035#ifdef UNICODE
1036#define SHCreateStreamOnFile SHCreateStreamOnFileW
1037#define SHOpenRegStream SHOpenRegStream2W
1038#define SHOpenRegStream2 SHOpenRegStream2W
1039#else
1040#define SHCreateStreamOnFile SHCreateStreamOnFileA
1041#define SHOpenRegStream SHOpenRegStream2A
1042#define SHOpenRegStream2 SHOpenRegStream2A
1043#endif // UNICODE
1044
1045#ifndef _SHLWAPI_
1047#if !defined(IStream_Read) && defined(__cplusplus)
1048LWSTDAPI IStream_Read(_In_ struct IStream*, _Out_ void*, _In_ ULONG);
1049LWSTDAPI IStream_Write(_In_ struct IStream*, _In_ const void*, _In_ ULONG);
1050#endif
1051#endif // _SHLWAPI_
1052
1053#endif // NO_SHLWAPI_STREAM
1054
1055/* String functions */
1056#ifndef NO_SHLWAPI_STRFCNS
1057
1058#define STIF_DEFAULT 0x0L
1059#define STIF_SUPPORT_HEX 0x1L
1060
1061// These functions don't have -A and -W variants
1064
1065// These functions only exist as -W variants and don't have suffixless definitions
1068#if (_WIN32_IE >= _WIN32_IE_IE60)
1071#endif // _WIN32_IE_IE60
1072
1073// IntlStrEqWorker exists in both an -A and -W variant but doesn't have a suffixless definition
1076
1077// Normal -A and -W functions with a suffixless definition
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)
1158#endif // _WIN32_IE_IE60
1159#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
1162#endif // _WIN32_IE_IE60SP2
1163
1164
1165#ifdef UNICODE
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
1207#endif // _WIN32_IE_IE60
1208#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
1209#define IsCharSpace IsCharSpaceW
1210#endif // _WIN32_IE_IE60SP2
1211#else
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
1253#endif // _WIN32_IE_IE60
1254#if (_WIN32_IE >= _WIN32_IE_IE60SP2)
1255#define IsCharSpace IsCharSpaceA
1256#endif // _WIN32_IE_IE60SP2
1257#endif // UNICODE
1258
1259#if (NTDDI_VERSION >= NTDDI_VISTASP1)
1260typedef int SFBS_FLAGS;
1261
1263{
1267
1269#endif // NTDDI_VISTASP1
1270
1271#endif // NO_SHLWAPI_STRFCNS
1272
1273#ifdef __cplusplus
1274}
1275#endif // __cplusplus
1276
1277#include <poppack.h>
1278
1279#endif // NOSHLWAPI
1280#endif // _INC_SHLWAPI
char * va_list
Definition: acmsvcex.h:78
#define STDAPI
Definition: basetyps.h:41
#define DECLARE_INTERFACE_(i, b)
Definition: basetyps.h:78
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
INT WINAPI StrToIntW(LPCWSTR lpString)
Definition: string.c:407
BOOL WINAPI IntlStrEqWorkerA(BOOL bCase, LPCSTR lpszStr, LPCSTR lpszComp, int iLen)
Definition: string.c:860
LPWSTR WINAPI StrChrIW(LPCWSTR lpszStr, WCHAR ch)
Definition: string.c:631
LPSTR WINAPI StrRStrIA(LPCSTR lpszStr, LPCSTR lpszEnd, LPCSTR lpszSearch)
Definition: string.c:662
int WINAPI StrCSpnIA(LPCSTR lpszStr, LPCSTR lpszMatch)
Definition: string.c:746
int WINAPI StrCSpnW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
Definition: string.c:839
LPWSTR WINAPI StrChrW(LPCWSTR lpszStr, WCHAR ch)
Definition: string.c:464
LPWSTR WINAPI StrRChrW(LPCWSTR str, LPCWSTR end, WORD ch)
Definition: string.c:552
LPSTR WINAPI StrStrIA(LPCSTR lpszStr, LPCSTR lpszSearch)
Definition: string.c:351
LPSTR WINAPI StrRChrIA(LPCSTR lpszStr, LPCSTR lpszEnd, WORD ch)
Definition: string.c:790
INT WINAPI StrCmpNIA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
Definition: string.c:296
BOOL WINAPI IntlStrEqWorkerW(BOOL bCase, LPCWSTR lpszStr, LPCWSTR lpszComp, int iLen)
Definition: string.c:888
LPSTR WINAPI StrChrIA(LPCSTR lpszStr, WORD ch)
Definition: string.c:610
LPWSTR WINAPI StrRChrIW(LPCWSTR str, LPCWSTR end, WORD ch)
Definition: string.c:820
LPWSTR WINAPI StrStrW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
Definition: string.c:590
LPSTR WINAPI StrRChrA(LPCSTR lpszStr, LPCSTR lpszEnd, WORD ch)
Definition: string.c:521
INT WINAPI StrToIntA(LPCSTR lpszStr)
Definition: string.c:370
int WINAPI StrCSpnIW(LPCWSTR lpszStr, LPCWSTR lpszMatch)
Definition: string.c:758
LPSTR WINAPI StrChrA(LPCSTR lpszStr, WORD ch)
Definition: string.c:266
INT WINAPI StrCmpNIW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
Definition: string.c:307
LPWSTR WINAPI StrStrIW(LPCWSTR lpszStr, LPCWSTR lpszSearch)
Definition: string.c:380
int WINAPI StrCSpnA(LPCSTR lpszStr, LPCSTR lpszMatch)
Definition: string.c:452
INT WINAPI StrCmpNW(LPCWSTR lpszStr, LPCWSTR lpszComp, INT iLen)
Definition: string.c:500
LPSTR WINAPI StrStrA(LPCSTR lpszStr, LPCSTR lpszSearch)
Definition: string.c:578
LPWSTR WINAPI StrRStrIW(LPCWSTR lpszStr, LPCWSTR lpszEnd, LPCWSTR lpszSearch)
Definition: string.c:702
INT WINAPI StrCmpNA(LPCSTR lpszStr, LPCSTR lpszComp, INT iLen)
Definition: string.c:489
OLECHAR * BSTR
Definition: compat.h:2293
#define MAX_PATH
Definition: compat.h:34
#define CALLBACK
Definition: compat.h:35
BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceW(WCHAR wc)
Definition: locale.c:6610
BOOL WINAPI DECLSPEC_HOTPATCH IsCharSpaceA(CHAR c)
Definition: locale.c:6598
int WINAPI PathCommonPrefixW(const WCHAR *file1, const WCHAR *file2, WCHAR *path)
Definition: path.c:1620
BOOL WINAPI PathIsRootA(const char *path)
Definition: path.c:1088
BOOL WINAPI PathMatchSpecA(const char *path, const char *mask)
Definition: path.c:2456
BOOL WINAPI PathIsSameRootW(const WCHAR *path1, const WCHAR *path2)
Definition: path.c:2576
void WINAPI PathRemoveExtensionW(WCHAR *path)
Definition: path.c:1946
void WINAPI PathRemoveBlanksW(WCHAR *path)
Definition: path.c:1910
BOOL WINAPI PathIsUNCW(const WCHAR *path)
Definition: path.c:1013
const WCHAR *WINAPI UrlGetLocationW(const WCHAR *url)
Definition: path.c:4506
LPSTR WINAPI PathFindExtensionA(const char *path)
Definition: path.c:1253
INT WINAPI UrlCompareW(const WCHAR *url1, const WCHAR *url2, BOOL ignore_slash)
Definition: path.c:4454
BOOL WINAPI PathIsPrefixA(const char *prefix, const char *path)
Definition: path.c:1670
BOOL WINAPI IsInternetESCEnabled(void)
Definition: path.c:5303
int WINAPI PathCommonPrefixA(const char *file1, const char *file2, char *path)
Definition: path.c:1570
void WINAPI PathRemoveBlanksA(char *path)
Definition: path.c:1886
void WINAPI PathUnquoteSpacesW(WCHAR *path)
Definition: path.c:2006
int WINAPI PathGetDriveNumberW(const WCHAR *path)
Definition: path.c:1810
void WINAPI PathQuoteSpacesA(char *path)
Definition: path.c:2526
BOOL WINAPI PathRemoveFileSpecA(char *path)
Definition: path.c:1108
WCHAR *WINAPI PathRemoveBackslashW(WCHAR *path)
Definition: path.c:2040
BOOL WINAPI UrlIsNoHistoryA(const char *url)
Definition: path.c:4868
BOOL WINAPI PathIsUNCServerShareW(const WCHAR *path)
Definition: path.c:1064
BOOL WINAPI PathIsUNCServerA(const char *path)
Definition: path.c:1859
BOOL WINAPI PathIsFileSpecA(const char *path)
Definition: path.c:1825
INT WINAPI UrlCompareA(const char *url1, const char *url2, BOOL ignore_slash)
Definition: path.c:4435
WCHAR *WINAPI PathFindFileNameW(const WCHAR *path)
Definition: path.c:1701
const char *WINAPI UrlGetLocationA(const char *url)
Definition: path.c:4491
BOOL WINAPI PathFileExistsA(const char *path)
Definition: path.c:2590
BOOL WINAPI UrlIsW(const WCHAR *url, URLIS Urlis)
Definition: path.c:4812
UINT WINAPI PathGetCharTypeA(UCHAR ch)
Definition: path.c:1793
BOOL WINAPI UrlIsOpaqueA(const char *url)
Definition: path.c:4858
BOOL WINAPI PathRelativePathToA(char *path, const char *from, DWORD attributes_from, const char *to, DWORD attributes_to)
Definition: path.c:2357
char *WINAPI PathFindNextComponentA(const char *path)
Definition: path.c:2229
char *WINAPI PathGetArgsA(const char *path)
Definition: path.c:1718
BOOL WINAPI PathSearchAndQualifyA(const char *path, char *buffer, UINT length)
Definition: path.c:2338
BOOL WINAPI UrlIsOpaqueW(const WCHAR *url)
Definition: path.c:4863
void WINAPI PathStripPathA(char *path)
Definition: path.c:2316
void WINAPI PathStripPathW(WCHAR *path)
Definition: path.c:2328
BOOL WINAPI PathRemoveFileSpecW(WCHAR *path)
Definition: path.c:1145
void WINAPI PathRemoveExtensionA(char *path)
Definition: path.c:1934
LPWSTR WINAPI PathFindExtensionW(const WCHAR *path)
Definition: path.c:1274
char *WINAPI PathSkipRootA(const char *path)
Definition: path.c:2267
BOOL WINAPI PathUnExpandEnvStringsW(const WCHAR *path, WCHAR *buffer, UINT buf_len)
Definition: path.c:2705
int WINAPI PathGetDriveNumberA(const char *path)
Definition: path.c:1798
BOOL WINAPI PathIsRelativeA(const char *path)
Definition: path.c:1020
int WINAPI PathParseIconLocationA(char *path)
Definition: path.c:2623
void WINAPI PathUnquoteSpacesA(char *path)
Definition: path.c:1988
BOOL WINAPI PathIsRelativeW(const WCHAR *path)
Definition: path.c:1030
int WINAPI PathParseIconLocationW(WCHAR *path)
Definition: path.c:2644
BOOL WINAPI UrlIsA(const char *url, URLIS Urlis)
Definition: path.c:4775
BOOL WINAPI PathSearchAndQualifyW(const WCHAR *path, WCHAR *buffer, UINT length)
Definition: path.c:2348
char *WINAPI PathRemoveBackslashA(char *path)
Definition: path.c:2024
BOOL WINAPI PathStripToRootW(WCHAR *path)
Definition: path.c:1195
BOOL WINAPI PathStripToRootA(char *path)
Definition: path.c:1181
BOOL WINAPI PathIsSameRootA(const char *path1, const char *path2)
Definition: path.c:2562
BOOL WINAPI UrlIsNoHistoryW(const WCHAR *url)
Definition: path.c:4873
BOOL WINAPI PathIsUNCServerW(const WCHAR *path)
Definition: path.c:1876
BOOL WINAPI PathIsURLW(const WCHAR *path)
Definition: path.c:3238
BOOL WINAPI PathMatchSpecW(const WCHAR *path, const WCHAR *mask)
Definition: path.c:2521
WCHAR *WINAPI PathGetArgsW(const WCHAR *path)
Definition: path.c:1740
BOOL WINAPI PathIsLFNFileSpecA(const char *path)
Definition: path.c:2057
UINT WINAPI PathGetCharTypeW(WCHAR ch)
Definition: path.c:1762
WCHAR *WINAPI PathSkipRootW(const WCHAR *path)
Definition: path.c:2293
BOOL WINAPI PathRelativePathToW(WCHAR *path, const WCHAR *from, DWORD attributes_from, const WCHAR *to, DWORD attributes_to)
Definition: path.c:2376
BOOL WINAPI PathFileExistsW(const WCHAR *path)
Definition: path.c:2607
BOOL WINAPI PathUnExpandEnvStringsA(const char *path, char *buffer, UINT buf_len)
Definition: path.c:2665
char *WINAPI PathFindFileNameA(const char *path)
Definition: path.c:1684
BOOL WINAPI PathIsFileSpecW(const WCHAR *path)
Definition: path.c:1842
BOOL WINAPI PathIsRootW(const WCHAR *path)
Definition: path.c:1101
BOOL WINAPI PathIsLFNFileSpecW(const WCHAR *path)
Definition: path.c:2094
BOOL WINAPI PathIsPrefixW(const WCHAR *prefix, const WCHAR *path)
Definition: path.c:1677
WCHAR *WINAPI PathFindNextComponentW(const WCHAR *path)
Definition: path.c:2248
BOOL WINAPI PathIsUNCA(const char *path)
Definition: path.c:1006
BOOL WINAPI PathIsUNCServerShareA(const char *path)
Definition: path.c:1040
BOOL WINAPI PathIsURLA(const char *path)
Definition: path.c:3222
void WINAPI PathQuoteSpacesW(WCHAR *path)
Definition: path.c:2544
LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY hUSKey, const WCHAR *value, SHREGDEL_FLAGS flags)
Definition: registry.c:3653
LONG WINAPI SHRegDeleteUSValueA(HUSKEY hUSKey, const char *value, SHREGDEL_FLAGS flags)
Definition: registry.c:3659
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)
Definition: registry.c:4077
LONG WINAPI SHRegSetUSValueW(const WCHAR *subkey, const WCHAR *value, DWORD type, void *data, DWORD data_len, DWORD flags)
Definition: registry.c:3912
LONG WINAPI SHRegWriteUSValueA(HUSKEY hUSKey, const char *value, DWORD type, void *data, DWORD data_len, DWORD flags)
Definition: registry.c:3804
LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY hUSKey, const char *value, SHREGDEL_FLAGS flags)
Definition: registry.c:3647
LONG WINAPI SHRegQueryInfoUSKeyA(HUSKEY hUSKey, DWORD *subkeys, DWORD *max_subkey_len, DWORD *values, DWORD *max_value_name_len, SHREGENUM_FLAGS flags)
Definition: registry.c:3936
LONG WINAPI SHRegQueryInfoUSKeyW(HUSKEY hUSKey, DWORD *subkeys, DWORD *max_subkey_len, DWORD *values, DWORD *max_value_name_len, SHREGENUM_FLAGS flags)
Definition: registry.c:3959
LONG WINAPI SHRegEnumUSKeyA(HUSKEY hUSKey, DWORD index, char *name, DWORD *name_len, SHREGENUM_FLAGS flags)
Definition: registry.c:3705
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)
Definition: registry.c:4056
LONG WINAPI SHRegOpenUSKeyA(const char *path, REGSAM access_mask, HUSKEY relative_key, HUSKEY *uskey, BOOL ignore_hkcu)
Definition: registry.c:3737
LONG WINAPI SHRegCreateUSKeyA(LPCSTR path, REGSAM samDesired, HUSKEY relative_key, PHUSKEY new_uskey, DWORD flags)
Definition: registry.c:3528
BOOL WINAPI SHRegGetBoolUSValueA(const char *subkey, const char *value, BOOL ignore_hkcu, BOOL default_value)
Definition: registry.c:4098
BOOL WINAPI SHRegGetBoolUSValueW(const WCHAR *subkey, const WCHAR *value, BOOL ignore_hkcu, BOOL default_value)
Definition: registry.c:4139
LONG WINAPI SHRegEnumUSValueA(HUSKEY hUSKey, DWORD index, char *value_name, DWORD *value_name_len, DWORD *type, void *data, DWORD *data_len, SHREGENUM_FLAGS flags)
Definition: registry.c:3671
LONG WINAPI SHRegCloseUSKey(HUSKEY hUSKey)
Definition: registry.c:3626
LONG WINAPI SHRegSetUSValueA(const char *subkey, const char *value, DWORD type, void *data, DWORD data_len, DWORD flags)
Definition: registry.c:3888
LONG WINAPI SHRegEnumUSValueW(HUSKEY hUSKey, DWORD index, WCHAR *value_name, DWORD *value_name_len, DWORD *type, void *data, DWORD *data_len, SHREGENUM_FLAGS flags)
Definition: registry.c:3688
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)
Definition: registry.c:4019
LONG WINAPI SHRegDeleteUSValueW(HUSKEY hUSKey, const WCHAR *value, SHREGDEL_FLAGS flags)
Definition: registry.c:3665
LONG WINAPI SHRegOpenUSKeyW(const WCHAR *path, REGSAM access_mask, HUSKEY relative_key, HUSKEY *uskey, BOOL ignore_hkcu)
Definition: registry.c:3747
LONG WINAPI SHRegCreateUSKeyW(const WCHAR *path, REGSAM samDesired, HUSKEY relative_key, PHUSKEY new_uskey, DWORD flags)
Definition: registry.c:3582
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)
Definition: registry.c:3982
LONG WINAPI SHRegEnumUSKeyW(HUSKEY hUSKey, DWORD index, WCHAR *name, DWORD *name_len, SHREGENUM_FLAGS flags)
Definition: registry.c:3721
LONG WINAPI SHRegWriteUSValueW(HUSKEY hUSKey, const WCHAR *value, DWORD type, void *data, DWORD data_len, DWORD flags)
Definition: registry.c:3814
BOOL WINAPI ChrCmpIW(WCHAR ch1, WCHAR ch2)
Definition: string.c:341
BOOL WINAPI StrToIntExW(const WCHAR *str, DWORD flags, INT *ret)
Definition: string.c:972
BOOL WINAPI ChrCmpIA(WORD ch1, WORD ch2)
Definition: string.c:334
WCHAR *WINAPI StrCatBuffW(WCHAR *str, const WCHAR *cat, INT max_len)
Definition: string.c:1390
WCHAR *WINAPI StrStrNW(const WCHAR *str, const WCHAR *search, UINT max_len)
Definition: string.c:376
BOOL WINAPI StrIsIntlEqualA(BOOL case_sensitive, const char *str, const char *cmp, int len)
Definition: string.c:1341
WCHAR *WINAPI StrStrNIW(const WCHAR *str, const WCHAR *search, UINT max_len)
Definition: string.c:402
int WINAPI StrCmpW(const WCHAR *str, const WCHAR *comp)
Definition: string.c:450
BOOL WINAPI StrTrimA(char *str, const char *trim)
Definition: string.c:758
BOOL WINAPI StrIsIntlEqualW(BOOL case_sensitive, const WCHAR *str, const WCHAR *cmp, int len)
Definition: string.c:1357
BOOL WINAPI StrTrimW(WCHAR *str, const WCHAR *trim)
Definition: string.c:796
BOOL WINAPI StrToIntExA(const char *str, DWORD flags, INT *ret)
Definition: string.c:960
char *WINAPI StrCatBuffA(char *str, const char *cat, INT max_len)
Definition: string.c:1373
int WINAPI StrCmpLogicalW(const WCHAR *str, const WCHAR *comp)
Definition: string.c:1289
char *WINAPI StrPBrkA(const char *str, const char *match)
Definition: string.c:735
WCHAR *WINAPI StrDupW(const WCHAR *str)
Definition: string.c:313
int WINAPI StrSpnW(const WCHAR *str, const WCHAR *match)
Definition: string.c:541
int WINAPI StrCmpIW(const WCHAR *str, const WCHAR *comp)
Definition: string.c:456
DWORD WINAPI StrCatChainW(WCHAR *str, DWORD max_len, DWORD at, const WCHAR *cat)
Definition: string.c:1407
char *WINAPI StrDupA(const char *str)
Definition: string.c:292
BOOL WINAPI StrToInt64ExA(const char *str, DWORD flags, LONGLONG *ret)
Definition: string.c:834
int WINAPI StrSpnA(const char *str, const char *match)
Definition: string.c:525
BOOL WINAPI StrToInt64ExW(const WCHAR *str, DWORD flags, LONGLONG *ret)
Definition: string.c:897
WCHAR *WINAPI StrPBrkW(const WCHAR *str, const WCHAR *match)
Definition: string.c:752
WCHAR *WINAPI StrCpyNW(WCHAR *dst, const WCHAR *src, int count)
Definition: string.c:462
BOOL WINAPI AssocIsDangerous(LPCWSTR lpszAssoc)
Definition: assoc.c:634
HANDLE WINAPI SHAllocShared(LPCVOID lpvData, DWORD dwSize, DWORD dwProcId)
Definition: ordinal.c:169
VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown)
Definition: ordinal.c:2190
HPALETTE WINAPI SHCreateShellPalette(HDC hdc)
Definition: ordinal.c:4615
BOOL WINAPI IsOS(DWORD feature)
Definition: ordinal.c:4230
INT WINAPI GetMenuPosFromID(HMENU hMenu, UINT wID)
Definition: ordinal.c:4698
void WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown)
Definition: ordinal.c:1245
COLORREF WINAPI ColorHLSToRGB(WORD wHue, WORD wLuminosity, WORD wSaturation)
Definition: ordinal.c:4043
PVOID WINAPI SHLockShared(HANDLE hShared, DWORD dwProcId)
Definition: ordinal.c:259
BOOL WINAPI SHSkipJunction(IBindCtx *pbc, const CLSID *pclsid)
Definition: ordinal.c:4779
BOOL WINAPI SHFreeShared(HANDLE hShared, DWORD dwProcId)
Definition: ordinal.c:315
COLORREF WINAPI ColorAdjustLuma(COLORREF cRGB, int dwLuma, BOOL bUnknown)
Definition: ordinal.c:3909
BOOL WINAPI SHUnlockShared(LPVOID lpView)
Definition: ordinal.c:295
VOID WINAPI ColorRGBToHLS(COLORREF cRGB, LPWORD pwHue, LPWORD pwLuminance, LPWORD pwSaturation)
Definition: ordinal.c:4506
void WINAPI PathRemoveArgsW(LPWSTR lpszPath)
Definition: path.c:779
BOOL WINAPI PathIsDirectoryA(LPCSTR lpszPath)
Definition: path.c:1704
BOOL WINAPI PathMakeSystemFolderA(LPCSTR lpszPath)
Definition: path.c:3106
BOOL WINAPI PathIsNetworkPathW(LPCWSTR lpszPath)
Definition: path.c:3795
LPSTR WINAPI PathBuildRootA(LPSTR lpszPath, int drive)
Definition: path.c:329
BOOL WINAPI PathMakeSystemFolderW(LPCWSTR lpszPath)
Definition: path.c:3126
BOOL WINAPI PathIsNetworkPathA(LPCSTR lpszPath)
Definition: path.c:3769
void WINAPI PathRemoveArgsA(LPSTR lpszPath)
Definition: path.c:756
BOOL WINAPI PathFindOnPathW(LPWSTR lpszFile, LPCWSTR *lppszOtherDirs)
Definition: path.c:1409
BOOL WINAPI PathIsDirectoryEmptyW(LPCWSTR lpszPath)
Definition: path.c:3937
BOOL WINAPI PathCompactPathExA(LPSTR lpszDest, LPCSTR lpszPath, UINT cchMax, DWORD dwFlags)
Definition: path.c:1441
BOOL WINAPI PathIsSystemFolderA(LPCSTR lpszPath, DWORD dwAttrib)
Definition: path.c:2206
BOOL WINAPI PathCompactPathExW(LPWSTR lpszDest, LPCWSTR lpszPath, UINT cchMax, DWORD dwFlags)
Definition: path.c:1466
BOOL WINAPI PathMakePrettyW(LPWSTR lpszPath)
Definition: path.c:2706
void WINAPI PathUndecorateW(LPWSTR pszPath)
Definition: path.c:4094
BOOL WINAPI PathCompactPathA(HDC hDC, LPSTR lpszPath, UINT dx)
Definition: path.c:2876
BOOL WINAPI PathUnmakeSystemFolderW(LPCWSTR lpszPath)
Definition: path.c:3674
BOOL WINAPI PathFindOnPathA(LPSTR lpszFile, LPCSTR *lppszOtherDirs)
Definition: path.c:1398
LPWSTR WINAPI PathBuildRootW(LPWSTR lpszPath, int drive)
Definition: path.c:348
VOID WINAPI PathSetDlgItemPathA(HWND hDlg, int id, LPCSTR lpszPath)
Definition: path.c:3707
BOOL WINAPI PathIsContentTypeW(LPCWSTR lpszPath, LPCWSTR lpszContentType)
Definition: path.c:2087
BOOL WINAPI PathCompactPathW(HDC hDC, LPWSTR lpszPath, UINT dx)
Definition: path.c:2897
BOOL WINAPI PathIsSystemFolderW(LPCWSTR lpszPath, DWORD dwAttrib)
Definition: path.c:2224
BOOL WINAPI PathMakePrettyA(LPSTR lpszPath)
Definition: path.c:2674
void WINAPI PathUndecorateA(LPSTR pszPath)
Definition: path.c:4070
LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR lpszSuffix, LPCSTR *lppszArray, int dwCount)
Definition: path.c:3999
BOOL WINAPI PathUnmakeSystemFolderA(LPCSTR lpszPath)
Definition: path.c:3655
VOID WINAPI PathSetDlgItemPathW(HWND hDlg, int id, LPCWSTR lpszPath)
Definition: path.c:3725
LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR lpszSuffix, LPCWSTR *lppszArray, int dwCount)
Definition: path.c:4030
BOOL WINAPI PathIsDirectoryW(LPCWSTR lpszPath)
Definition: path.c:1729
BOOL WINAPI PathIsContentTypeA(LPCSTR lpszPath, LPCSTR lpszContentType)
Definition: path.c:2064
BOOL WINAPI PathIsDirectoryEmptyA(LPCSTR lpszPath)
Definition: path.c:3917
DWORD WINAPI SHCopyKeyW(HKEY hKeySrc, LPCWSTR lpszSrcSubKey, HKEY hKeyDst, DWORD dwReserved)
Definition: reg.c:2261
LONG WINAPI SHEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpszSubKey, LPDWORD pwLen)
Definition: reg.c:1806
DWORD WINAPI SHCopyKeyA(HKEY hKeySrc, LPCSTR lpszSrcSubKey, HKEY hKeyDst, DWORD dwReserved)
Definition: reg.c:2244
DWORD WINAPI SHRegSetPathA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, LPCSTR lpszPath, DWORD dwFlags)
Definition: reg.c:1153
DWORD WINAPI SHDeleteValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue)
Definition: reg.c:1762
DWORD WINAPI SHDeleteKeyW(HKEY hKey, LPCWSTR lpszSubKey)
Definition: reg.c:1546
LONG WINAPI SHQueryInfoKeyA(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, LPDWORD pwValues, LPDWORD pwValueMax)
Definition: reg.c:1337
DWORD WINAPI SHGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1236
DWORD WINAPI SHDeleteOrphanKeyW(HKEY hKey, LPCWSTR lpszSubKey)
Definition: reg.c:1703
DWORD WINAPI SHRegGetPathW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPWSTR lpszPath, DWORD dwFlags)
Definition: reg.c:1125
LONG WINAPI SHEnumValueA(HKEY hKey, DWORD dwIndex, LPSTR lpszValue, LPDWORD pwLen, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1832
DWORD WINAPI SHGetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1207
LONG WINAPI SHEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpszSubKey, LPDWORD pwLen)
Definition: reg.c:1793
DWORD WINAPI SHDeleteEmptyKeyA(HKEY hKey, LPCSTR lpszSubKey)
Definition: reg.c:1608
DWORD WINAPI SHDeleteEmptyKeyW(HKEY hKey, LPCWSTR lpszSubKey)
Definition: reg.c:1637
DWORD WINAPI SHQueryValueExW(HKEY hKey, LPCWSTR lpszValue, LPDWORD lpReserved, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1461
DWORD WINAPI SHQueryValueExA(HKEY hKey, LPCSTR lpszValue, LPDWORD lpReserved, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1402
LONG WINAPI SHQueryInfoKeyW(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, LPDWORD pwValues, LPDWORD pwValueMax)
Definition: reg.c:1351
DWORD WINAPI SHSetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, DWORD dwType, LPCVOID pvData, DWORD cbData)
Definition: reg.c:1278
HKEY WINAPI SHRegDuplicateHKey(HKEY hKey)
Definition: reg.c:2214
DWORD WINAPI SHDeleteOrphanKeyA(HKEY hKey, LPCSTR lpszSubKey)
Definition: reg.c:1674
DWORD WINAPI SHRegGetPathA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, LPSTR lpszPath, DWORD dwFlags)
Definition: reg.c:1109
DWORD WINAPI SHSetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, DWORD dwType, LPCVOID pvData, DWORD cbData)
Definition: reg.c:1306
DWORD WINAPI SHRegSetPathW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, LPCWSTR lpszPath, DWORD dwFlags)
Definition: reg.c:1174
int WINAPI SHRegGetIntW(HKEY hKey, LPCWSTR lpszValue, int iDefault)
Definition: reg.c:2374
DWORD WINAPI SHDeleteValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue)
Definition: reg.c:1741
LONG WINAPI SHEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpszValue, LPDWORD pwLen, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
Definition: reg.c:1848
DWORD WINAPI SHDeleteKeyA(HKEY hKey, LPCSTR lpszSubKey)
Definition: reg.c:1533
INT WINAPI StrFromTimeIntervalW(LPWSTR lpszStr, UINT cchMax, DWORD dwMS, int iDigits)
Definition: string.c:2153
LPSTR WINAPI StrNCatA(LPSTR lpszStr, LPCSTR lpszCat, INT cchMax)
Definition: string.c:1792
LPSTR WINAPI StrFormatByteSize64A(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
Definition: string.c:2502
LPWSTR WINAPI StrFormatKBSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
Definition: string.c:1757
LPWSTR WINAPI StrCatW(LPWSTR lpszStr, LPCWSTR lpszSrc)
Definition: string.c:452
LPSTR WINAPI StrFormatByteSizeA(DWORD dwBytes, LPSTR lpszDest, UINT cchMax)
Definition: string.c:2530
INT WINAPI StrFromTimeIntervalA(LPSTR lpszStr, UINT cchMax, DWORD dwMS, int iDigits)
Definition: string.c:2131
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG llBytes, LPWSTR lpszDest, UINT cchMax)
Definition: string.c:2394
LPWSTR WINAPI StrNCatW(LPWSTR lpszStr, LPCWSTR lpszCat, INT cchMax)
Definition: string.c:1813
LPWSTR WINAPI StrCpyW(LPWSTR lpszStr, LPCWSTR lpszSrc)
Definition: string.c:514
LPSTR WINAPI StrFormatKBSizeA(LONGLONG llBytes, LPSTR lpszDest, UINT cchMax)
Definition: string.c:1741
BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE pfnThreadProc, VOID *pData, DWORD dwFlags, LPTHREAD_START_ROUTINE pfnCallback)
Definition: thread.c:356
int WINAPIV wnsprintfA(LPSTR lpOut, int cchLimitIn, LPCSTR lpFmt,...)
Definition: wsprintf.c:547
int WINAPIV wnsprintfW(LPWSTR lpOut, int cchLimitIn, LPCWSTR lpFmt,...)
Definition: wsprintf.c:564
INT WINAPI wvnsprintfA(LPSTR buffer, INT maxlen, LPCSTR spec, __ms_va_list args)
Definition: wsprintf.c:325
INT WINAPI wvnsprintfW(LPWSTR buffer, INT maxlen, LPCWSTR spec, __ms_va_list args)
Definition: wsprintf.c:432
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
static BYTE * GetData(BYTE *pData, ULONG *pLength)
Definition: assembly.c:114
PWDFDEVICE_INIT pInit
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLbitfield flags
Definition: glext.h:7161
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE
Definition: minwinbase.h:124
CONST void * LPCVOID
Definition: minwindef.h:164
static HDC
Definition: imagelist.c:88
static LPWSTR PDWORD pcchPath
Definition: asmcache.c:747
static PMONITORUI pui
Definition: localui.c:42
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:83
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
unsigned int UINT
Definition: ndis.h:50
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
_In_ LPWSTR _In_ DWORD _In_ LPCVOID pvData
Definition: netsh.h:116
#define _Out_writes_to_opt_(s, c)
Definition: no_sal2.h:238
#define _In_reads_bytes_(s)
Definition: no_sal2.h:170
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_updates_(s)
Definition: no_sal2.h:182
#define _Inout_
Definition: no_sal2.h:162
#define _Out_writes_opt_(s)
Definition: no_sal2.h:226
#define _Outptr_
Definition: no_sal2.h:262
#define _Out_writes_bytes_opt_(s)
Definition: no_sal2.h:228
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Out_writes_bytes_to_opt_(s, c)
Definition: no_sal2.h:240
#define _Reserved_
Definition: no_sal2.h:504
#define _Out_writes_to_(s, c)
Definition: no_sal2.h:188
#define _In_range_(l, h)
Definition: no_sal2.h:368
#define _Out_writes_bytes_(s)
Definition: no_sal2.h:178
#define _Printf_format_string_
Definition: no_sal2.h:356
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
#define DEFINE_ENUM_FLAG_OPERATORS(_ENUMTYPE)
Definition: ntbasedef.h:741
_In_ DWORD _In_ DWORD dwOffset
Definition: ntgdi.h:2033
#define PathAddExtensionA
Definition: pathcch.h:305
#define PathCanonicalizeA
Definition: pathcch.h:313
#define PathAddExtensionW
Definition: pathcch.h:306
#define PathCombineA
Definition: pathcch.h:317
#define PathAppendA
Definition: pathcch.h:309
#define PathCanonicalizeW
Definition: pathcch.h:314
#define PathAddBackslashA
Definition: pathcch.h:301
#define PathCombineW
Definition: pathcch.h:318
#define PathRenameExtensionA
Definition: pathcch.h:321
#define PathRenameExtensionW
Definition: pathcch.h:322
#define PathAddBackslashW
Definition: pathcch.h:302
#define PathAppendW
Definition: pathcch.h:310
long LONG
Definition: pedump.c:60
#define REFIID
Definition: guiddef.h:118
URLIS
Definition: shlwapi.h:596
@ URLIS_NOHISTORY
Definition: shlwapi.h:599
@ URLIS_OPAQUE
Definition: shlwapi.h:598
@ URLIS_APPLIABLE
Definition: shlwapi.h:601
@ URLIS_DIRECTORY
Definition: shlwapi.h:602
@ URLIS_FILEURL
Definition: shlwapi.h:600
@ URLIS_URL
Definition: shlwapi.h:597
@ URLIS_HASQUERY
Definition: shlwapi.h:603
tagSFBS_FLAGS
Definition: shlwapi.h:1263
@ SFBS_FLAGS_TRUNCATE_UNDISPLAYED_DECIMAL_DIGITS
Definition: shlwapi.h:1265
@ SFBS_FLAGS_ROUND_TO_NEAREST_DISPLAYED_DIGIT
Definition: shlwapi.h:1264
LWSTDAPI PathMatchSpecExA(_In_ LPCSTR, _In_ LPCSTR, _In_ DWORD)
LWSTDAPI SHLoadIndirectString(_In_ LPCWSTR, _Out_writes_(cchOutBuf) LPWSTR, _In_ UINT cchOutBuf, _Reserved_ PVOID *)
@ CTF_PROCESS_REF
Definition: shlwapi.h:73
@ CTF_NOADDREFLIB
Definition: shlwapi.h:92
@ CTF_INSIST
Definition: shlwapi.h:71
@ CTF_UNUSED
Definition: shlwapi.h:82
@ CTF_KEYBOARD_LOCALE
Definition: shlwapi.h:89
@ CTF_WAIT_ALLOWCOM
Definition: shlwapi.h:79
@ CTF_COINIT_STA
Definition: shlwapi.h:74
@ CTF_INHERITWOW64
Definition: shlwapi.h:83
@ CTF_OLEINITIALIZE
Definition: shlwapi.h:90
@ CTF_REF_COUNTED
Definition: shlwapi.h:78
@ CTF_COINIT_MTA
Definition: shlwapi.h:91
@ CTF_COINIT
Definition: shlwapi.h:75
@ CTF_THREAD_REF
Definition: shlwapi.h:72
@ CTF_WAIT_NO_REENTRANCY
Definition: shlwapi.h:86
@ CTF_FREELIBANDEXIT
Definition: shlwapi.h:77
_In_opt_ IUnknown * punk
Definition: shlwapi.h:158
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
Definition: shlwapi.h:926
@ ASSOCDATA_HASPERUSERASSOC
Definition: shlwapi.h:930
@ ASSOCDATA_EDITFLAGS
Definition: shlwapi.h:932
@ ASSOCDATA_MSIDESCRIPTOR
Definition: shlwapi.h:927
@ ASSOCDATA_VALUE
Definition: shlwapi.h:933
@ ASSOCDATA_NOACTIVATEHANDLER
Definition: shlwapi.h:928
@ ASSOCDATA_MAX
Definition: shlwapi.h:935
@ ASSOCDATA_QUERYCLASSSTORE
Definition: shlwapi.h:929
LWSTDAPI UrlGetPartW(_In_ LPCWSTR, _Out_writes_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut, DWORD, DWORD)
LWSTDAPI SHCreateStreamWrapper(LPBYTE, DWORD, DWORD, struct IStream **)
Definition: regstream.c:698
URL_SCHEME
Definition: shlwapi.h:542
@ URL_SCHEME_SNEWS
Definition: shlwapi.h:557
@ URL_SCHEME_MAILTO
Definition: shlwapi.h:548
@ URL_SCHEME_KNOWNFOLDER
Definition: shlwapi.h:579
@ URL_SCHEME_LOCAL
Definition: shlwapi.h:558
@ URL_SCHEME_MK
Definition: shlwapi.h:554
@ URL_SCHEME_TELNET
Definition: shlwapi.h:551
@ URL_SCHEME_UNKNOWN
Definition: shlwapi.h:544
@ URL_SCHEME_MSSHELLROOTED
Definition: shlwapi.h:564
@ URL_SCHEME_WAIS
Definition: shlwapi.h:552
@ URL_SCHEME_HTTPS
Definition: shlwapi.h:555
@ URL_SCHEME_SEARCH
Definition: shlwapi.h:576
@ URL_SCHEME_FTP
Definition: shlwapi.h:545
@ URL_SCHEME_RES
Definition: shlwapi.h:562
@ URL_SCHEME_NEWS
Definition: shlwapi.h:549
@ URL_SCHEME_MSSHELLIDLIST
Definition: shlwapi.h:565
@ URL_SCHEME_HTTP
Definition: shlwapi.h:546
@ URL_SCHEME_FILE
Definition: shlwapi.h:553
@ URL_SCHEME_WILDCARD
Definition: shlwapi.h:570
@ URL_SCHEME_ABOUT
Definition: shlwapi.h:561
@ URL_SCHEME_NNTP
Definition: shlwapi.h:550
@ URL_SCHEME_INVALID
Definition: shlwapi.h:543
@ URL_SCHEME_SHELL
Definition: shlwapi.h:556
@ URL_SCHEME_MSSHELLDEVICE
Definition: shlwapi.h:569
@ URL_SCHEME_VBSCRIPT
Definition: shlwapi.h:560
@ URL_SCHEME_MSHELP
Definition: shlwapi.h:566
@ URL_SCHEME_SEARCH_MS
Definition: shlwapi.h:573
@ URL_SCHEME_GOPHER
Definition: shlwapi.h:547
@ URL_SCHEME_JAVASCRIPT
Definition: shlwapi.h:559
@ URL_SCHEME_MAXVALUE
Definition: shlwapi.h:581
LWSTDAPI PathMatchSpecExW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD)
LWSTDAPI UrlGetPartA(_In_ LPCSTR, _Out_writes_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut, DWORD, DWORD)
int SFBS_FLAGS
Definition: shlwapi.h:1260
#define LWSTDAPI_(t)
Definition: shlwapi.h:24
LWSTDAPI PathCreateFromUrlAlloc(_In_ LPCWSTR pszUrl, _Outptr_ LPWSTR *pszPath, DWORD dwReserved)
@ ASSOCF_REMAPRUNDLL
Definition: shlwapi.h:867
@ ASSOCF_IS_PROTOCOL
Definition: shlwapi.h:873
@ ASSOCF_INIT_FIXED_PROGID
Definition: shlwapi.h:872
@ ASSOCF_NOFIXUPS
Definition: shlwapi.h:868
@ ASSOCF_INIT_DEFAULTTOSTAR
Definition: shlwapi.h:862
@ ASSOCF_PER_MACHINE_ONLY
Definition: shlwapi.h:878
@ ASSOCF_IS_FULL_URI
Definition: shlwapi.h:877
@ ASSOCF_INIT_DEFAULTTOFOLDER
Definition: shlwapi.h:863
@ ASSOCF_IGNOREBASECLASS
Definition: shlwapi.h:869
@ ASSOCF_INIT_NOREMAPCLSID
Definition: shlwapi.h:859
@ ASSOCF_VERIFY
Definition: shlwapi.h:866
@ ASSOCF_INIT_IGNOREUNKNOWN
Definition: shlwapi.h:870
@ ASSOCF_NOUSERSETTINGS
Definition: shlwapi.h:864
@ ASSOCF_OPEN_BYEXENAME
Definition: shlwapi.h:861
@ ASSOCF_NONE
Definition: shlwapi.h:858
@ ASSOCF_APP_TO_APP
Definition: shlwapi.h:881
@ ASSOCF_INIT_FOR_FILE
Definition: shlwapi.h:874
@ ASSOCF_NOTRUNCATE
Definition: shlwapi.h:865
@ ASSOCF_INIT_BYEXENAME
Definition: shlwapi.h:860
#define LWSTDAPIV_(t)
Definition: shlwapi.h:25
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)
URL_PART
Definition: shlwapi.h:584
@ URL_PART_SCHEME
Definition: shlwapi.h:586
@ URL_PART_QUERY
Definition: shlwapi.h:591
@ URL_PART_HOSTNAME
Definition: shlwapi.h:587
@ URL_PART_NONE
Definition: shlwapi.h:585
@ URL_PART_USERNAME
Definition: shlwapi.h:588
@ URL_PART_PORT
Definition: shlwapi.h:590
@ URL_PART_PASSWORD
Definition: shlwapi.h:589
ASSOCSTR
Definition: shlwapi.h:885
LWSTDAPI StrRetToBSTR(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ BSTR *)
int nChar
Definition: shlwapi.h:1074
_In_ LPCSTR pszSet
Definition: shlwapi.h:1139
_In_ _Out_writes_ pcchName _Inout_ LPDWORD pcchName
Definition: shlwapi.h:755
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)
_In_ int cchDestBuffSize
Definition: shlwapi.h:1088
LWSTDAPI AssocQueryKeyW(_In_ ASSOCF, _In_ ASSOCKEY, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_ PHKEY)
_In_ DWORD dwProcessId
Definition: shlwapi.h:193
LWSTDAPI UrlUnescapeW(_Inout_ LPWSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPWSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD)
_In_ DWORD _In_ DWORD dwDestinationProcessId
Definition: shlwapi.h:192
_In_ LPCSTR pszSrch
Definition: shlwapi.h:1141
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)
_In_ _In_ UINT cchMax
Definition: shlwapi.h:296
@ ASSOCSTR_CONTENTTYPE
Definition: shlwapi.h:900
@ ASSOCSTR_SUPPORTED_URI_PROTOCOLS
Definition: shlwapi.h:908
@ ASSOCSTR_DELEGATEEXECUTE
Definition: shlwapi.h:906
@ ASSOCSTR_SHELLEXTENSION
Definition: shlwapi.h:902
@ ASSOCSTR_APPID
Definition: shlwapi.h:911
@ ASSOCSTR_TILEINFO
Definition: shlwapi.h:899
@ ASSOCSTR_SHELLNEWVALUE
Definition: shlwapi.h:891
@ ASSOCSTR_COMMAND
Definition: shlwapi.h:886
@ ASSOCSTR_DDEAPPLICATION
Definition: shlwapi.h:894
@ ASSOCSTR_DDECOMMAND
Definition: shlwapi.h:892
@ ASSOCSTR_DROPTARGET
Definition: shlwapi.h:905
@ ASSOCSTR_FRIENDLYDOCNAME
Definition: shlwapi.h:888
@ ASSOCSTR_MAX
Definition: shlwapi.h:915
@ ASSOCSTR_NOOPEN
Definition: shlwapi.h:890
@ ASSOCSTR_DDETOPIC
Definition: shlwapi.h:895
@ ASSOCSTR_APPICONREFERENCE
Definition: shlwapi.h:913
@ ASSOCSTR_DDEIFEXEC
Definition: shlwapi.h:893
@ ASSOCSTR_INFOTIP
Definition: shlwapi.h:896
@ ASSOCSTR_FRIENDLYAPPNAME
Definition: shlwapi.h:889
@ ASSOCSTR_EXECUTABLE
Definition: shlwapi.h:887
@ ASSOCSTR_PROGID
Definition: shlwapi.h:910
@ ASSOCSTR_DEFAULTICON
Definition: shlwapi.h:901
@ ASSOCSTR_QUICKTIP
Definition: shlwapi.h:898
@ ASSOCSTR_APPPUBLISHER
Definition: shlwapi.h:912
SHREGENUM_FLAGS
Definition: shlwapi.h:732
struct tagPARSEDURLW * PPARSEDURLW
@ SHREGENUM_HKCU
Definition: shlwapi.h:734
@ SHREGENUM_BOTH
Definition: shlwapi.h:736
@ SHREGENUM_DEFAULT
Definition: shlwapi.h:733
@ SHREGENUM_HKLM
Definition: shlwapi.h:735
LWSTDAPI StrRetToStrA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ LPSTR *)
_In_opt_ _In_opt_ _In_ _In_ DWORD cbData
Definition: shlwapi.h:761
LWSTDAPI SHReleaseThreadRef(void)
Definition: thread.c:279
LWSTDAPI SHCreateStreamOnFileEx(_In_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_ BOOL, _In_opt_ struct IStream *, _Outptr_ struct IStream **)
ASSOCKEY
Definition: shlwapi.h:918
@ ASSOCKEY_CLASS
Definition: shlwapi.h:921
@ ASSOCKEY_SHELLEXECCLASS
Definition: shlwapi.h:919
@ ASSOCKEY_MAX
Definition: shlwapi.h:923
@ ASSOCKEY_BASECLASS
Definition: shlwapi.h:922
@ ASSOCKEY_APP
Definition: shlwapi.h:920
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)
_In_ INT cchDest
Definition: shlwapi.h:1151
LWSTDAPI SHCreateStreamOnFileA(_In_ LPCSTR, _In_ DWORD, _Outptr_ struct IStream **)
INT SRRF
Definition: shlwapi.h:717
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
Definition: shlwapi.h:783
_In_opt_ _Inout_opt_ _Out_writes_bytes_to_opt_ pcbData _Inout_opt_ LPDWORD _In_ _In_ DWORD dwDefaultDataSize
Definition: shlwapi.h:781
LWSTDAPI UrlCombineW(_In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPWSTR, _Inout_ LPDWORD pcchCombined, DWORD)
HUSKEY * PHUSKEY
Definition: shlwapi.h:740
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 *)
_In_ UINT cbInit
Definition: shlwapi.h:1025
LWSTDAPI AssocQueryKeyA(_In_ ASSOCF, _In_ ASSOCKEY, _In_ LPCSTR, _In_opt_ LPCSTR, _Out_ PHKEY)
_In_ DWORD dwSize
Definition: shlwapi.h:192
_In_ _Out_writes_opt_ pcchValueName _Inout_opt_ LPDWORD pcchValueName
Definition: shlwapi.h:757
struct IQueryAssociations * LPQUERYASSOCIATIONS
Definition: shlwapi.h:995
STDAPI DllInstall(BOOL, _In_opt_ LPCWSTR) DECLSPEC_HIDDEN
SHREGDEL_FLAGS
Definition: shlwapi.h:725
struct tagPARSEDURLA PARSEDURLA
LWSTDAPI PathCreateFromUrlW(_In_ LPCWSTR pszUrl, _Out_writes_to_(*pcchPath, *pcchPath) LPWSTR pszPath, _Inout_ LPDWORD pcchPath, DWORD dwFlags)
HANDLE HUSKEY
Definition: shlwapi.h:739
struct tagPARSEDURLW PARSEDURLW
LWSTDAPI SHGetViewStatePropertyBag(_In_opt_ PCIDLIST_ABSOLUTE pidl, _In_opt_ LPCWSTR bag_name, _In_ DWORD flags, _In_ REFIID riid, _Outptr_ void **ppv)
Definition: propbag.cpp:1882
_In_ _Out_writes_opt_ pcchValueName _Inout_opt_ LPDWORD _Out_opt_ _Out_writes_bytes_to_opt_ pcbData _Inout_opt_ LPDWORD pcbData
Definition: shlwapi.h:757
_In_opt_ LPCSTR pszSubKey
Definition: shlwapi.h:783
LWSTDAPI AssocQueryStringW(_In_ ASSOCF, _In_ ASSOCSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_writes_opt_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut)
FILETYPEATTRIBUTEFLAGS
Definition: shlwapi.h:942
@ FTA_NoEditDflt
Definition: shlwapi.h:954
@ FTA_NoEditDesc
Definition: shlwapi.h:952
@ FTA_NoRemove
Definition: shlwapi.h:948
@ FTA_NoDDE
Definition: shlwapi.h:957
@ FTA_NoEditVerb
Definition: shlwapi.h:950
@ FTA_None
Definition: shlwapi.h:943
@ FTA_NoEditVerbCmd
Definition: shlwapi.h:955
@ FTA_NoEdit
Definition: shlwapi.h:947
@ FTA_Show
Definition: shlwapi.h:945
@ FTA_NoRemoveVerb
Definition: shlwapi.h:951
@ FTA_OpenIsSafe
Definition: shlwapi.h:959
@ FTA_NoNewVerb
Definition: shlwapi.h:949
@ FTA_HasExtension
Definition: shlwapi.h:946
@ FTA_NoEditIcon
Definition: shlwapi.h:953
@ FTA_NoEditMIME
Definition: shlwapi.h:958
@ FTA_SafeForElevation
Definition: shlwapi.h:962
@ FTA_Exclude
Definition: shlwapi.h:944
@ FTA_AlwaysUseDirectInvoke
Definition: shlwapi.h:963
@ FTA_NoRecentDocs
Definition: shlwapi.h:961
@ FTA_NoEditVerbExe
Definition: shlwapi.h:956
@ FTA_AlwaysUnsafe
Definition: shlwapi.h:960
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
Definition: shlwapi.h:312
HRESULT(CALLBACK * DLLGETVERSIONPROC)(DLLVERSIONINFO *)
Definition: shlwapi.h:127
struct tagPARSEDURLA * PPARSEDURLA
_In_ UINT cchBuf
Definition: shlwapi.h:378
struct _DLLVERSIONINFO2 DLLVERSIONINFO2
DWORD ASSOCF
Definition: shlwapi.h:967
_In_opt_ LPCSTR _In_opt_ LPCSTR _In_ SRRF srrfFlags
Definition: shlwapi.h:783
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)
ASSOCENUM
Definition: shlwapi.h:938
@ ASSOCENUM_NONE
Definition: shlwapi.h:939
_In_ LPCSTR pszSpec
Definition: shlwapi.h:354
LWSTDAPI StrRetToBufA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
_In_ UINT uID
Definition: shlwapi.h:156
struct QITAB * LPQITAB
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)
DWORD cchDst
Definition: shlwapi.h:1066
#define LWSTDAPI
Definition: shlwapi.h:31
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
Definition: shlwapi.h:783
@ SHREGDEL_HKLM
Definition: shlwapi.h:728
@ SHREGDEL_BOTH
Definition: shlwapi.h:729
@ SHREGDEL_HKCU
Definition: shlwapi.h:727
@ SHREGDEL_DEFAULT
Definition: shlwapi.h:726
_In_opt_ void _In_ DWORD flags
Definition: shlwapi.h:66
_In_opt_ void _In_ DWORD _In_opt_ LPTHREAD_START_ROUTINE pfnCallback
Definition: shlwapi.h:66
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)
Definition: regstream.c:624
IStream *WINAPI SHOpenRegStream2A(HKEY hKey, LPCSTR pszSubkey, LPCSTR pszValue, DWORD dwMode)
Definition: regstream.c:478
IStream *WINAPI SHOpenRegStreamA(HKEY hkey, LPCSTR pszSubkey, LPCSTR pszValue, DWORD dwMode)
Definition: regstream.c:608
IStream *WINAPI SHOpenRegStream2W(HKEY hKey, LPCWSTR pszSubkey, LPCWSTR pszValue, DWORD dwMode)
Definition: regstream.c:537
IStream *WINAPI SHCreateMemStream(const BYTE *lpbData, UINT dwDataLen)
Definition: regstream.c:652
const WCHAR * str
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
Definition: shtypes.idl:70
Definition: shlwapi.h:139
const IID * piid
Definition: shlwapi.h:140
DWORD dwOffset
Definition: shlwapi.h:142
DLLVERSIONINFO info1
Definition: shlwapi.h:130
ULONGLONG ullVersion
Definition: shlwapi.h:132
DWORD dwMajorVersion
Definition: shlwapi.h:121
DWORD dwBuildNumber
Definition: shlwapi.h:123
DWORD dwMinorVersion
Definition: shlwapi.h:122
DWORD cbSize
Definition: shlwapi.h:120
DWORD dwPlatformID
Definition: shlwapi.h:124
Definition: scsiwmi.h:51
Definition: copy.c:22
UINT nScheme
Definition: shlwapi.h:612
UINT cchSuffix
Definition: shlwapi.h:611
LPCSTR pszSuffix
Definition: shlwapi.h:610
UINT cchProtocol
Definition: shlwapi.h:609
DWORD cbSize
Definition: shlwapi.h:607
LPCSTR pszProtocol
Definition: shlwapi.h:608
UINT cchProtocol
Definition: shlwapi.h:618
LPCWSTR pszSuffix
Definition: shlwapi.h:619
DWORD cbSize
Definition: shlwapi.h:616
UINT nScheme
Definition: shlwapi.h:621
UINT cchSuffix
Definition: shlwapi.h:620
LPCWSTR pszProtocol
Definition: shlwapi.h:617
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830
uint16_t * PWSTR
Definition: typedefs.h:56
unsigned char * LPBYTE
Definition: typedefs.h:53
int64_t LONGLONG
Definition: typedefs.h:68
uint16_t * LPWORD
Definition: typedefs.h:56
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
DWORD COLORREF
Definition: windef.h:94
#define HRESULT
Definition: msvc.h:7
WINSHLWAPI LSTATUS WINAPI SHRegGetValueA(HKEY, LPCSTR, LPCSTR, SRRF, LPDWORD, LPVOID, LPDWORD)
SFBS_FLAGS
Definition: shlwapi.h:864
WINSHLWAPI LSTATUS WINAPI SHRegGetValueW(HKEY, LPCWSTR, LPCWSTR, SRRF, LPDWORD, LPVOID, LPDWORD)
ACCESS_MASK REGSAM
Definition: winreg.h:76
const char * LPCSTR
Definition: xmlstorage.h:183
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
char * LPSTR
Definition: xmlstorage.h:182
char CHAR
Definition: xmlstorage.h:175
unsigned char BYTE
Definition: xxhash.c:193