ReactOS 0.4.16-dev-1260-g901af6a
shlwapi.h
Go to the documentation of this file.
1/*
2 * SHLWAPI.DLL functions
3 *
4 * Copyright (C) 2000 Juergen Schmied
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21#ifndef __WINE_SHLWAPI_H
22#define __WINE_SHLWAPI_H
23
24#include <specstrings.h>
25#include <objbase.h>
26#include <shtypes.h>
27
28#ifndef _SHLWAPI_
29#define LWSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI
30#define LWSTDAPIV_(type) EXTERN_C DECLSPEC_IMPORT type STDAPIVCALLTYPE
31#else
32#define LWSTDAPI_(type) type WINAPI
33#define LWSTDAPIV_(type) type STDAPIVCALLTYPE
34#endif
35#define LWSTDAPI LWSTDAPI_(HRESULT)
36
37#ifdef __cplusplus
38extern "C" {
39#endif /* defined(__cplusplus) */
40
41#include <pshpack8.h>
42
43#ifndef NO_SHLWAPI_REG
44
45/* Registry functions */
46
49#define SHDeleteEmptyKey WINELIB_NAME_AW(SHDeleteEmptyKey)
50
53#define SHDeleteKey WINELIB_NAME_AW(SHDeleteKey)
54
57#define SHDeleteValue WINELIB_NAME_AW(SHDeleteValue)
58
62 _In_ HKEY,
68
72 _In_ HKEY,
78
79#define SHGetValue WINELIB_NAME_AW(SHGetValue)
80
84 _In_ HKEY,
87 _In_ DWORD,
89 _In_ DWORD cbData);
90
94 _In_ HKEY,
97 _In_ DWORD,
99 _In_ DWORD cbData);
100
101#define SHSetValue WINELIB_NAME_AW(SHSetValue)
102
103DWORD
104WINAPI
106 _In_ HKEY,
112
113DWORD
114WINAPI
116 _In_ HKEY,
122
123#define SHQueryValueEx WINELIB_NAME_AW(SHQueryValueEx)
124
125LONG
126WINAPI
128 _In_ HKEY,
129 _In_ DWORD,
130 _Out_writes_(*pcchName) LPSTR,
131 _Inout_ LPDWORD pcchName);
132
133LONG
134WINAPI
136 _In_ HKEY,
137 _In_ DWORD,
138 _Out_writes_(*pcchName) LPWSTR,
139 _Inout_ LPDWORD pcchName);
140
141#define SHEnumKeyEx WINELIB_NAME_AW(SHEnumKeyEx)
142
143LONG
144WINAPI
146 _In_ HKEY,
147 _In_ DWORD,
148 _Out_writes_opt_(*pcchValueName) LPSTR,
149 _Inout_opt_ LPDWORD pcchValueName,
153
154LONG
155WINAPI
157 _In_ HKEY,
158 _In_ DWORD,
159 _Out_writes_opt_(*pcchValueName) LPWSTR,
160 _Inout_opt_ LPDWORD pcchValueName,
164
165#define SHEnumValue WINELIB_NAME_AW(SHEnumValue)
166
167LONG
168WINAPI
170 _In_ HKEY,
175
176LONG
177WINAPI
179 _In_ HKEY,
184
185#define SHQueryInfoKey WINELIB_NAME_AW(SHQueryInfoKey)
186
187DWORD
188WINAPI
190 _In_ HKEY,
194 _In_ DWORD);
195
196DWORD
197WINAPI
199 _In_ HKEY,
203 _In_ DWORD);
204
205#define SHRegGetPath WINELIB_NAME_AW(SHRegGetPath)
206
207DWORD
208WINAPI
210 _In_ HKEY,
213 _In_ LPCSTR,
214 _In_ DWORD);
215
216DWORD
217WINAPI
219 _In_ HKEY,
223 _In_ DWORD);
224
225#define SHRegSetPath WINELIB_NAME_AW(SHRegSetPath)
226
227DWORD
228WINAPI
230 _In_ HKEY,
232 _In_ HKEY,
234
235DWORD
236WINAPI
238 _In_ HKEY,
240 _In_ HKEY,
242
243#define SHCopyKey WINELIB_NAME_AW(SHCopyKey)
244
246
247/* SHRegGetValue flags */
248typedef INT SRRF;
249
250#define SRRF_RT_REG_NONE 0x1
251#define SRRF_RT_REG_SZ 0x2
252#define SRRF_RT_REG_EXPAND_SZ 0x4
253#define SRRF_RT_REG_BINARY 0x8
254#define SRRF_RT_REG_DWORD 0x10
255#define SRRF_RT_REG_MULTI_SZ 0x20
256#define SRRF_RT_REG_QWORD 0x40
257
258#define SRRF_RT_DWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_DWORD)
259#define SRRF_RT_QWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_QWORD)
260#define SRRF_RT_ANY 0xffff
261
262#define SRRF_RM_ANY 0
263#define SRRF_RM_NORMAL 0x10000
264#define SRRF_RM_SAFE 0x20000
265#define SRRF_RM_SAFENETWORK 0x40000
266
267#define SRRF_NOEXPAND 0x10000000
268#define SRRF_ZEROONFAILURE 0x20000000
269#define SRRF_NOVIRT 0x40000000
270
272WINAPI
274 _In_ HKEY hkey,
275 _In_opt_ LPCSTR pszSubKey,
276 _In_opt_ LPCSTR pszValue,
277 _In_ SRRF srrfFlags,
278 _Out_opt_ LPDWORD pdwType,
281
283WINAPI
285 _In_ HKEY hkey,
286 _In_opt_ LPCWSTR pszSubKey,
287 _In_opt_ LPCWSTR pszValue,
288 _In_ SRRF srrfFlags,
289 _Out_opt_ LPDWORD pdwType,
292
293#define SHRegGetValue WINELIB_NAME_AW(SHRegGetValue)
294
295/* Undocumented registry functions */
296
299#define SHDeleteOrphanKey WINELIB_NAME_AW(SHDeleteOrphanKey)
300
301
302/* User registry functions */
303
304typedef enum
305{
311
312typedef enum
313{
319
320#define SHREGSET_HKCU 0x1 /* Apply to HKCU if empty */
321#define SHREGSET_FORCE_HKCU 0x2 /* Always apply to HKCU */
322#define SHREGSET_HKLM 0x4 /* Apply to HKLM if empty */
323#define SHREGSET_FORCE_HKLM 0x8 /* Always apply to HKLM */
324#define SHREGSET_DEFAULT (SHREGSET_FORCE_HKCU | SHREGSET_HKLM)
325
328
329LONG
330WINAPI
332 _In_ LPCSTR,
333 _In_ REGSAM,
336 _In_ DWORD);
337
338LONG
339WINAPI
342 _In_ REGSAM,
345 _In_ DWORD);
346
347#define SHRegCreateUSKey WINELIB_NAME_AW(SHRegCreateUSKey)
348
349LONG
350WINAPI
352 _In_ LPCSTR,
353 _In_ REGSAM,
356 _In_ BOOL);
357
358LONG
359WINAPI
362 _In_ REGSAM,
365 _In_ BOOL);
366
367#define SHRegOpenUSKey WINELIB_NAME_AW(SHRegOpenUSKey)
368
369LONG
370WINAPI
372 _In_ HUSKEY,
377 _In_ BOOL,
378 _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID,
379 _In_opt_ DWORD dwDefaultDataSize);
380
381LONG
382WINAPI
384 _In_ HUSKEY,
389 _In_ BOOL,
390 _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID,
391 _In_opt_ DWORD dwDefaultDataSize);
392
393#define SHRegQueryUSValue WINELIB_NAME_AW(SHRegQueryUSValue)
394
395LONG
396WINAPI
398 _In_ HUSKEY,
399 _In_ LPCSTR,
400 _In_ DWORD,
401 _In_reads_bytes_(cbData) LPVOID,
402 _In_ DWORD cbData,
403 _In_ DWORD);
404
405LONG
406WINAPI
408 _In_ HUSKEY,
410 _In_ DWORD,
411 _In_reads_bytes_(cbData) LPVOID,
412 _In_ DWORD cbData,
413 _In_ DWORD);
414
415#define SHRegWriteUSValue WINELIB_NAME_AW(SHRegWriteUSValue)
416
417LONG
418WINAPI
420 _In_ HUSKEY,
421 _In_ LPCSTR,
423
424LONG
425WINAPI
427 _In_ HUSKEY,
430
431#define SHRegDeleteUSValue WINELIB_NAME_AW(SHRegDeleteUSValue)
432
433LONG
434WINAPI
436 _In_ HUSKEY,
437 _In_ LPCSTR,
439
440LONG
441WINAPI
443 _In_ HUSKEY,
446
447#define SHRegDeleteEmptyUSKey WINELIB_NAME_AW(SHRegDeleteEmptyUSKey)
448
449LONG
450WINAPI
452 _In_ HUSKEY,
453 _In_ DWORD,
454 _Out_writes_to_(*pcchName, *pcchName) LPSTR,
455 _Inout_ LPDWORD pcchName,
457
458LONG
459WINAPI
461 _In_ HUSKEY,
462 _In_ DWORD,
463 _Out_writes_to_(*pcchName, *pcchName) LPWSTR,
464 _Inout_ LPDWORD pcchName,
466
467#define SHRegEnumUSKey WINELIB_NAME_AW(SHRegEnumUSKey)
468
469LONG
470WINAPI
472 _In_ HUSKEY,
473 _In_ DWORD,
474 _Out_writes_to_(*pcchValueName, *pcchValueName) LPSTR,
475 _Inout_ LPDWORD pcchValueName,
480
481LONG
482WINAPI
484 _In_ HUSKEY,
485 _In_ DWORD,
486 _Out_writes_to_(*pcchValueName, *pcchValueName) LPWSTR,
487 _Inout_ LPDWORD pcchValueName,
492
493#define SHRegEnumUSValue WINELIB_NAME_AW(SHRegEnumUSValue)
494
495LONG
496WINAPI
498 _In_ HUSKEY,
504
505LONG
506WINAPI
508 _In_ HUSKEY,
514
515#define SHRegQueryInfoUSKey WINELIB_NAME_AW(SHRegQueryInfoUSKey)
516
518
519LONG
520WINAPI
522 _In_ LPCSTR,
527 _In_ BOOL,
528 _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID,
529 _In_ DWORD dwDefaultDataSize);
530
531LONG
532WINAPI
539 _In_ BOOL,
540 _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID,
541 _In_ DWORD dwDefaultDataSize);
542
543#define SHRegGetUSValue WINELIB_NAME_AW(SHRegGetUSValue)
544
545LONG
546WINAPI
548 _In_ LPCSTR,
549 _In_ LPCSTR,
550 _In_ DWORD,
552 _In_opt_ DWORD cbData,
554
555LONG
556WINAPI
560 _In_ DWORD,
562 _In_opt_ DWORD cbData,
564
565#define SHRegSetUSValue WINELIB_NAME_AW(SHRegSetUSValue)
566
567BOOL
568WINAPI
570 _In_ LPCSTR,
572 _In_ BOOL,
573 _In_ BOOL);
574
575BOOL
576WINAPI
580 _In_ BOOL,
581 _In_ BOOL);
582
583#define SHRegGetBoolUSValue WINELIB_NAME_AW(SHRegGetBoolUSValue)
584
586
587/* IQueryAssociation and helpers */
588enum
589{
590 ASSOCF_NONE = 0x0000,
591 ASSOCF_INIT_NOREMAPCLSID = 0x0001, /* Don't map clsid->progid */
592 ASSOCF_INIT_BYEXENAME = 0x0002, /* .exe name given */
593 ASSOCF_OPEN_BYEXENAME = 0x0002, /* Synonym */
594 ASSOCF_INIT_DEFAULTTOSTAR = 0x0004, /* Use * as base */
595 ASSOCF_INIT_DEFAULTTOFOLDER = 0x0008, /* Use folder as base */
596 ASSOCF_NOUSERSETTINGS = 0x0010, /* No HKCU reads */
597 ASSOCF_NOTRUNCATE = 0x0020, /* Don't truncate return */
598 ASSOCF_VERIFY = 0x0040, /* Verify data */
599 ASSOCF_REMAPRUNDLL = 0x0080, /* Get rundll args */
600 ASSOCF_NOFIXUPS = 0x0100, /* Don't fixup errors */
601 ASSOCF_IGNOREBASECLASS = 0x0200, /* Don't read baseclass */
602 ASSOCF_INIT_IGNOREUNKNOWN = 0x0400, /* Fail for unknown progid */
603 ASSOCF_INIT_FIXED_PROGID = 0x0800, /* Used passed string as progid, don't try to map it */
604 ASSOCF_IS_PROTOCOL = 0x1000, /* Treat as protocol, that should be mapped */
605 ASSOCF_INIT_FOR_FILE = 0x2000, /* progid is for file extension association */
606};
607
608typedef DWORD ASSOCF;
609
610typedef enum
611{
612 ASSOCSTR_COMMAND = 1, /* Verb command */
613 ASSOCSTR_EXECUTABLE, /* .exe from command string */
614 ASSOCSTR_FRIENDLYDOCNAME, /* Friendly doc type name */
615 ASSOCSTR_FRIENDLYAPPNAME, /* Friendly .exe name */
616 ASSOCSTR_NOOPEN, /* noopen value */
617 ASSOCSTR_SHELLNEWVALUE, /* Use shellnew key */
618 ASSOCSTR_DDECOMMAND, /* DDE command template */
619 ASSOCSTR_DDEIFEXEC, /* DDE command for process create */
620 ASSOCSTR_DDEAPPLICATION, /* DDE app name */
621 ASSOCSTR_DDETOPIC, /* DDE topic */
622 ASSOCSTR_INFOTIP, /* Infotip */
623 ASSOCSTR_QUICKTIP, /* Quick infotip */
624 ASSOCSTR_TILEINFO, /* Properties for tileview */
625 ASSOCSTR_CONTENTTYPE, /* Mimetype */
627 ASSOCSTR_SHELLEXTENSION, /* GUID for shell extension handler */
630
631typedef enum
632{
633 ASSOCKEY_SHELLEXECCLASS = 1, /* Key for ShellExec */
634 ASSOCKEY_APP, /* Application */
635 ASSOCKEY_CLASS, /* Progid or class */
636 ASSOCKEY_BASECLASS, /* Base class */
639
640typedef enum
641{
642 ASSOCDATA_MSIDESCRIPTOR = 1, /* Component descriptor */
643 ASSOCDATA_NOACTIVATEHANDLER, /* Don't activate */
644 ASSOCDATA_QUERYCLASSSTORE, /* Look in Class Store */
645 ASSOCDATA_HASPERUSERASSOC, /* Use user association */
646 ASSOCDATA_EDITFLAGS, /* Edit flags */
647 ASSOCDATA_VALUE, /* pszExtra is value */
650
651typedef enum
652{
655
656typedef enum
657{
658 FTA_None = 0x00000000,
659 FTA_Exclude = 0x00000001,
660 FTA_Show = 0x00000002,
661 FTA_HasExtension = 0x00000004,
662 FTA_NoEdit = 0x00000008,
663 FTA_NoRemove = 0x00000010,
664 FTA_NoNewVerb = 0x00000020,
665 FTA_NoEditVerb = 0x00000040,
666 FTA_NoRemoveVerb = 0x00000080,
667 FTA_NoEditDesc = 0x00000100,
668 FTA_NoEditIcon = 0x00000200,
669 FTA_NoEditDflt = 0x00000400,
670 FTA_NoEditVerbCmd = 0x00000800,
671 FTA_NoEditVerbExe = 0x00001000,
672 FTA_NoDDE = 0x00002000,
673 FTA_NoEditMIME = 0x00008000,
674 FTA_OpenIsSafe = 0x00010000,
675 FTA_AlwaysUnsafe = 0x00020000,
676 FTA_NoRecentDocs = 0x00100000,
677 FTA_SafeForElevation = 0x00200000, /* Win8+ */
678 FTA_AlwaysUseDirectInvoke = 0x00400000 /* Win8+ */
681
682typedef struct IQueryAssociations *LPQUERYASSOCIATIONS;
683
684#define INTERFACE IQueryAssociations
685DECLARE_INTERFACE_(IQueryAssociations,IUnknown)
686{
687 /*** IUnknown methods ***/
691 /*** IQueryAssociations methods ***/
693 STDMETHOD(GetString)(THIS_ _In_ ASSOCF flags, _In_ ASSOCSTR str, _In_opt_ LPCWSTR pszExtra, _Out_writes_opt_(*pcchOut) LPWSTR pszOut, _Inout_ DWORD *pcchOut) PURE;
694 STDMETHOD(GetKey)(THIS_ _In_ ASSOCF flags, _In_ ASSOCKEY key, _In_opt_ LPCWSTR pszExtra, _Out_ HKEY *phkeyOut) PURE;
696 STDMETHOD(GetEnum)(THIS_ _In_ ASSOCF flags, _In_ ASSOCENUM assocenum, _In_opt_ LPCWSTR pszExtra, _In_ REFIID riid, _Outptr_ LPVOID *ppvOut) PURE;
697};
698#undef INTERFACE
699
700#if !defined(__cplusplus) || defined(CINTERFACE)
701#define IQueryAssociations_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
702#define IQueryAssociations_AddRef(p) (p)->lpVtbl->AddRef(p)
703#define IQueryAssociations_Release(p) (p)->lpVtbl->Release(p)
704#define IQueryAssociations_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
705#define IQueryAssociations_GetString(p,a,b,c,d,e) (p)->lpVtbl->GetString(p,a,b,c,d,e)
706#define IQueryAssociations_GetKey(p,a,b,c,d) (p)->lpVtbl->GetKey(p,a,b,c,d)
707#define IQueryAssociations_GetData(p,a,b,c,d,e) (p)->lpVtbl->GetData(p,a,b,c,d,e)
708#define IQueryAssociations_GetEnum(p,a,b,c,d,e) (p)->lpVtbl->GetEnum(p,a,b,c,d,e)
709#endif
710
712
714WINAPI
716 _In_ ASSOCF,
718 _In_ LPCSTR,
720 _Out_writes_opt_(*pcchOut) LPSTR,
721 _Inout_ LPDWORD pcchOut);
722
724WINAPI
726 _In_ ASSOCF,
730 _Out_writes_opt_(*pcchOut) LPWSTR,
731 _Inout_ LPDWORD pcchOut);
732
733#define AssocQueryString WINELIB_NAME_AW(AssocQueryString)
734
736WINAPI
738 _In_ ASSOCF,
740 _In_ HKEY,
742 _Out_writes_opt_(*pcchOut) LPSTR,
743 _Inout_ LPDWORD pcchOut);
744
746WINAPI
748 _In_ ASSOCF,
750 _In_ HKEY,
752 _Out_writes_opt_(*pcchOut) LPWSTR,
753 _Inout_ LPDWORD pcchOut);
754
755#define AssocQueryStringByKey WINELIB_NAME_AW(AssocQueryStringByKey)
756
758WINAPI
760 _In_ ASSOCF,
762 _In_ LPCSTR,
764 _Out_ PHKEY);
765
767WINAPI
769 _In_ ASSOCF,
773 _Out_ PHKEY);
774
775#define AssocQueryKey WINELIB_NAME_AW(AssocQueryKey)
776
778
779#endif /* NO_SHLWAPI_REG */
780
784
786WINAPI
788 _In_ IUnknown *punk,
789 _In_opt_ IUnknown *punkSite);
790
792WINAPI
794 _In_ IUnknown *punk,
796 _Outptr_ void **ppv);
797
799WINAPI
801 _In_opt_ IUnknown *punk,
802 _In_ REFGUID guidService,
804 _Outptr_ void **ppvOut);
805
806/* Path functions */
807#ifndef NO_SHLWAPI_PATH
808
809/* GetPathCharType return flags */
810#define GCT_INVALID 0x0
811#define GCT_LFNCHAR 0x1
812#define GCT_SHORTCHAR 0x2
813#define GCT_WILD 0x4
814#define GCT_SEPARATOR 0x8
815
818#define PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
819
820BOOL
821WINAPI
825
826BOOL
827WINAPI
831
832#define PathAddExtension WINELIB_NAME_AW(PathAddExtension)
833
836#define PathAppend WINELIB_NAME_AW(PathAppend)
837
840#define PathBuildRoot WINELIB_NAME_AW(PathBuiltRoot)
841
844#define PathCanonicalize WINELIB_NAME_AW(PathCanonicalize)
845
848#define PathMatchSpecEx WINELIB_NAME_AW(PathMatchSpecEx)
849
852#define PathMatchSpecEx WINELIB_NAME_AW(PathMatchSpecEx)
853
854LPSTR
855WINAPI
860
861LPWSTR
862WINAPI
867
868#define PathCombine WINELIB_NAME_AW(PathCombine)
869
870BOOL
871WINAPI
875 _In_ UINT);
876
877BOOL
878WINAPI
882 _In_ UINT);
883
884#define PathCompactPath WINELIB_NAME_AW(PathCompactPath)
885
886BOOL
887WINAPI
890 _In_ LPCSTR,
892 _In_ DWORD);
893
894BOOL
895WINAPI
900 _In_ DWORD);
901
902#define PathCompactPathEx WINELIB_NAME_AW(PathCompactPathEx)
903
904int
905WINAPI
907 _In_ LPCSTR,
908 _In_ LPCSTR,
910
911int
912WINAPI
917
918#define PathCommonPrefix WINELIB_NAME_AW(PathCommonPrefix)
919
921WINAPI
923 _In_ LPCSTR,
926 DWORD);
927
929WINAPI
931 _In_ LPCWSTR pszUrl,
934 DWORD dwFlags);
935
936#define PathCreateFromUrl WINELIB_NAME_AW(PathCreateFromUrl)
937
939
942#define PathFileExists WINELIB_NAME_AW(PathFileExists)
943
946#define PathFileExistsAndAttributes WINELIB_NAME_AW(PathFileExistsAndAttributes)
947
950#define PathFindExtension WINELIB_NAME_AW(PathFindExtension)
951
954#define PathFindFileName WINELIB_NAME_AW(PathFindFileName)
955
958#define PathFindNextComponent WINELIB_NAME_AW(PathFindNextComponent)
959
962#define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
963
966#define PathGetArgs WINELIB_NAME_AW(PathGetArgs)
967
970#define PathGetCharType WINELIB_NAME_AW(PathGetCharType)
971
974#define PathGetDriveNumber WINELIB_NAME_AW(PathGetDriveNumber)
975
978#define PathIsDirectory WINELIB_NAME_AW(PathIsDirectory)
979
982#define PathIsDirectoryEmpty WINELIB_NAME_AW(PathIsDirectoryEmpty)
983
986#define PathIsFileSpec WINELIB_NAME_AW(PathIsFileSpec);
987
990#define PathIsPrefix WINELIB_NAME_AW(PathIsPrefix)
991
994#define PathIsRelative WINELIB_NAME_AW(PathIsRelative)
995
998#define PathIsRoot WINELIB_NAME_AW(PathIsRoot)
999
1002#define PathIsSameRoot WINELIB_NAME_AW(PathIsSameRoot)
1003
1006#define PathIsUNC WINELIB_NAME_AW(PathIsUNC)
1007
1010#define PathIsUNCServer WINELIB_NAME_AW(PathIsUNCServer)
1011
1014#define PathIsUNCServerShare WINELIB_NAME_AW(PathIsUNCServerShare)
1015
1018#define PathIsContentType WINELIB_NAME_AW(PathIsContentType)
1019
1022#define PathIsURL WINELIB_NAME_AW(PathIsURL)
1023
1026#define PathMakePretty WINELIB_NAME_AW(PathMakePretty)
1027
1030#define PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
1031
1034#define PathParseIconLocation WINELIB_NAME_AW(PathParseIconLocation)
1035
1038#define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
1039
1040BOOL
1041WINAPI
1044 _In_ LPCSTR,
1045 _In_ DWORD,
1046 _In_ LPCSTR,
1047 _In_ DWORD);
1048
1049BOOL
1050WINAPI
1053 _In_ LPCWSTR,
1054 _In_ DWORD,
1055 _In_ LPCWSTR,
1056 _In_ DWORD);
1057
1058#define PathRelativePathTo WINELIB_NAME_AW(PathRelativePathTo)
1059
1062#define PathRemoveArgs WINELIB_NAME_AW(PathRemoveArgs)
1063
1066#define PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
1067
1070#define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
1071
1074#define PathRemoveExtension WINELIB_NAME_AW(PathRemoveExtension)
1075
1078#define PathRemoveFileSpec WINELIB_NAME_AW(PathRemoveFileSpec)
1079
1080BOOL
1081WINAPI
1084 _In_ LPCSTR);
1085
1086BOOL
1087WINAPI
1090 _In_ LPCWSTR);
1091
1092#define PathRenameExtension WINELIB_NAME_AW(PathRenameExtension)
1093
1094BOOL
1095WINAPI
1097 _In_ LPCSTR,
1098 _Out_writes_(cchBuf) LPSTR,
1099 _In_ UINT cchBuf);
1100
1101BOOL
1102WINAPI
1104 _In_ LPCWSTR,
1105 _Out_writes_(cchBuf) LPWSTR,
1106 _In_ UINT cchBuf);
1107
1108#define PathSearchAndQualify WINELIB_NAME_AW(PathSearchAndQualify)
1109
1112#define PathSetDlgItemPath WINELIB_NAME_AW(PathSetDlgItemPath)
1113
1116#define PathSkipRoot WINELIB_NAME_AW(PathSkipRoot)
1117
1120#define PathStripPath WINELIB_NAME_AW(PathStripPath)
1121
1124#define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
1125
1128#define PathUnquoteSpaces WINELIB_NAME_AW(PathUnquoteSpaces)
1129
1132#define PathMakeSystemFolder WINELIB_NAME_AW(PathMakeSystemFolder)
1133
1136#define PathUnmakeSystemFolder WINELIB_NAME_AW(PathUnmakeSystemFolder)
1137
1140#define PathIsSystemFolder WINELIB_NAME_AW(PathIsSystemFolder)
1141
1144#define PathIsNetworkPath WINELIB_NAME_AW(PathIsNetworkPath)
1145
1148#define PathIsLFNFileSpec WINELIB_NAME_AW(PathIsLFNFileSpec)
1149
1150LPCSTR
1151WINAPI
1153 _In_ LPCSTR,
1154 _In_reads_(iArraySize) LPCSTR *,
1155 int iArraySize);
1156
1157LPCWSTR
1158WINAPI
1160 _In_ LPCWSTR,
1161 _In_reads_(iArraySize) LPCWSTR *,
1162 int iArraySize);
1163
1164#define PathFindSuffixArray WINELIB_NAME_AW(PathFindSuffixArray)
1165
1168#define PathUndecorate WINELIB_NAME_AW(PathUndecorate)
1169
1170BOOL
1171WINAPI
1173 _In_ LPCSTR,
1174 _Out_writes_(cchBuf) LPSTR,
1175 _In_ UINT cchBuf);
1176
1177BOOL
1178WINAPI
1180 _In_ LPCWSTR,
1181 _Out_writes_(cchBuf) LPWSTR,
1182 _In_ UINT cchBuf);
1183
1184#define PathUnExpandEnvStrings WINELIB_NAME_AW(PathUnExpandEnvStrings)
1185
1186/* Url functions */
1187typedef enum {
1218
1219/* These are used by UrlGetPart routine */
1220typedef enum {
1229
1230#define URL_PARTFLAG_KEEPSCHEME 0x00000001
1231
1232/* These are used by the UrlIs... routines */
1233typedef enum {
1242
1243/* This is used by the UrlApplyScheme... routines */
1244#define URL_APPLY_FORCEAPPLY 0x00000008
1245#define URL_APPLY_GUESSFILE 0x00000004
1246#define URL_APPLY_GUESSSCHEME 0x00000002
1247#define URL_APPLY_DEFAULT 0x00000001
1248
1249/* The following are used by UrlEscape..., UrlUnEscape...,
1250 * UrlCanonicalize..., and UrlCombine... routines
1251 */
1252#define URL_WININET_COMPATIBILITY 0x80000000
1253#define URL_PLUGGABLE_PROTOCOL 0x40000000
1254#define URL_ESCAPE_UNSAFE 0x20000000
1255#define URL_UNESCAPE 0x10000000
1256
1257#define URL_DONT_SIMPLIFY 0x08000000
1258#define URL_NO_META URL_DONT_SIMPLIFY
1259#define URL_ESCAPE_SPACES_ONLY 0x04000000
1260#define URL_DONT_ESCAPE_EXTRA_INFO 0x02000000
1261#define URL_DONT_UNESCAPE_EXTRA_INFO URL_DONT_ESCAPE_EXTRA_INFO
1262#define URL_BROWSER_MODE URL_DONT_ESCAPE_EXTRA_INFO
1263
1264#define URL_INTERNAL_PATH 0x00800000 /* Will escape #'s in paths */
1265#define URL_UNESCAPE_HIGH_ANSI_ONLY 0x00400000
1266#define URL_CONVERT_IF_DOSPATH 0x00200000
1267#define URL_UNESCAPE_INPLACE 0x00100000
1268
1269#define URL_FILE_USE_PATHURL 0x00010000
1270#define URL_ESCAPE_AS_UTF8 0x00040000
1271
1272#define URL_UNESCAPE_AS_UTF8 URL_ESCAPE_AS_UTF8
1273#define URL_UNESCAPE_URI_COMPONENT URL_UNESCAPE_AS_UTF8
1274
1275#define URL_ESCAPE_SEGMENT_ONLY 0x00002000
1276#define URL_ESCAPE_PERCENT 0x00001000
1277
1278HRESULT
1279WINAPI
1281 _In_ LPCSTR,
1282 _Out_writes_(*pcchOut) LPSTR,
1283 _Inout_ LPDWORD pcchOut,
1284 DWORD);
1285
1286HRESULT
1287WINAPI
1289 _In_ LPCWSTR,
1290 _Out_writes_(*pcchOut) LPWSTR,
1291 _Inout_ LPDWORD pcchOut,
1292 DWORD);
1293
1294#define UrlApplyScheme WINELIB_NAME_AW(UrlApplyScheme)
1295
1296HRESULT
1297WINAPI
1299 _In_ LPCSTR,
1300 _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPSTR,
1301 _Inout_ LPDWORD pcchCanonicalized,
1302 DWORD);
1303
1304HRESULT
1305WINAPI
1307 _In_ LPCWSTR,
1308 _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPWSTR,
1309 _Inout_ LPDWORD pcchCanonicalized,
1310 DWORD);
1311
1312#define UrlCanonicalize WINELIB_NAME_AW(UrlCanonicalize)
1313
1314HRESULT
1315WINAPI
1317 _In_ LPCSTR,
1318 _In_ LPCSTR,
1319 _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPSTR,
1320 _Inout_ LPDWORD pcchCombined,
1321 DWORD);
1322
1323HRESULT
1324WINAPI
1326 _In_ LPCWSTR,
1327 _In_ LPCWSTR,
1328 _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPWSTR,
1329 _Inout_ LPDWORD pcchCombined,
1330 DWORD);
1331
1332#define UrlCombine WINELIB_NAME_AW(UrlCombine)
1333
1336#define UrlCompare WINELIB_NAME_AW(UrlCompare)
1337
1338HRESULT
1339WINAPI
1341 _In_ LPCSTR,
1342 _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPSTR,
1343 _Inout_ LPDWORD pcchEscaped,
1344 DWORD);
1345
1346HRESULT
1347WINAPI
1349 _In_ LPCWSTR,
1350 _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPWSTR,
1351 _Inout_ LPDWORD pcchEscaped,
1352 DWORD);
1353
1354#define UrlEscape WINELIB_NAME_AW(UrlEscape)
1355
1356#define UrlEscapeSpacesA(x,y,z) UrlCanonicalizeA(x, y, z, \
1357 URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
1358#define UrlEscapeSpacesW(x,y,z) UrlCanonicalizeW(x, y, z, \
1359 URL_DONT_ESCAPE_EXTRA_INFO|URL_ESCAPE_SPACES_ONLY)
1360#define UrlEscapeSpaces WINELIB_NAME_AW(UrlEscapeSpaces)
1361
1364#define UrlGetLocation WINELIB_NAME_AW(UrlGetLocation)
1365
1366HRESULT
1367WINAPI
1369 _In_ LPCSTR,
1370 _Out_writes_(*pcchOut) LPSTR,
1371 _Inout_ LPDWORD pcchOut,
1372 DWORD,
1373 DWORD);
1374
1375HRESULT
1376WINAPI
1378 _In_ LPCWSTR,
1379 _Out_writes_(*pcchOut) LPWSTR,
1380 _Inout_ LPDWORD pcchOut,
1381 DWORD,
1382 DWORD);
1383
1384#define UrlGetPart WINELIB_NAME_AW(UrlGetPart)
1385
1386HRESULT
1387WINAPI
1389 _In_reads_bytes_(cbData) const unsigned char *,
1390 DWORD cbData,
1391 _Out_writes_bytes_(cbHash) unsigned char *lpDest,
1392 DWORD cbHash);
1393
1394HRESULT
1395WINAPI
1397 _In_ LPCSTR,
1398 _Out_writes_bytes_(cbHash) unsigned char *,
1399 DWORD cbHash);
1400
1401HRESULT
1402WINAPI
1404 _In_ LPCWSTR,
1405 _Out_writes_bytes_(cbHash) unsigned char *,
1406 DWORD cbHash);
1407
1408#define UrlHash WINELIB_NAME_AW(UrlHash)
1409
1412#define UrlIs WINELIB_NAME_AW(UrlIs)
1413
1416#define UrlIsNoHistory WINELIB_NAME_AW(UrlIsNoHistory)
1417
1420#define UrlIsOpaque WINELIB_NAME_AW(UrlIsOpaque)
1421
1422#define UrlIsFileUrlA(x) UrlIsA(x, URLIS_FILEURL)
1423#define UrlIsFileUrlW(x) UrlIsW(x, URLIS_FILEURL)
1424#define UrlIsFileUrl WINELIB_NAME_AW(UrlIsFileUrl)
1425
1426HRESULT
1427WINAPI
1429 _Inout_ LPSTR,
1430 _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPSTR,
1431 _Inout_opt_ LPDWORD pcchUnescaped,
1432 DWORD);
1433
1434HRESULT
1435WINAPI
1438 _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPWSTR,
1439 _Inout_opt_ LPDWORD pcchUnescaped,
1440 DWORD);
1441
1442#define UrlUnescape WINELIB_NAME_AW(UrlUnescape)
1443
1444#define UrlUnescapeInPlaceA(x,y) UrlUnescapeA(x, NULL, NULL, \
1445 y | URL_UNESCAPE_INPLACE)
1446#define UrlUnescapeInPlaceW(x,y) UrlUnescapeW(x, NULL, NULL, \
1447 y | URL_UNESCAPE_INPLACE)
1448#define UrlUnescapeInPlace WINELIB_NAME_AW(UrlUnescapeInPlace)
1449
1450HRESULT
1451WINAPI
1453 _In_ LPCSTR,
1454 _Out_writes_to_(*pcchUrl, *pcchUrl) LPSTR,
1455 _Inout_ LPDWORD pcchUrl,
1456 DWORD);
1457
1458HRESULT
1459WINAPI
1461 _In_ LPCWSTR,
1462 _Out_writes_to_(*pcchUrl, *pcchUrl) LPWSTR,
1463 _Inout_ LPDWORD pcchUrl,
1464 DWORD);
1465
1466#define UrlCreateFromPath WINELIB_NAME_AW(UrlCreateFromPath)
1467
1468typedef struct tagPARSEDURLA {
1476
1477typedef struct tagPARSEDURLW {
1485
1488#define ParseURL WINELIB_NAME_AW(ParseUrl)
1489
1490#endif /* NO_SHLWAPI_PATH */
1491
1492
1493/* String functions */
1494#ifndef NO_SHLWAPI_STRFCNS
1495
1496/* StrToIntEx flags */
1497#define STIF_DEFAULT 0x0L
1498#define STIF_SUPPORT_HEX 0x1L
1499
1502#define ChrCmpI WINELIB_NAME_AW(ChrCmpI)
1503
1506#define StrCSpn WINELIB_NAME_AW(StrCSpn)
1507
1510#define StrCSpnI WINELIB_NAME_AW(StrCSpnI)
1511
1512#define StrCatA lstrcatA
1514#define StrCat WINELIB_NAME_AW(StrCat)
1515
1516LPSTR
1517WINAPI
1519 _Inout_updates_(cchDestBuffSize) LPSTR,
1520 _In_ LPCSTR,
1521 INT cchDestBuffSize);
1522
1523LPWSTR
1524WINAPI
1526 _Inout_updates_(cchDestBuffSize) LPWSTR,
1527 _In_ LPCWSTR,
1528 INT cchDestBuffSize);
1529
1530#define StrCatBuff WINELIB_NAME_AW(StrCatBuff)
1531
1532DWORD
1533WINAPI
1535 _Out_writes_(cchDst) LPWSTR,
1536 DWORD cchDst,
1537 DWORD,
1538 _In_ LPCWSTR);
1539
1542#define StrChr WINELIB_NAME_AW(StrChr)
1543
1546#define StrChrI WINELIB_NAME_AW(StrChrI)
1547
1548#define StrCmpA lstrcmpA
1550#define StrCmp WINELIB_NAME_AW(StrCmp)
1551
1552#define StrCmpIA lstrcmpiA
1554#define StrCmpI WINELIB_NAME_AW(StrCmpI)
1555
1556#define StrCpyA lstrcpyA
1558#define StrCpy WINELIB_NAME_AW(StrCpy)
1559
1560#define StrCpyNA lstrcpynA
1562#define StrCpyN WINELIB_NAME_AW(StrCpyN)
1563#define StrNCpy WINELIB_NAME_AW(StrCpyN)
1564
1566
1569#define StrCmpN WINELIB_NAME_AW(StrCmpN)
1570#define StrNCmp WINELIB_NAME_AW(StrCmpN)
1571
1574#define StrCmpNI WINELIB_NAME_AW(StrCmpNI)
1575#define StrNCmpI WINELIB_NAME_AW(StrCmpNI)
1576
1579#define StrDup WINELIB_NAME_AW(StrDup)
1580
1583#define SHStrDup WINELIB_NAME_AW(SHStrDup)
1584
1585LPSTR
1586WINAPI
1588 DWORD,
1589 _Out_writes_(cchBuf) LPSTR,
1590 UINT cchBuf);
1591
1592/* A/W Pairing is broken for this function */
1593
1594LPSTR
1595WINAPI
1597 LONGLONG,
1598 _Out_writes_(cchBuf) LPSTR,
1599 UINT cchBuf);
1600
1601LPWSTR
1602WINAPI
1604 LONGLONG,
1605 _Out_writes_(cchBuf) LPWSTR,
1606 UINT cchBuf);
1607
1608#ifndef WINE_NO_UNICODE_MACROS
1609#ifdef UNICODE
1610#define StrFormatByteSize StrFormatByteSizeW
1611#else
1612#define StrFormatByteSize StrFormatByteSize64A
1613#endif
1614#endif
1615
1616LPSTR
1617WINAPI
1619 LONGLONG,
1620 _Out_writes_(cchBuf) LPSTR,
1621 UINT cchBuf);
1622
1623LPWSTR
1624WINAPI
1626 LONGLONG,
1627 _Out_writes_(cchBuf) LPWSTR,
1628 UINT cchBuf);
1629
1630#define StrFormatKBSize WINELIB_NAME_AW(StrFormatKBSize)
1631
1632int
1633WINAPI
1636 UINT cchMax,
1637 DWORD,
1638 int);
1639
1640int
1641WINAPI
1644 UINT cchMax,
1645 DWORD,
1646 int);
1647
1648#define StrFromTimeInterval WINELIB_NAME_AW(StrFromTimeInterval)
1649
1652#define StrIsIntlEqual WINELIB_NAME_AW(StrIsIntlEqual)
1653
1654#define StrIntlEqNA(a,b,c) StrIsIntlEqualA(TRUE,a,b,c)
1655#define StrIntlEqNW(a,b,c) StrIsIntlEqualW(TRUE,a,b,c)
1656
1657#define StrIntlEqNIA(a,b,c) StrIsIntlEqualA(FALSE,a,b,c)
1658#define StrIntlEqNIW(a,b,c) StrIsIntlEqualW(FALSE,a,b,c)
1659
1662#define StrNCat WINELIB_NAME_AW(StrNCat)
1663#define StrCatN WINELIB_NAME_AW(StrNCat)
1664
1667#define StrPBrk WINELIB_NAME_AW(StrPBrk)
1668
1671#define StrRChr WINELIB_NAME_AW(StrRChr)
1672
1675#define StrRChrI WINELIB_NAME_AW(StrRChrI)
1676
1679#define StrRStrI WINELIB_NAME_AW(StrRStrI)
1680
1683#define StrSpn WINELIB_NAME_AW(StrSpn)
1684
1687#define StrStr WINELIB_NAME_AW(StrStr)
1688
1691#define StrStrI WINELIB_NAME_AW(StrStrI)
1692
1695
1698#define StrToInt WINELIB_NAME_AW(StrToInt)
1699#define StrToLong WINELIB_NAME_AW(StrToInt)
1700
1703#define StrToIntEx WINELIB_NAME_AW(StrToIntEx)
1704
1707#define StrToIntEx64 WINELIB_NAME_AW(StrToIntEx64)
1708
1711#define StrTrim WINELIB_NAME_AW(StrTrim)
1712
1713INT
1714WINAPI
1720
1721INT
1722WINAPI
1728
1729#define wvnsprintf WINELIB_NAME_AW(wvnsprintf)
1730
1731INT
1732WINAPIV
1737 ...);
1738
1739INT
1740WINAPIV
1745 ...);
1746
1747#define wnsprintf WINELIB_NAME_AW(wnsprintf)
1748
1749HRESULT
1750WINAPI
1752 _In_ LPCWSTR,
1753 _Out_writes_(cchOutBuf) LPWSTR,
1754 _In_ UINT cchOutBuf,
1755 _Reserved_ PVOID*);
1756
1757BOOL
1758WINAPI
1760 BOOL,
1761 _In_reads_(nChar) LPCSTR,
1762 _In_reads_(nChar) LPCSTR,
1763 int nChar);
1764
1765BOOL
1766WINAPI
1768 BOOL,
1769 _In_reads_(nChar) LPCWSTR,
1770 _In_reads_(nChar) LPCWSTR,
1771 int nChar);
1772
1773#define IntlStrEqWorker WINELIB_NAME_AW(IntlStrEqWorker)
1774
1775#define IntlStrEqNA(s1,s2,n) IntlStrEqWorkerA(TRUE,s1,s2,n)
1776#define IntlStrEqNW(s1,s2,n) IntlStrEqWorkerW(TRUE,s1,s2,n)
1777#define IntlStrEqN WINELIB_NAME_AW(IntlStrEqN)
1778
1779#define IntlStrEqNIA(s1,s2,n) IntlStrEqWorkerA(FALSE,s1,s2,n)
1780#define IntlStrEqNIW(s1,s2,n) IntlStrEqWorkerW(FALSE,s1,s2,n)
1781#define IntlStrEqNI WINELIB_NAME_AW(IntlStrEqNI)
1782
1783HRESULT
1784WINAPI
1786 _Inout_ STRRET*,
1788 _Outptr_ LPSTR*);
1789
1790HRESULT
1791WINAPI
1793 _Inout_ STRRET*,
1795 _Outptr_ LPWSTR*);
1796
1797#define StrRetToStr WINELIB_NAME_AW(StrRetToStr)
1798
1799HRESULT
1800WINAPI
1802 _Inout_ STRRET*,
1804 _Out_writes_(cchBuf) LPSTR,
1805 UINT cchBuf);
1806
1807HRESULT
1808WINAPI
1810 _Inout_ STRRET*,
1812 _Out_writes_(cchBuf) LPWSTR,
1813 UINT cchBuf);
1814
1815#define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
1816
1817HRESULT
1818WINAPI
1820 _Inout_ STRRET*,
1822 _Outptr_ BSTR*);
1823
1826#define IsCharSpace WINELIB_NAME_AW(IsCharSpace)
1827
1828#endif /* NO_SHLWAPI_STRFCNS */
1829
1830
1831/* GDI functions */
1832#ifndef NO_SHLWAPI_GDI
1833
1835
1837
1839
1841
1842#endif /* NO_SHLWAPI_GDI */
1843
1844/* Security functions */
1846
1847/* Stream functions */
1848#ifndef NO_SHLWAPI_STREAM
1849
1850struct IStream *
1851WINAPI
1853 _In_ HKEY,
1856 _In_ DWORD);
1857
1858struct IStream *
1859WINAPI
1861 _In_ HKEY,
1864 _In_ DWORD);
1865
1866#define SHOpenRegStream WINELIB_NAME_AW(SHOpenRegStream2) /* Uses version 2 */
1867
1868struct IStream *
1869WINAPI
1871 _In_ HKEY,
1874 _In_ DWORD);
1875
1876struct IStream *
1877WINAPI
1879 _In_ HKEY,
1882 _In_ DWORD);
1883
1884#define SHOpenRegStream2 WINELIB_NAME_AW(SHOpenRegStream2)
1885
1886HRESULT
1887WINAPI
1889 _In_ LPCSTR,
1890 _In_ DWORD,
1891 _Outptr_ struct IStream**);
1892
1893HRESULT
1894WINAPI
1896 _In_ LPCWSTR,
1897 _In_ DWORD,
1898 _Outptr_ struct IStream**);
1899
1900#define SHCreateStreamOnFile WINELIB_NAME_AW(SHCreateStreamOnFile)
1901
1902struct IStream*
1903WINAPI
1905 _In_reads_bytes_opt_(cbInit) const BYTE *pInit,
1906 _In_ UINT cbInit);
1907
1908HRESULT
1909WINAPI
1911 _In_ LPCWSTR,
1912 _In_ DWORD,
1913 _In_ DWORD,
1914 _In_ BOOL,
1915 _In_opt_ struct IStream*,
1916 _Outptr_ struct IStream**);
1917
1919
1920#ifndef _SHLWAPI_
1922#if !defined(IStream_Read) && defined(__cplusplus)
1923LWSTDAPI IStream_Read(_In_ struct IStream*, _Out_ void*, _In_ ULONG);
1924LWSTDAPI IStream_Write(_In_ struct IStream*, _In_ const void*, _In_ ULONG);
1925#endif
1926#endif
1927
1928#endif /* NO_SHLWAPI_STREAM */
1929
1930#ifndef NO_SHLWAPI_SHARED
1931
1932// These functions are only included in this file starting with the Windows 7 platform SDK
1933
1934HANDLE
1935WINAPI
1937 _In_opt_ const void *pvData,
1939 _In_ DWORD dwDestinationProcessId
1940 );
1941
1942PVOID
1943WINAPI
1945 _In_ HANDLE hData,
1946 _In_ DWORD dwProcessId
1947 );
1948
1949BOOL
1950WINAPI
1952 _In_ void *pvData
1953 );
1954
1955BOOL
1956WINAPI
1958 _In_ HANDLE hData,
1959 _In_ DWORD dwProcessId
1960 );
1961
1962#endif /* NO_SHLWAPI_SHARED */
1963
1965
1966/* SHAutoComplete flags */
1967#define SHACF_DEFAULT 0x00000000
1968#define SHACF_FILESYSTEM 0x00000001
1969#define SHACF_URLHISTORY 0x00000002
1970#define SHACF_URLMRU 0x00000004
1971#define SHACF_URLALL (SHACF_URLHISTORY|SHACF_URLMRU)
1972#define SHACF_USETAB 0x00000008
1973#define SHACF_FILESYS_ONLY 0x00000010
1974#define SHACF_FILESYS_DIRS 0x00000020
1975#define SHACF_AUTOSUGGEST_FORCE_ON 0x10000000
1976#define SHACF_AUTOSUGGEST_FORCE_OFF 0x20000000
1977#define SHACF_AUTOAPPEND_FORCE_ON 0x40000000
1978#define SHACF_AUTOAPPEND_FORCE_OFF 0x80000000
1979
1981
1982/* Threads */
1987
1988/* SHCreateThread flags */
1989#define CTF_INSIST 0x01 /* Always call */
1990#define CTF_THREAD_REF 0x02 /* Hold thread ref */
1991#define CTF_PROCESS_REF 0x04 /* Hold process ref */
1992#define CTF_COINIT 0x08 /* Startup COM first */
1993#define CTF_FREELIBANDEXIT 0x10 /* Hold DLL ref */
1994#define CTF_REF_COUNTED 0x20 /* Thread is ref counted */
1995#define CTF_WAIT_ALLOWCOM 0x40 /* Allow marshalling */
1996
1997BOOL
1998WINAPI
2000 _In_ LPTHREAD_START_ROUTINE pfnThreadProc,
2001 _In_opt_ void* pData,
2003 _In_opt_ LPTHREAD_START_ROUTINE pfnCallback);
2004
2006
2007/* Version Information */
2008
2009typedef struct _DllVersionInfo {
2016
2017#define DLLVER_PLATFORM_WINDOWS 0x01 /* Win9x */
2018#define DLLVER_PLATFORM_NT 0x02 /* WinNT */
2019
2021
2022#ifdef __WINESRC__
2023/* shouldn't be here, but is nice for type checking */
2025#endif
2026
2027typedef struct _DLLVERSIONINFO2 {
2029 DWORD dwFlags; /* Reserved */
2030 ULONGLONG DECLSPEC_ALIGN(8) ullVersion; /* 16 bits each for Major, Minor, Build, QFE */
2032
2033#define DLLVER_MAJOR_MASK 0xFFFF000000000000
2034#define DLLVER_MINOR_MASK 0x0000FFFF00000000
2035#define DLLVER_BUILD_MASK 0x00000000FFFF0000
2036#define DLLVER_QFE_MASK 0x000000000000FFFF
2037
2038#define MAKEDLLVERULL(mjr, mnr, bld, qfe) (((ULONGLONG)(mjr)<< 48)| \
2039 ((ULONGLONG)(mnr)<< 32) | ((ULONGLONG)(bld)<< 16) | (ULONGLONG)(qfe))
2040
2042
2043
2044#if (_WIN32_IE >= 0x0600)
2045#define SHGVSPB_PERUSER 0x00000001
2046#define SHGVSPB_ALLUSERS 0x00000002
2047#define SHGVSPB_PERFOLDER 0x00000004
2048#define SHGVSPB_ALLFOLDERS 0x00000008
2049#define SHGVSPB_INHERIT 0x00000010
2050#define SHGVSPB_ROAM 0x00000020
2051#define SHGVSPB_NOAUTODEFAULTS 0x80000000
2052
2053#define SHGVSPB_FOLDER (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER)
2054#define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS)
2055#define SHGVSPB_USERDEFAULTS (SHGVSPB_PERUSER | SHGVSPB_ALLFOLDERS)
2056#define SHGVSPB_GLOBALDEAFAULTS (SHGVSPB_ALLUSERS | SHGVSPB_ALLFOLDERS)
2057
2058HRESULT
2059WINAPI
2062 _In_opt_ LPCWSTR bag_name,
2065 _Outptr_ void **ppv);
2066
2067#endif /* (_WIN32_IE >= 0x0600) */
2068
2069
2070/* IsOS definitions */
2071
2072#define OS_WIN32SORGREATER 0x00
2073#define OS_NT 0x01
2074#define OS_WIN95ORGREATER 0x02
2075#define OS_NT4ORGREATER 0x03
2076#define OS_WIN2000ORGREATER_ALT 0x04
2077#define OS_WIN98ORGREATER 0x05
2078#define OS_WIN98_GOLD 0x06
2079#define OS_WIN2000ORGREATER 0x07
2080#define OS_WIN2000PRO 0x08
2081#define OS_WIN2000SERVER 0x09
2082#define OS_WIN2000ADVSERVER 0x0A
2083#define OS_WIN2000DATACENTER 0x0B
2084#define OS_WIN2000TERMINAL 0x0C
2085#define OS_EMBEDDED 0x0D
2086#define OS_TERMINALCLIENT 0x0E
2087#define OS_TERMINALREMOTEADMIN 0x0F
2088#define OS_WIN95_GOLD 0x10
2089#define OS_MEORGREATER 0x11
2090#define OS_XPORGREATER 0x12
2091#define OS_HOME 0x13
2092#define OS_PROFESSIONAL 0x14
2093#define OS_DATACENTER 0x15
2094#define OS_ADVSERVER 0x16
2095#define OS_SERVER 0x17
2096#define OS_TERMINALSERVER 0x18
2097#define OS_PERSONALTERMINALSERVER 0x19
2098#define OS_FASTUSERSWITCHING 0x1A
2099#define OS_WELCOMELOGONUI 0x1B
2100#define OS_DOMAINMEMBER 0x1C
2101#define OS_ANYSERVER 0x1D
2102#define OS_WOW6432 0x1E
2103#define OS_WEBSERVER 0x1F
2104#define OS_SMALLBUSINESSSERVER 0x20
2105#define OS_TABLETPC 0x21
2106#define OS_SERVERADMINUI 0x22
2107#define OS_MEDIACENTER 0x23
2108#define OS_APPLIANCE 0x24
2109
2111
2112/* SHSetTimerQueueTimer definitions */
2113#define TPS_EXECUTEIO 0x00000001
2114#define TPS_LONGEXECTIME 0x00000008
2115
2116/* SHFormatDateTimeA/SHFormatDateTimeW flags */
2117#define FDTF_SHORTTIME 0x00000001
2118#define FDTF_SHORTDATE 0x00000002
2119#define FDTF_DEFAULT (FDTF_SHORTDATE | FDTF_SHORTTIME)
2120#define FDTF_LONGDATE 0x00000004
2121#define FDTF_LONGTIME 0x00000008
2122#define FDTF_RELATIVE 0x00000010
2123#define FDTF_LTRDATE 0x00000100
2124#define FDTF_RTLDATE 0x00000200
2125#define FDTF_NOAUTOREADINGORDER 0x00000400
2126
2127
2128typedef struct
2129{
2130 const IID *piid;
2131#if defined(__REACTOS__) || (WINVER >= _WIN32_WINNT_WIN10)
2133#else
2134 int dwOffset;
2135#endif
2137
2138HRESULT
2139WINAPI
2141 _Inout_ void* base,
2142 _In_ const QITAB *pqit,
2144 _Outptr_ void **ppv);
2145
2146#define OFFSETOFCLASS(base, derived) \
2147 ((DWORD)(DWORD_PTR)(static_cast<base*>((derived*)8))-8)
2148
2149#define QITABENTMULTI(Cthis, Ifoo, Iimpl) { &IID_##Ifoo, OFFSETOFCLASS(Iimpl, Cthis) }
2150#define QITABENT(Cthis, Ifoo) QITABENTMULTI(Cthis, Ifoo, Ifoo)
2151
2152#include <poppack.h>
2153
2154#ifdef __cplusplus
2155} /* extern "C" */
2156#endif /* defined(__cplusplus) */
2157
2158#endif /* __WINE_SHLWAPI_H */
UINT cchMax
#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
STDAPI DllGetVersion(DLLVERSIONINFO *info)
Definition: browseui.cpp:221
_In_ BOOLEAN Release
Definition: cdrom.h:920
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
OLECHAR * BSTR
Definition: compat.h:2293
#define MAX_PATH
Definition: compat.h:34
#define CALLBACK
Definition: compat.h:35
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv)
Definition: ordinal.c:5243
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
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
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:56
static HDC
Definition: imagelist.c:88
static LPWSTR PDWORD pcchPath
Definition: asmcache.c:747
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:63
_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
#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 _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:304
#define PathCanonicalizeA
Definition: pathcch.h:312
#define PathAddExtensionW
Definition: pathcch.h:305
#define PathCombineA
Definition: pathcch.h:316
#define PathAppendA
Definition: pathcch.h:308
#define PathCanonicalizeW
Definition: pathcch.h:313
#define PathAddBackslashA
Definition: pathcch.h:300
#define PathCombineW
Definition: pathcch.h:317
#define PathRenameExtensionA
Definition: pathcch.h:320
#define PathRenameExtensionW
Definition: pathcch.h:321
#define PathAddBackslashW
Definition: pathcch.h:301
#define PathAppendW
Definition: pathcch.h:309
long LONG
Definition: pedump.c:60
#define REFIID
Definition: guiddef.h:118
const WCHAR * str
#define WINAPIV
Definition: sdbpapi.h:64
BOOL WINAPI PathFindOnPathA(_Inout_updates_(MAX_PATH) LPSTR, _In_opt_ LPCSTR *)
BOOL WINAPI PathRemoveFileSpecA(_Inout_ LPSTR)
LPSTR WINAPI StrRChrIA(_In_ LPCSTR, _In_opt_ LPCSTR, WORD)
LONG WINAPI SHRegQueryUSValueA(_In_ HUSKEY, _In_opt_ LPCSTR, _Inout_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ BOOL, _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID, _In_opt_ DWORD dwDefaultDataSize)
BOOL WINAPI PathIsPrefixA(_In_ LPCSTR, _In_ LPCSTR)
HRESULT WINAPI SHReleaseThreadRef(void)
Definition: thread.c:279
LONG WINAPI SHEnumValueW(_In_ HKEY, _In_ DWORD, _Out_writes_opt_(*pcchValueName) LPWSTR, _Inout_opt_ LPDWORD pcchValueName, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
DWORD WINAPI SHCopyKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ HKEY, _Reserved_ DWORD)
HRESULT WINAPI SHSetThreadRef(_In_opt_ IUnknown *)
HUSKEY * PHUSKEY
Definition: shlwapi.h:327
VOID WINAPI PathUndecorateA(_Inout_ LPSTR)
LPCWSTR WINAPI UrlGetLocationW(_In_ LPCWSTR)
LONG WINAPI SHRegDeleteEmptyUSKeyW(_In_ HUSKEY, _In_ LPCWSTR, _In_ SHREGDEL_FLAGS)
HRESULT WINAPI DllInstall(BOOL, _In_opt_ LPCWSTR) DECLSPEC_HIDDEN
LPCSTR WINAPI PathFindSuffixArrayA(_In_ LPCSTR, _In_reads_(iArraySize) LPCSTR *, int iArraySize)
ASSOCDATA
Definition: shlwapi.h:641
@ ASSOCDATA_HASPERUSERASSOC
Definition: shlwapi.h:645
@ ASSOCDATA_EDITFLAGS
Definition: shlwapi.h:646
@ ASSOCDATA_MSIDESCRIPTOR
Definition: shlwapi.h:642
@ ASSOCDATA_VALUE
Definition: shlwapi.h:647
@ ASSOCDATA_NOACTIVATEHANDLER
Definition: shlwapi.h:643
@ ASSOCDATA_MAX
Definition: shlwapi.h:648
@ ASSOCDATA_QUERYCLASSSTORE
Definition: shlwapi.h:644
BOOL WINAPI UrlIsA(_In_ LPCSTR, URLIS)
COLORREF WINAPI ColorAdjustLuma(COLORREF, int, BOOL)
Definition: ordinal.c:3786
BOOL WINAPI PathRemoveFileSpecW(_Inout_ LPWSTR)
LSTATUS WINAPI SHRegGetValueW(_In_ HKEY hkey, _In_opt_ LPCWSTR pszSubKey, _In_opt_ LPCWSTR pszValue, _In_ SRRF srrfFlags, _Out_opt_ LPDWORD pdwType, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID pvData, _Inout_opt_ LPDWORD pcbData)
int WINAPI SHRegGetIntW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ int)
LONG WINAPI SHQueryInfoKeyW(_In_ HKEY, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD)
LONG WINAPI SHRegGetUSValueW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _Inout_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ BOOL, _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID, _In_ DWORD dwDefaultDataSize)
LONG WINAPI SHRegOpenUSKeyW(_In_ LPCWSTR, _In_ REGSAM, _In_opt_ HUSKEY, _Out_ PHUSKEY, _In_ BOOL)
BOOL WINAPI PathIsContentTypeA(_In_ LPCSTR, _In_ LPCSTR)
LPSTR WINAPI PathRemoveBackslashA(_Inout_ LPSTR)
BOOL WINAPI StrTrimA(_Inout_ LPSTR, _In_ LPCSTR)
HRESULT WINAPI UrlHashW(_In_ LPCWSTR, _Out_writes_bytes_(cbHash) unsigned char *, DWORD cbHash)
HRESULT WINAPI SHCreateStreamOnFileEx(_In_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_ BOOL, _In_opt_ struct IStream *, _Outptr_ struct IStream **)
LONG WINAPI SHRegWriteUSValueW(_In_ HUSKEY, _In_ LPCWSTR, _In_ DWORD, _In_reads_bytes_(cbData) LPVOID, _In_ DWORD cbData, _In_ DWORD)
LPWSTR WINAPI StrCatW(_Inout_ LPWSTR, _In_ LPCWSTR)
LPSTR WINAPI StrChrA(_In_ LPCSTR, WORD)
HRESULT WINAPI SHCreateStreamOnFileA(_In_ LPCSTR, _In_ DWORD, _Outptr_ struct IStream **)
HRESULT WINAPI SHGetThreadRef(_Outptr_ IUnknown **)
VOID WINAPI PathRemoveBlanksW(_Inout_ LPWSTR)
URL_SCHEME
Definition: shlwapi.h:1187
@ URL_SCHEME_SNEWS
Definition: shlwapi.h:1202
@ URL_SCHEME_MAILTO
Definition: shlwapi.h:1193
@ URL_SCHEME_KNOWNFOLDER
Definition: shlwapi.h:1215
@ URL_SCHEME_LOCAL
Definition: shlwapi.h:1203
@ URL_SCHEME_MK
Definition: shlwapi.h:1199
@ URL_SCHEME_TELNET
Definition: shlwapi.h:1196
@ URL_SCHEME_UNKNOWN
Definition: shlwapi.h:1189
@ URL_SCHEME_MSSHELLROOTED
Definition: shlwapi.h:1208
@ URL_SCHEME_WAIS
Definition: shlwapi.h:1197
@ URL_SCHEME_HTTPS
Definition: shlwapi.h:1200
@ URL_SCHEME_SEARCH
Definition: shlwapi.h:1214
@ URL_SCHEME_FTP
Definition: shlwapi.h:1190
@ URL_SCHEME_RES
Definition: shlwapi.h:1207
@ URL_SCHEME_NEWS
Definition: shlwapi.h:1194
@ URL_SCHEME_MSSHELLIDLIST
Definition: shlwapi.h:1209
@ URL_SCHEME_HTTP
Definition: shlwapi.h:1191
@ URL_SCHEME_FILE
Definition: shlwapi.h:1198
@ URL_SCHEME_WILDCARD
Definition: shlwapi.h:1212
@ URL_SCHEME_ABOUT
Definition: shlwapi.h:1206
@ URL_SCHEME_NNTP
Definition: shlwapi.h:1195
@ URL_SCHEME_INVALID
Definition: shlwapi.h:1188
@ URL_SCHEME_SHELL
Definition: shlwapi.h:1201
@ URL_SCHEME_MSSHELLDEVICE
Definition: shlwapi.h:1211
@ URL_SCHEME_VBSCRIPT
Definition: shlwapi.h:1205
@ URL_SCHEME_MSHELP
Definition: shlwapi.h:1210
@ URL_SCHEME_SEARCH_MS
Definition: shlwapi.h:1213
@ URL_SCHEME_GOPHER
Definition: shlwapi.h:1192
@ URL_SCHEME_JAVASCRIPT
Definition: shlwapi.h:1204
@ URL_SCHEME_MAXVALUE
Definition: shlwapi.h:1216
LPSTR WINAPI PathFindNextComponentA(_In_ LPCSTR)
LPWSTR WINAPI StrStrW(_In_ LPCWSTR pszFirst, _In_ LPCWSTR pszSrch)
HANDLE WINAPI SHAllocShared(_In_opt_ const void *pvData, _In_ DWORD dwSize, _In_ DWORD dwDestinationProcessId)
int WINAPI PathCommonPrefixA(_In_ LPCSTR, _In_ LPCSTR, _Out_writes_opt_(MAX_PATH) LPSTR)
BOOL WINAPI SHFreeShared(_In_ HANDLE hData, _In_ DWORD dwProcessId)
LPWSTR WINAPI StrRChrIW(_In_ LPCWSTR, _In_opt_ LPCWSTR, WCHAR)
BOOL WINAPI PathCompactPathA(_In_opt_ HDC, _Inout_updates_(MAX_PATH) LPSTR, _In_ UINT)
BOOL WINAPI StrToIntExW(_In_ LPCWSTR, DWORD, _Out_ int *)
HRESULT WINAPI IUnknown_QueryService(_In_opt_ IUnknown *punk, _In_ REFGUID guidService, _In_ REFIID riid, _Outptr_ void **ppvOut)
LPSTR WINAPI StrRChrA(_In_ LPCSTR, _In_opt_ LPCSTR, WORD)
BOOL WINAPI IntlStrEqWorkerW(BOOL, _In_reads_(nChar) LPCWSTR, _In_reads_(nChar) LPCWSTR, int nChar)
BOOL WINAPI StrToInt64ExW(_In_ LPCWSTR, DWORD, _Out_ LONGLONG *)
HANDLE HUSKEY
Definition: shlwapi.h:326
LONG WINAPI SHEnumValueA(_In_ HKEY, _In_ DWORD, _Out_writes_opt_(*pcchValueName) LPSTR, _Inout_opt_ LPDWORD pcchValueName, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
BOOL WINAPI IsInternetESCEnabled(void)
Definition: path.c:5246
BOOL WINAPI PathRelativePathToW(_Out_writes_(MAX_PATH) LPWSTR, _In_ LPCWSTR, _In_ DWORD, _In_ LPCWSTR, _In_ DWORD)
LONG WINAPI SHRegEnumUSKeyW(_In_ HUSKEY, _In_ DWORD, _Out_writes_to_(*pcchName, *pcchName) LPWSTR, _Inout_ LPDWORD pcchName, _In_ SHREGENUM_FLAGS)
HRESULT WINAPI IUnknown_SetSite(_In_ IUnknown *punk, _In_opt_ IUnknown *punkSite)
INT WINAPI StrCmpNA(_In_ LPCSTR, _In_ LPCSTR, INT)
LONG WINAPI SHRegCreateUSKeyW(_In_ LPCWSTR, _In_ REGSAM, _In_opt_ HUSKEY, _Out_ PHUSKEY, _In_ DWORD)
HPALETTE WINAPI SHCreateShellPalette(_In_opt_ HDC)
BOOL WINAPI PathIsSystemFolderA(_In_opt_ LPCSTR, _In_ DWORD)
struct IStream *WINAPI SHCreateMemStream(_In_reads_bytes_opt_(cbInit) const BYTE *pInit, _In_ UINT cbInit)
DWORD WINAPI SHSetValueA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD, _In_reads_bytes_opt_(cbData) LPCVOID, _In_ DWORD cbData)
BOOL WINAPI PathMakeSystemFolderA(_In_ LPCSTR)
BOOL WINAPI PathFileExistsA(_In_ LPCSTR pszPath)
BOOL WINAPI PathIsDirectoryEmptyA(_In_ LPCSTR)
LONG WINAPI SHEnumKeyExW(_In_ HKEY, _In_ DWORD, _Out_writes_(*pcchName) LPWSTR, _Inout_ LPDWORD pcchName)
LPWSTR WINAPI StrRStrIW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ LPCWSTR)
LPWSTR WINAPI StrFormatByteSizeW(LONGLONG, _Out_writes_(cchBuf) LPWSTR, UINT cchBuf)
LPWSTR WINAPI StrChrIW(_In_ LPCWSTR, WCHAR)
HRESULT WINAPI AssocQueryStringA(_In_ ASSOCF, _In_ ASSOCSTR, _In_ LPCSTR, _In_opt_ LPCSTR, _Out_writes_opt_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut)
VOID WINAPI PathQuoteSpacesW(_Inout_updates_(MAX_PATH) LPWSTR)
LPWSTR WINAPI StrStrIW(_In_ LPCWSTR pszFirst, _In_ LPCWSTR pszSrch)
HRESULT WINAPI SHAutoComplete(_In_ HWND, DWORD)
BOOL WINAPI UrlIsW(_In_ LPCWSTR, URLIS)
int WINAPI StrSpnA(_In_ LPCSTR psz, _In_ LPCSTR pszSet)
BOOL WINAPI IntlStrEqWorkerA(BOOL, _In_reads_(nChar) LPCSTR, _In_reads_(nChar) LPCSTR, int nChar)
HRESULT WINAPI UrlEscapeW(_In_ LPCWSTR, _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPWSTR, _Inout_ LPDWORD pcchEscaped, DWORD)
LPSTR WINAPI PathFindExtensionA(_In_ LPCSTR pszPath)
VOID WINAPI PathRemoveExtensionA(_Inout_ LPSTR)
URL_PART
Definition: shlwapi.h:1220
@ URL_PART_SCHEME
Definition: shlwapi.h:1222
@ URL_PART_QUERY
Definition: shlwapi.h:1227
@ URL_PART_HOSTNAME
Definition: shlwapi.h:1223
@ URL_PART_NONE
Definition: shlwapi.h:1221
@ URL_PART_USERNAME
Definition: shlwapi.h:1224
@ URL_PART_PORT
Definition: shlwapi.h:1226
@ URL_PART_PASSWORD
Definition: shlwapi.h:1225
LPSTR WINAPI StrFormatKBSizeA(LONGLONG, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
BOOL WINAPI PathIsNetworkPathA(_In_ LPCSTR)
int WINAPI StrToIntA(_In_ LPCSTR)
HRESULT WINAPI SHCreateStreamWrapper(LPBYTE, DWORD, DWORD, struct IStream **)
Definition: regstream.c:698
ASSOCSTR
Definition: shlwapi.h:611
@ ASSOCSTR_CONTENTTYPE
Definition: shlwapi.h:625
@ ASSOCSTR_SHELLEXTENSION
Definition: shlwapi.h:627
@ ASSOCSTR_TILEINFO
Definition: shlwapi.h:624
@ ASSOCSTR_SHELLNEWVALUE
Definition: shlwapi.h:617
@ ASSOCSTR_COMMAND
Definition: shlwapi.h:612
@ ASSOCSTR_DDEAPPLICATION
Definition: shlwapi.h:620
@ ASSOCSTR_DDECOMMAND
Definition: shlwapi.h:618
@ ASSOCSTR_FRIENDLYDOCNAME
Definition: shlwapi.h:614
@ ASSOCSTR_MAX
Definition: shlwapi.h:628
@ ASSOCSTR_NOOPEN
Definition: shlwapi.h:616
@ ASSOCSTR_DDETOPIC
Definition: shlwapi.h:621
@ ASSOCSTR_DDEIFEXEC
Definition: shlwapi.h:619
@ ASSOCSTR_INFOTIP
Definition: shlwapi.h:622
@ ASSOCSTR_FRIENDLYAPPNAME
Definition: shlwapi.h:615
@ ASSOCSTR_EXECUTABLE
Definition: shlwapi.h:613
@ ASSOCSTR_DEFAULTICON
Definition: shlwapi.h:626
@ ASSOCSTR_QUICKTIP
Definition: shlwapi.h:623
LONG WINAPI SHRegDeleteUSValueA(_In_ HUSKEY, _In_ LPCSTR, _In_ SHREGDEL_FLAGS)
BOOL WINAPI PathMakeSystemFolderW(_In_ LPCWSTR)
LONG WINAPI SHRegSetUSValueW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD, _In_reads_bytes_opt_(cbData) LPVOID, _In_opt_ DWORD cbData, _In_opt_ DWORD)
BOOL WINAPI StrIsIntlEqualW(BOOL, _In_ LPCWSTR, _In_ LPCWSTR, int)
LPCSTR WINAPI UrlGetLocationA(_In_ LPCSTR)
INT WINAPIV wnsprintfW(_Out_writes_(cchDest) LPWSTR, _In_ INT cchDest, _In_ _Printf_format_string_ LPCWSTR,...)
HRESULT WINAPI PathMatchSpecExA(LPCSTR, LPCSTR, DWORD)
VOID WINAPI PathStripPathA(_Inout_ LPSTR)
VOID WINAPI PathUndecorateW(_Inout_ LPWSTR)
BOOL WINAPI PathIsRelativeW(_In_ LPCWSTR)
BOOL WINAPI PathIsURLA(_In_ LPCSTR)
BOOL WINAPI PathIsRelativeA(_In_ LPCSTR)
BOOL WINAPI SHCreateThread(_In_ LPTHREAD_START_ROUTINE pfnThreadProc, _In_opt_ void *pData, _In_ DWORD flags, _In_opt_ LPTHREAD_START_ROUTINE pfnCallback)
INT WINAPIV wnsprintfA(_Out_writes_(cchDest) LPSTR, _In_ INT cchDest, _In_ _Printf_format_string_ LPCSTR,...)
int WINAPI StrFromTimeIntervalA(_Out_writes_(cchMax) LPSTR, UINT cchMax, DWORD, int)
DWORD WINAPI SHDeleteKeyW(_In_ HKEY, _In_opt_ LPCWSTR)
LPWSTR WINAPI StrStrNW(_In_ LPCWSTR, _In_ LPCWSTR, UINT)
HRESULT WINAPI StrRetToBufA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
BOOL WINAPI PathCompactPathExA(_Out_writes_(cchMax) LPSTR, _In_ LPCSTR, _In_ UINT cchMax, _In_ DWORD)
INT WINAPI StrCmpNIW(_In_ LPCWSTR, _In_ LPCWSTR, INT)
LPSTR WINAPI StrDupA(_In_ LPCSTR)
BOOL WINAPI PathMatchSpecA(_In_ LPCSTR, _In_ LPCSTR)
LPSTR WINAPI PathFindFileNameA(_In_ LPCSTR pszPath)
INT WINAPI StrCmpLogicalW(_In_ LPCWSTR, _In_ LPCWSTR)
PVOID WINAPI SHLockShared(_In_ HANDLE hData, _In_ DWORD dwProcessId)
LPSTR WINAPI StrFormatByteSizeA(DWORD, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
HRESULT WINAPI QISearch(_Inout_ void *base, _In_ const QITAB *pqit, _In_ REFIID riid, _Outptr_ void **ppv)
BOOL WINAPI StrIsIntlEqualA(BOOL, _In_ LPCSTR, _In_ LPCSTR, int)
LPSTR WINAPI StrNCatA(_Inout_updates_(cchMax) LPSTR, LPCSTR, int cchMax)
BOOL WINAPI PathIsFileSpecW(_In_ LPCWSTR)
void WINAPI IUnknown_AtomicRelease(_Inout_opt_ IUnknown **punk)
BOOL WINAPI PathIsUNCServerA(_In_ LPCSTR)
HRESULT WINAPI PathCreateFromUrlA(_In_ LPCSTR, _Out_writes_to_(*pcchPath, *pcchPath) LPSTR, _Inout_ LPDWORD pcchPath, DWORD)
HRESULT WINAPI UrlApplySchemeW(_In_ LPCWSTR, _Out_writes_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut, DWORD)
BOOL WINAPI PathSearchAndQualifyA(_In_ LPCSTR, _Out_writes_(cchBuf) LPSTR, _In_ UINT cchBuf)
struct tagPARSEDURLW * PPARSEDURLW
SHREGENUM_FLAGS
Definition: shlwapi.h:313
@ SHREGENUM_HKCU
Definition: shlwapi.h:315
@ SHREGENUM_BOTH
Definition: shlwapi.h:317
@ SHREGENUM_DEFAULT
Definition: shlwapi.h:314
@ SHREGENUM_HKLM
Definition: shlwapi.h:316
int WINAPI PathCommonPrefixW(_In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_opt_(MAX_PATH) LPWSTR)
BOOL WINAPI UrlIsOpaqueA(_In_ LPCSTR)
LONG WINAPI SHRegSetUSValueA(_In_ LPCSTR, _In_ LPCSTR, _In_ DWORD, _In_reads_bytes_opt_(cbData) LPVOID, _In_opt_ DWORD cbData, _In_opt_ DWORD)
HRESULT WINAPI StrRetToBufW(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Out_writes_(cchBuf) LPWSTR, UINT cchBuf)
VOID WINAPI PathRemoveExtensionW(_Inout_ LPWSTR)
LONG WINAPI SHRegCreateUSKeyA(_In_ LPCSTR, _In_ REGSAM, _In_opt_ HUSKEY, _Out_ PHUSKEY, _In_ DWORD)
LPSTR WINAPI StrCatBuffA(_Inout_updates_(cchDestBuffSize) LPSTR, _In_ LPCSTR, INT cchDestBuffSize)
INT WINAPI StrCmpNW(_In_ LPCWSTR, _In_ LPCWSTR, INT)
HRESULT WINAPI UrlCreateFromPathA(_In_ LPCSTR, _Out_writes_to_(*pcchUrl, *pcchUrl) LPSTR, _Inout_ LPDWORD pcchUrl, DWORD)
BOOL WINAPI ChrCmpIA(WORD, WORD)
Definition: string.c:334
void WINAPI IUnknown_Set(_Inout_ IUnknown **ppunk, _In_opt_ IUnknown *punk)
BOOL WINAPI PathFindOnPathW(_Inout_updates_(MAX_PATH) LPWSTR, _In_opt_ LPCWSTR *)
BOOL WINAPI IsCharSpaceA(CHAR)
Definition: locale.c:6598
DWORD WINAPI SHRegSetPathW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ LPCWSTR, _In_ DWORD)
BOOL WINAPI PathStripToRootW(_Inout_ LPWSTR)
INT WINAPI wvnsprintfW(_Out_writes_(cchDest) LPWSTR, _In_ INT cchDest, _In_ _Printf_format_string_ LPCWSTR, _In_ __ms_va_list)
ASSOCKEY
Definition: shlwapi.h:632
@ ASSOCKEY_CLASS
Definition: shlwapi.h:635
@ ASSOCKEY_SHELLEXECCLASS
Definition: shlwapi.h:633
@ ASSOCKEY_MAX
Definition: shlwapi.h:637
@ ASSOCKEY_BASECLASS
Definition: shlwapi.h:636
@ ASSOCKEY_APP
Definition: shlwapi.h:634
LPSTR WINAPI StrPBrkA(_In_ LPCSTR, _In_ LPCSTR)
LPSTR WINAPI StrStrA(_In_ LPCSTR pszFirst, _In_ LPCSTR pszSrch)
DWORD WINAPI SHSetValueW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD, _In_reads_bytes_opt_(cbData) LPCVOID, _In_ DWORD cbData)
LWSTDAPI IStream_Reset(_In_ struct IStream *)
LPWSTR WINAPI StrCpyW(_Out_ LPWSTR, _In_ LPCWSTR)
HRESULT WINAPI SHLoadIndirectString(_In_ LPCWSTR, _Out_writes_(cchOutBuf) LPWSTR, _In_ UINT cchOutBuf, _Reserved_ PVOID *)
VOID WINAPI PathSetDlgItemPathW(_In_ HWND, int, LPCWSTR)
int WINAPI StrCmpW(_In_ LPCWSTR, _In_ LPCWSTR)
INT WINAPI UrlCompareA(_In_ LPCSTR, _In_ LPCSTR, BOOL)
LPSTR WINAPI StrChrIA(_In_ LPCSTR, WORD)
LPWSTR WINAPI PathGetArgsW(_In_ LPCWSTR pszPath)
LPWSTR WINAPI StrDupW(_In_ LPCWSTR)
BOOL WINAPI PathCompactPathW(_In_opt_ HDC, _Inout_updates_(MAX_PATH) LPWSTR, _In_ UINT)
HRESULT WINAPI SHCreateStreamOnFileW(_In_ LPCWSTR, _In_ DWORD, _Outptr_ struct IStream **)
HRESULT WINAPI AssocQueryStringW(_In_ ASSOCF, _In_ ASSOCSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_writes_opt_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut)
INT WINAPI StrCmpNIA(_In_ LPCSTR, _In_ LPCSTR, INT)
LSTATUS WINAPI SHRegGetValueA(_In_ HKEY hkey, _In_opt_ LPCSTR pszSubKey, _In_opt_ LPCSTR pszValue, _In_ SRRF srrfFlags, _Out_opt_ LPDWORD pdwType, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID pvData, _Inout_opt_ LPDWORD pcbData)
BOOL WINAPI PathUnmakeSystemFolderW(_In_ LPCWSTR)
BOOL WINAPI SHUnlockShared(_In_ void *pvData)
BOOL WINAPI SHRegGetBoolUSValueA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_ BOOL, _In_ BOOL)
LONG WINAPI SHQueryInfoKeyA(_In_ HKEY, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD)
INT SRRF
Definition: shlwapi.h:248
int WINAPI PathGetDriveNumberW(_In_ LPCWSTR)
BOOL WINAPI AssocIsDangerous(_In_ LPCWSTR)
HRESULT WINAPI AssocQueryStringByKeyA(_In_ ASSOCF, _In_ ASSOCSTR, _In_ HKEY, _In_opt_ LPCSTR, _Out_writes_opt_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut)
HRESULT WINAPI IUnknown_GetSite(_In_ IUnknown *punk, _In_ REFIID riid, _Outptr_ void **ppv)
LONG WINAPI SHRegEnumUSValueA(_In_ HUSKEY, _In_ DWORD, _Out_writes_to_(*pcchValueName, *pcchValueName) LPSTR, _Inout_ LPDWORD pcchValueName, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ SHREGENUM_FLAGS)
LPWSTR WINAPI PathFindNextComponentW(_In_ LPCWSTR)
int WINAPI StrFromTimeIntervalW(_Out_writes_(cchMax) LPWSTR, UINT cchMax, DWORD, int)
struct IStream *WINAPI SHOpenRegStream2A(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD)
BOOL WINAPI PathFileExistsAndAttributesA(LPCSTR lpszPath, DWORD *dwAttr)
Definition: path.c:1812
DWORD WINAPI SHDeleteValueA(_In_ HKEY, _In_opt_ LPCSTR, _In_ LPCSTR)
BOOL WINAPI PathIsRootW(_In_ LPCWSTR)
BOOL WINAPI PathRelativePathToA(_Out_writes_(MAX_PATH) LPSTR, _In_ LPCSTR, _In_ DWORD, _In_ LPCSTR, _In_ DWORD)
LPSTR WINAPI StrStrIA(_In_ LPCSTR pszFirst, _In_ LPCSTR pszSrch)
HRESULT WINAPI HashData(_In_reads_bytes_(cbData) const unsigned char *, DWORD cbData, _Out_writes_bytes_(cbHash) unsigned char *lpDest, DWORD cbHash)
DWORD WINAPI SHCopyKeyA(_In_ HKEY, _In_opt_ LPCSTR, _In_ HKEY, _Reserved_ DWORD)
DWORD WINAPI StrCatChainW(_Out_writes_(cchDst) LPWSTR, DWORD cchDst, DWORD, _In_ LPCWSTR)
URLIS
Definition: shlwapi.h:1233
@ URLIS_NOHISTORY
Definition: shlwapi.h:1236
@ URLIS_OPAQUE
Definition: shlwapi.h:1235
@ URLIS_APPLIABLE
Definition: shlwapi.h:1238
@ URLIS_DIRECTORY
Definition: shlwapi.h:1239
@ URLIS_FILEURL
Definition: shlwapi.h:1237
@ URLIS_URL
Definition: shlwapi.h:1234
@ URLIS_HASQUERY
Definition: shlwapi.h:1240
INT WINAPI GetMenuPosFromID(_In_ HMENU hMenu, _In_ UINT uID)
LPSTR WINAPI StrFormatByteSize64A(LONGLONG, _Out_writes_(cchBuf) LPSTR, UINT cchBuf)
BOOL WINAPI StrToInt64ExA(_In_ LPCSTR, DWORD, _Out_ LONGLONG *)
HRESULT WINAPI AssocQueryStringByKeyW(_In_ ASSOCF, _In_ ASSOCSTR, _In_ HKEY, _In_opt_ LPCWSTR, _Out_writes_opt_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut)
DWORD WINAPI SHRegGetPathA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _Out_writes_(MAX_PATH) LPSTR, _In_ DWORD)
BOOL WINAPI PathIsSameRootA(_In_ LPCSTR, _In_ LPCSTR)
struct IStream *WINAPI SHOpenRegStream2W(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD)
BOOL WINAPI PathIsURLW(_In_ LPCWSTR)
BOOL WINAPI PathUnExpandEnvStringsW(_In_ LPCWSTR, _Out_writes_(cchBuf) LPWSTR, _In_ UINT cchBuf)
BOOL WINAPI PathUnmakeSystemFolderA(_In_ LPCSTR)
HRESULT WINAPI SHCreateThreadRef(_Inout_ LONG *, _Outptr_ IUnknown **)
HRESULT WINAPI UrlCombineW(_In_ LPCWSTR, _In_ LPCWSTR, _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPWSTR, _Inout_ LPDWORD pcchCombined, DWORD)
VOID WINAPI ColorRGBToHLS(COLORREF, _Out_ LPWORD, _Out_ LPWORD, _Out_ LPWORD)
LPCWSTR WINAPI PathFindSuffixArrayW(_In_ LPCWSTR, _In_reads_(iArraySize) LPCWSTR *, int iArraySize)
HRESULT WINAPI StrRetToBSTR(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ BSTR *)
HKEY WINAPI SHRegDuplicateHKey(_In_ HKEY)
VOID WINAPI PathUnquoteSpacesW(_Inout_ LPWSTR)
BOOL WINAPI SHRegGetBoolUSValueW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ BOOL, _In_ BOOL)
BOOL WINAPI PathIsUNCA(_In_ LPCSTR)
HRESULT WINAPI AssocQueryKeyW(_In_ ASSOCF, _In_ ASSOCKEY, _In_ LPCWSTR, _In_opt_ LPCWSTR, _Out_ PHKEY)
DWORD WINAPI SHDeleteOrphanKeyW(HKEY, LPCWSTR)
Definition: reg.c:1703
BOOL WINAPI PathMatchSpecW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI PathMakePrettyW(_Inout_ LPWSTR)
LPWSTR WINAPI StrStrNIW(_In_ LPCWSTR, _In_ LPCWSTR, UINT)
LPWSTR WINAPI StrChrW(_In_ LPCWSTR, WCHAR)
LPWSTR WINAPI StrRChrW(_In_ LPCWSTR, _In_opt_ LPCWSTR, WCHAR)
VOID WINAPI PathRemoveArgsA(_Inout_ LPSTR)
int WINAPI StrToIntW(_In_ LPCWSTR)
int WINAPI StrCmpIW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI UrlIsNoHistoryW(_In_ LPCWSTR)
struct IQueryAssociations * LPQUERYASSOCIATIONS
Definition: shlwapi.h:682
HRESULT WINAPI UrlHashA(_In_ LPCSTR, _Out_writes_bytes_(cbHash) unsigned char *, DWORD cbHash)
struct tagPARSEDURLA PARSEDURLA
@ ASSOCF_REMAPRUNDLL
Definition: shlwapi.h:599
@ ASSOCF_IS_PROTOCOL
Definition: shlwapi.h:604
@ ASSOCF_INIT_FIXED_PROGID
Definition: shlwapi.h:603
@ ASSOCF_NOFIXUPS
Definition: shlwapi.h:600
@ ASSOCF_INIT_DEFAULTTOSTAR
Definition: shlwapi.h:594
@ ASSOCF_INIT_DEFAULTTOFOLDER
Definition: shlwapi.h:595
@ ASSOCF_IGNOREBASECLASS
Definition: shlwapi.h:601
@ ASSOCF_INIT_NOREMAPCLSID
Definition: shlwapi.h:591
@ ASSOCF_VERIFY
Definition: shlwapi.h:598
@ ASSOCF_INIT_IGNOREUNKNOWN
Definition: shlwapi.h:602
@ ASSOCF_NOUSERSETTINGS
Definition: shlwapi.h:596
@ ASSOCF_OPEN_BYEXENAME
Definition: shlwapi.h:593
@ ASSOCF_NONE
Definition: shlwapi.h:590
@ ASSOCF_INIT_FOR_FILE
Definition: shlwapi.h:605
@ ASSOCF_NOTRUNCATE
Definition: shlwapi.h:597
@ ASSOCF_INIT_BYEXENAME
Definition: shlwapi.h:592
LPWSTR WINAPI StrCpyNW(_Out_writes_(cchMax) LPWSTR, _In_ LPCWSTR, int cchMax)
VOID WINAPI PathRemoveBlanksA(_Inout_ LPSTR)
BOOL WINAPI PathStripToRootA(_Inout_ LPSTR)
struct IStream *WINAPI SHOpenRegStreamW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD)
BOOL WINAPI PathSearchAndQualifyW(_In_ LPCWSTR, _Out_writes_(cchBuf) LPWSTR, _In_ UINT cchBuf)
struct tagPARSEDURLW PARSEDURLW
HRESULT WINAPI AssocQueryKeyA(_In_ ASSOCF, _In_ ASSOCKEY, _In_ LPCSTR, _In_opt_ LPCSTR, _Out_ PHKEY)
LPWSTR WINAPI PathRemoveBackslashW(_Inout_ LPWSTR)
COLORREF WINAPI ColorHLSToRGB(WORD, WORD, WORD)
Definition: ordinal.c:3920
BOOL WINAPI PathIsSystemFolderW(_In_opt_ LPCWSTR, _In_ DWORD)
HRESULT WINAPI UrlCreateFromPathW(_In_ LPCWSTR, _Out_writes_to_(*pcchUrl, *pcchUrl) LPWSTR, _Inout_ LPDWORD pcchUrl, DWORD)
BOOL WINAPI PathMakePrettyA(_Inout_ LPSTR)
HRESULT WINAPI UrlGetPartA(_In_ LPCSTR, _Out_writes_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut, DWORD, DWORD)
HRESULT WINAPI PathCreateFromUrlW(_In_ LPCWSTR pszUrl, _Out_writes_to_(*pcchPath, *pcchPath) LPWSTR pszPath, _Inout_ LPDWORD pcchPath, DWORD dwFlags)
FILETYPEATTRIBUTEFLAGS
Definition: shlwapi.h:657
@ FTA_NoEditDflt
Definition: shlwapi.h:669
@ FTA_NoEditDesc
Definition: shlwapi.h:667
@ FTA_NoRemove
Definition: shlwapi.h:663
@ FTA_NoDDE
Definition: shlwapi.h:672
@ FTA_NoEditVerb
Definition: shlwapi.h:665
@ FTA_None
Definition: shlwapi.h:658
@ FTA_NoEditVerbCmd
Definition: shlwapi.h:670
@ FTA_NoEdit
Definition: shlwapi.h:662
@ FTA_Show
Definition: shlwapi.h:660
@ FTA_NoRemoveVerb
Definition: shlwapi.h:666
@ FTA_OpenIsSafe
Definition: shlwapi.h:674
@ FTA_NoNewVerb
Definition: shlwapi.h:664
@ FTA_HasExtension
Definition: shlwapi.h:661
@ FTA_NoEditIcon
Definition: shlwapi.h:668
@ FTA_NoEditMIME
Definition: shlwapi.h:673
@ FTA_SafeForElevation
Definition: shlwapi.h:677
@ FTA_Exclude
Definition: shlwapi.h:659
@ FTA_AlwaysUseDirectInvoke
Definition: shlwapi.h:678
@ FTA_NoRecentDocs
Definition: shlwapi.h:676
@ FTA_NoEditVerbExe
Definition: shlwapi.h:671
@ FTA_AlwaysUnsafe
Definition: shlwapi.h:675
BOOL WINAPI PathIsRootA(_In_ LPCSTR)
HRESULT WINAPI UrlCanonicalizeW(_In_ LPCWSTR, _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPWSTR, _Inout_ LPDWORD pcchCanonicalized, DWORD)
HRESULT(CALLBACK * DLLGETVERSIONPROC)(DLLVERSIONINFO *)
Definition: shlwapi.h:2020
struct tagPARSEDURLA * PPARSEDURLA
BOOL WINAPI PathIsUNCServerShareW(_In_ LPCWSTR)
int WINAPI PathParseIconLocationA(_Inout_ LPSTR)
BOOL WINAPI StrToIntExA(_In_ LPCSTR, DWORD, _Out_ int *)
DWORD WINAPI SHGetValueW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _Out_opt_ LPDWORD, _Out_writes_bytes_opt_(*pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
LONG WINAPI SHRegGetUSValueA(_In_ LPCSTR, _In_opt_ LPCSTR, _Inout_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ BOOL, _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID, _In_ DWORD dwDefaultDataSize)
BOOL WINAPI PathCompactPathExW(_Out_writes_(cchMax) LPWSTR, _In_ LPCWSTR, _In_ UINT cchMax, _In_ DWORD)
INT WINAPI StrCSpnIW(_In_ LPCWSTR, _In_ LPCWSTR)
LONG WINAPI SHRegQueryInfoUSKeyW(_In_ HUSKEY, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _In_ SHREGENUM_FLAGS)
int WINAPI StrSpnW(_In_ LPCWSTR psz, _In_ LPCWSTR pszSet)
INT WINAPI wvnsprintfA(_Out_writes_(cchDest) LPSTR, _In_ INT cchDest, _In_ _Printf_format_string_ LPCSTR, _In_ __ms_va_list)
HRESULT WINAPI UrlGetPartW(_In_ LPCWSTR, _Out_writes_(*pcchOut) LPWSTR, _Inout_ LPDWORD pcchOut, DWORD, DWORD)
HRESULT WINAPI ParseURLW(_In_ LPCWSTR pszUrl, _Inout_ PARSEDURLW *ppu)
BOOL WINAPI PathIsUNCServerShareA(_In_ LPCSTR)
BOOL WINAPI PathIsUNCW(_In_ LPCWSTR)
DWORD WINAPI SHDeleteEmptyKeyW(_In_ HKEY, _In_opt_ LPCWSTR)
HRESULT WINAPI UrlUnescapeA(_Inout_ LPSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD)
BOOL WINAPI PathIsPrefixW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI PathIsDirectoryEmptyW(_In_ LPCWSTR)
HRESULT WINAPI UrlApplySchemeA(_In_ LPCSTR, _Out_writes_(*pcchOut) LPSTR, _Inout_ LPDWORD pcchOut, DWORD)
BOOL WINAPI SHSkipJunction(_In_opt_ struct IBindCtx *, _In_ const CLSID *)
HRESULT WINAPI UrlEscapeA(_In_ LPCSTR, _Out_writes_to_(*pcchEscaped, *pcchEscaped) LPSTR, _Inout_ LPDWORD pcchEscaped, DWORD)
HRESULT WINAPI IUnknown_GetWindow(_In_ IUnknown *punk, _Out_ HWND *phwnd)
DWORD ASSOCF
Definition: shlwapi.h:608
BOOL WINAPI PathFileExistsW(_In_ LPCWSTR pszPath)
LPWSTR WINAPI StrPBrkW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI ChrCmpIW(WCHAR, WCHAR)
Definition: string.c:341
LPWSTR WINAPI StrNCatW(_Inout_updates_(cchMax) LPWSTR, LPCWSTR, int cchMax)
VOID WINAPI PathQuoteSpacesA(_Inout_updates_(MAX_PATH) LPSTR)
VOID WINAPI PathUnquoteSpacesA(_Inout_ LPSTR)
INT WINAPI StrCSpnW(_In_ LPCWSTR, _In_ LPCWSTR)
BOOL WINAPI PathIsNetworkPathW(_In_ LPCWSTR)
HRESULT WINAPI StrRetToStrA(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ LPSTR *)
LONG WINAPI SHRegQueryInfoUSKeyA(_In_ HUSKEY, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _Out_opt_ LPDWORD, _In_ SHREGENUM_FLAGS)
BOOL WINAPI IsOS(DWORD)
Definition: ordinal.c:4107
LONG WINAPI SHRegEnumUSValueW(_In_ HUSKEY, _In_ DWORD, _Out_writes_to_(*pcchValueName, *pcchValueName) LPWSTR, _Inout_ LPDWORD pcchValueName, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ SHREGENUM_FLAGS)
DWORD WINAPI SHDeleteValueW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ LPCWSTR)
LONG WINAPI SHRegDeleteEmptyUSKeyA(_In_ HUSKEY, _In_ LPCSTR, _In_ SHREGDEL_FLAGS)
LPSTR WINAPI PathBuildRootA(_Out_writes_(4) LPSTR, int)
DWORD WINAPI SHRegSetPathA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ LPCSTR, _In_ DWORD)
ASSOCENUM
Definition: shlwapi.h:652
@ ASSOCENUM_NONE
Definition: shlwapi.h:653
LONG WINAPI SHRegEnumUSKeyA(_In_ HUSKEY, _In_ DWORD, _Out_writes_to_(*pcchName, *pcchName) LPSTR, _Inout_ LPDWORD pcchName, _In_ SHREGENUM_FLAGS)
UINT WINAPI PathGetCharTypeA(_In_ UCHAR ch)
INT WINAPI StrCSpnIA(_In_ LPCSTR, _In_ LPCSTR)
LPWSTR WINAPI PathFindFileNameW(_In_ LPCWSTR pszPath)
LONG WINAPI SHRegDeleteUSValueW(_In_ HUSKEY, _In_ LPCWSTR, _In_ SHREGDEL_FLAGS)
LONG WINAPI SHRegQueryUSValueW(_In_ HUSKEY, _In_opt_ LPCWSTR, _Inout_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData, _In_ BOOL, _In_reads_bytes_opt_(dwDefaultDataSize) LPVOID, _In_opt_ DWORD dwDefaultDataSize)
HRESULT WINAPI AssocCreate(_In_ CLSID, _In_ REFIID, _Outptr_ LPVOID *)
LPSTR WINAPI StrRStrIA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_ LPCSTR)
LONG WINAPI SHRegCloseUSKey(_In_ HUSKEY)
LPWSTR WINAPI PathSkipRootW(_In_ LPCWSTR)
BOOL WINAPI PathIsContentTypeW(_In_ LPCWSTR, _In_ LPCWSTR)
HRESULT WINAPI StrRetToStrW(_Inout_ STRRET *, _In_opt_ PCUITEMID_CHILD, _Outptr_ LPWSTR *)
BOOL WINAPI PathFileExistsAndAttributesW(LPCWSTR lpszPath, DWORD *dwAttr)
Definition: path.c:1838
int WINAPI PathGetDriveNumberA(_In_ LPCSTR)
struct QITAB * LPQITAB
BOOL WINAPI UrlIsOpaqueW(_In_ LPCWSTR)
DWORD WINAPI SHDeleteEmptyKeyA(_In_ HKEY, _In_opt_ LPCSTR)
LONG WINAPI SHEnumKeyExA(_In_ HKEY, _In_ DWORD, _Out_writes_(*pcchName) LPSTR, _Inout_ LPDWORD pcchName)
BOOL WINAPI PathIsDirectoryA(_In_ LPCSTR)
BOOL WINAPI PathIsUNCServerW(_In_ LPCWSTR)
LPSTR WINAPI PathSkipRootA(_In_ LPCSTR)
HRESULT WINAPI ParseURLA(_In_ LPCSTR pszUrl, _Inout_ PARSEDURLA *ppu)
INT WINAPI StrCSpnA(_In_ LPCSTR, _In_ LPCSTR)
LPWSTR WINAPI PathFindExtensionW(_In_ LPCWSTR pszPath)
#define LWSTDAPI
Definition: shlwapi.h:35
BOOL WINAPI IsCharSpaceW(WCHAR)
Definition: locale.c:6610
BOOL WINAPI StrTrimW(_Inout_ LPWSTR, _In_ LPCWSTR)
VOID WINAPI PathStripPathW(_Inout_ LPWSTR)
DWORD WINAPI SHQueryValueExW(_In_ HKEY, _In_opt_ LPCWSTR, _Reserved_ LPDWORD, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
LPWSTR WINAPI StrFormatKBSizeW(LONGLONG, _Out_writes_(cchBuf) LPWSTR, UINT cchBuf)
BOOL WINAPI UrlIsNoHistoryA(_In_ LPCSTR)
DWORD WINAPI SHDeleteOrphanKeyA(HKEY, LPCSTR)
Definition: reg.c:1674
SHREGDEL_FLAGS
Definition: shlwapi.h:305
@ SHREGDEL_HKLM
Definition: shlwapi.h:308
@ SHREGDEL_BOTH
Definition: shlwapi.h:309
@ SHREGDEL_HKCU
Definition: shlwapi.h:307
@ SHREGDEL_DEFAULT
Definition: shlwapi.h:306
BOOL WINAPI PathIsLFNFileSpecA(_In_ LPCSTR)
UINT WINAPI PathGetCharTypeW(_In_ WCHAR ch)
LPWSTR WINAPI PathBuildRootW(_Out_writes_(4) LPWSTR, int)
DWORD WINAPI SHQueryValueExA(_In_ HKEY, _In_opt_ LPCSTR, _Reserved_ LPDWORD, _Out_opt_ LPDWORD, _Out_writes_bytes_to_opt_(*pcbData, *pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
LPWSTR WINAPI StrCatBuffW(_Inout_updates_(cchDestBuffSize) LPWSTR, _In_ LPCWSTR, INT cchDestBuffSize)
DWORD WINAPI SHGetValueA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _Out_opt_ LPDWORD, _Out_writes_bytes_opt_(*pcbData) LPVOID, _Inout_opt_ LPDWORD pcbData)
BOOL WINAPI PathUnExpandEnvStringsA(_In_ LPCSTR, _Out_writes_(cchBuf) LPSTR, _In_ UINT cchBuf)
HRESULT WINAPI SHStrDupW(_In_ LPCWSTR psz, _Outptr_ WCHAR **ppwsz)
struct IStream *WINAPI SHOpenRegStreamA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD)
INT WINAPI UrlCompareW(_In_ LPCWSTR, _In_ LPCWSTR, BOOL)
struct _DllVersionInfo DLLVERSIONINFO
LONG WINAPI SHRegOpenUSKeyA(_In_ LPCSTR, _In_ REGSAM, _In_opt_ HUSKEY, _Out_ PHUSKEY, _In_ BOOL)
LONG WINAPI SHRegWriteUSValueA(_In_ HUSKEY, _In_ LPCSTR, _In_ DWORD, _In_reads_bytes_(cbData) LPVOID, _In_ DWORD cbData, _In_ DWORD)
DWORD WINAPI SHRegGetPathW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _Out_writes_(MAX_PATH) LPWSTR, _In_ DWORD)
DWORD WINAPI SHDeleteKeyA(_In_ HKEY, _In_opt_ LPCSTR)
BOOL WINAPI PathIsLFNFileSpecW(_In_ LPCWSTR)
HRESULT WINAPI SHStrDupA(_In_ LPCSTR psz, _Outptr_ WCHAR **ppwsz)
VOID WINAPI PathRemoveArgsW(_Inout_ LPWSTR)
HRESULT WINAPI UrlUnescapeW(_Inout_ LPWSTR, _Out_writes_to_opt_(*pcchUnescaped, *pcchUnescaped) LPWSTR, _Inout_opt_ LPDWORD pcchUnescaped, DWORD)
HRESULT WINAPI PathCreateFromUrlAlloc(_In_ LPCWSTR pszUrl, _Outptr_ LPWSTR *pszPath, DWORD dwReserved)
HRESULT WINAPI PathMatchSpecExW(LPCWSTR, LPCWSTR, DWORD)
int WINAPI PathParseIconLocationW(_Inout_ LPWSTR)
HRESULT WINAPI UrlCanonicalizeA(_In_ LPCSTR, _Out_writes_to_(*pcchCanonicalized, *pcchCanonicalized) LPSTR, _Inout_ LPDWORD pcchCanonicalized, DWORD)
HRESULT WINAPI UrlCombineA(_In_ LPCSTR, _In_ LPCSTR, _Out_writes_to_opt_(*pcchCombined, *pcchCombined) LPSTR, _Inout_ LPDWORD pcchCombined, DWORD)
BOOL WINAPI PathIsFileSpecA(_In_ LPCSTR)
VOID WINAPI PathSetDlgItemPathA(_In_ HWND, int, LPCSTR)
BOOL WINAPI PathIsDirectoryW(_In_ LPCWSTR)
BOOL WINAPI PathIsSameRootW(_In_ LPCWSTR, _In_ LPCWSTR)
LPSTR WINAPI PathGetArgsA(_In_ LPCSTR pszPath)
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
Definition: shtypes.idl:70
const IID * piid
Definition: shlwapi.h:2130
DWORD dwOffset
Definition: shlwapi.h:2132
ULONGLONG DECLSPEC_ALIGN(8) ullVersion
DLLVERSIONINFO info1
Definition: shlwapi.h:2028
DWORD dwMajorVersion
Definition: shlwapi.h:2011
DWORD dwBuildNumber
Definition: shlwapi.h:2013
DWORD dwMinorVersion
Definition: shlwapi.h:2012
DWORD dwPlatformID
Definition: shlwapi.h:2014
Definition: scsiwmi.h:51
Definition: copy.c:22
UINT nScheme
Definition: shlwapi.h:1474
UINT cchSuffix
Definition: shlwapi.h:1473
LPCSTR pszSuffix
Definition: shlwapi.h:1472
UINT cchProtocol
Definition: shlwapi.h:1471
DWORD cbSize
Definition: shlwapi.h:1469
LPCSTR pszProtocol
Definition: shlwapi.h:1470
UINT cchProtocol
Definition: shlwapi.h:1480
LPCWSTR pszSuffix
Definition: shlwapi.h:1481
DWORD cbSize
Definition: shlwapi.h:1478
UINT nScheme
Definition: shlwapi.h:1483
UINT cchSuffix
Definition: shlwapi.h:1482
LPCWSTR pszProtocol
Definition: shlwapi.h:1479
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830
unsigned char * LPBYTE
Definition: typedefs.h:53
uint16_t * LPWORD
Definition: typedefs.h:56
int64_t LONGLONG
Definition: typedefs.h:68
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
DWORD(WINAPI * LPTHREAD_START_ROUTINE)(LPVOID)
Definition: winbase.h:764
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
Definition: wincrypt.h:4950
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
_In_ ULONG _In_opt_ PVOID pvData
Definition: winddi.h:3749
#define __ms_va_list
Definition: windef.h:456
DWORD COLORREF
Definition: windef.h:300
CONST void * LPCVOID
Definition: windef.h:191
#define HRESULT
Definition: msvc.h:7
#define WINAPI
Definition: msvc.h:6
_In_ DWORD _In_ int _In_ int cchDest
Definition: winnls.h:1197
ACCESS_MASK REGSAM
Definition: winreg.h:69
const char * LPCSTR
Definition: xmlstorage.h:183
char * LPSTR
Definition: xmlstorage.h:182
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
char CHAR
Definition: xmlstorage.h:175
unsigned char BYTE
Definition: xxhash.c:193