Artifact b2149b33a45a63955c95729b3ccc5021d60366ef:
- File
src/win32/shlwapi.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 73 68 6c 77 61 shlwa
0070: 70 69 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 pi.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..*
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..*
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20 public domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a *..\*******
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e /..module win32.
02b0: 73 68 6c 77 61 70 69 3b 0d 0a 70 72 61 67 6d 61 shlwapi;..pragma
02c0: 28 6c 69 62 2c 20 22 73 68 6c 77 61 70 69 22 29 (lib, "shlwapi")
02d0: 3b 0d 0a 0d 0a 2f 2a 20 43 68 61 6e 67 65 73 20 ;..../* Changes
02e0: 63 6f 6d 70 61 72 65 64 20 74 6f 20 4d 69 6e 47 compared to MinG
02f0: 57 3a 0d 0a 77 6e 73 70 72 69 6e 74 66 20 66 75 W:..wnsprintf fu
0300: 6e 63 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 nctions are not
0310: 69 6e 63 6c 75 64 65 64 2e 0d 0a 2f 2f 20 4d 61 included...// Ma
0320: 63 72 6f 73 20 75 6e 6e 65 65 64 65 64 20 66 6f cros unneeded fo
0330: 72 20 44 0d 0a 23 64 65 66 69 6e 65 20 53 74 72 r D..#define Str
0340: 43 6d 70 49 41 20 6c 73 74 72 63 6d 70 69 41 3b CmpIA lstrcmpiA;
0350: 0d 0a 23 64 65 66 69 6e 65 20 53 74 72 43 6d 70 ..#define StrCmp
0360: 41 20 6c 73 74 72 63 6d 70 41 3b 0d 0a 23 64 65 A lstrcmpA;..#de
0370: 66 69 6e 65 20 53 74 72 43 70 79 41 20 6c 73 74 fine StrCpyA lst
0380: 72 63 70 79 41 3b 0d 0a 23 64 65 66 69 6e 65 20 rcpyA;..#define
0390: 53 74 72 43 70 79 4e 41 20 6c 73 74 72 63 70 79 StrCpyNA lstrcpy
03a0: 6e 41 3b 0d 0a 23 64 65 66 69 6e 65 20 4d 41 4b nA;..#define MAK
03b0: 45 44 4c 4c 56 45 52 55 4c 4c 28 6d 61 6a 6f 72 EDLLVERULL(major
03c0: 2c 20 6d 69 6e 6f 72 2c 20 62 75 69 6c 64 2c 20 , minor, build,
03d0: 71 66 65 29 20 5c 0d 0a 20 20 20 20 20 20 20 20 qfe) \..
03e0: 28 28 28 55 4c 4f 4e 47 4c 4f 4e 47 29 28 6d 61 (((ULONGLONG)(ma
03f0: 6a 6f 72 29 20 3c 3c 20 34 38 29 20 7c 20 5c 0d jor) << 48) | \.
0400: 0a 20 20 20 20 20 20 20 20 20 28 28 55 4c 4f 4e . ((ULON
0410: 47 4c 4f 4e 47 29 28 6d 69 6e 6f 72 29 20 3c 3c GLONG)(minor) <<
0420: 20 33 32 29 20 7c 20 5c 0d 0a 20 20 20 20 20 20 32) | \..
0430: 20 20 20 28 28 55 4c 4f 4e 47 4c 4f 4e 47 29 28 ((ULONGLONG)(
0440: 62 75 69 6c 64 29 20 3c 3c 20 31 36 29 20 7c 20 build) << 16) |
0450: 5c 0d 0a 20 20 20 20 20 20 20 20 20 28 28 55 4c \.. ((UL
0460: 4f 4e 47 4c 4f 4e 47 29 28 20 20 71 66 65 29 20 ONGLONG)( qfe)
0470: 3c 3c 20 20 30 29 29 0d 0a 2a 2f 0d 0a 0d 0a 69 << 0))..*/....i
0480: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 6f 62 6a 62 mport win32.objb
0490: 61 73 65 2c 20 77 69 6e 33 32 2e 73 68 6c 6f 62 ase, win32.shlob
04a0: 6a 3b 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f j;..private impo
04b0: 72 74 20 77 69 6e 33 32 2e 62 61 73 65 74 79 70 rt win32.basetyp
04c0: 73 2c 20 77 69 6e 33 32 2e 6f 62 6a 69 64 6c 2c s, win32.objidl,
04d0: 20 77 69 6e 33 32 2e 75 6e 6b 6e 77 6e 2c 20 77 win32.unknwn, w
04e0: 69 6e 33 32 2e 77 69 6e 64 65 66 2c 0d 0a 20 20 in32.windef,..
04f0: 77 69 6e 33 32 2e 77 69 6e 62 61 73 65 2c 20 77 win32.winbase, w
0500: 69 6e 33 32 2e 77 69 6e 72 65 67 3b 0d 0a 0d 0a in32.winreg;....
0510: 63 6f 6e 73 74 20 44 4c 4c 56 45 52 5f 50 4c 41 const DLLVER_PLA
0520: 54 46 4f 52 4d 5f 57 49 4e 44 4f 57 53 20 3d 20 TFORM_WINDOWS =
0530: 30 78 30 30 30 30 30 30 30 31 3b 0d 0a 63 6f 6e 0x00000001;..con
0540: 73 74 20 44 4c 4c 56 45 52 5f 50 4c 41 54 46 4f st DLLVER_PLATFO
0550: 52 4d 5f 4e 54 20 20 20 20 20 20 3d 20 30 78 30 RM_NT = 0x0
0560: 30 30 30 30 30 30 32 3b 0d 0a 0d 0a 63 6f 6e 73 0000002;....cons
0570: 74 20 55 52 4c 5f 44 4f 4e 54 5f 45 53 43 41 50 t URL_DONT_ESCAP
0580: 45 5f 45 58 54 52 41 5f 49 4e 46 4f 20 20 3d 20 E_EXTRA_INFO =
0590: 30 78 30 32 30 30 30 30 30 30 3b 0d 0a 63 6f 6e 0x02000000;..con
05a0: 73 74 20 55 52 4c 5f 44 4f 4e 54 5f 53 49 4d 50 st URL_DONT_SIMP
05b0: 4c 49 46 59 20 20 20 20 20 20 20 20 20 20 20 3d LIFY =
05c0: 20 30 78 30 38 30 30 30 30 30 30 3b 0d 0a 63 6f 0x08000000;..co
05d0: 6e 73 74 20 55 52 4c 5f 45 53 43 41 50 45 5f 50 nst URL_ESCAPE_P
05e0: 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 ERCENT
05f0: 3d 20 30 78 30 30 30 30 31 30 30 30 3b 0d 0a 63 = 0x00001000;..c
0600: 6f 6e 73 74 20 55 52 4c 5f 45 53 43 41 50 45 5f onst URL_ESCAPE_
0610: 53 45 47 4d 45 4e 54 5f 4f 4e 4c 59 20 20 20 20 SEGMENT_ONLY
0620: 20 3d 20 30 78 30 30 30 30 32 30 30 30 3b 0d 0a = 0x00002000;..
0630: 63 6f 6e 73 74 20 55 52 4c 5f 45 53 43 41 50 45 const URL_ESCAPE
0640: 5f 53 50 41 43 45 53 5f 4f 4e 4c 59 20 20 20 20 _SPACES_ONLY
0650: 20 20 3d 20 30 78 30 34 30 30 30 30 30 30 3b 0d = 0x04000000;.
0660: 0a 63 6f 6e 73 74 20 55 52 4c 5f 45 53 43 41 50 .const URL_ESCAP
0670: 45 5f 55 4e 53 41 46 45 20 20 20 20 20 20 20 20 E_UNSAFE
0680: 20 20 20 3d 20 30 78 32 30 30 30 30 30 30 30 3b = 0x20000000;
0690: 0d 0a 63 6f 6e 73 74 20 55 52 4c 5f 49 4e 54 45 ..const URL_INTE
06a0: 52 4e 41 4c 5f 50 41 54 48 20 20 20 20 20 20 20 RNAL_PATH
06b0: 20 20 20 20 3d 20 30 78 30 30 38 30 30 30 30 30 = 0x00800000
06c0: 3b 0d 0a 63 6f 6e 73 74 20 55 52 4c 5f 50 41 52 ;..const URL_PAR
06d0: 54 46 4c 41 47 5f 4b 45 45 50 53 43 48 45 4d 45 TFLAG_KEEPSCHEME
06e0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 = 0x0000000
06f0: 31 3b 0d 0a 63 6f 6e 73 74 20 55 52 4c 5f 50 4c 1;..const URL_PL
0700: 55 47 47 41 42 4c 45 5f 50 52 4f 54 4f 43 4f 4c UGGABLE_PROTOCOL
0710: 20 20 20 20 20 20 3d 20 30 78 34 30 30 30 30 30 = 0x400000
0720: 30 30 3b 0d 0a 63 6f 6e 73 74 20 55 52 4c 5f 55 00;..const URL_U
0730: 4e 45 53 43 41 50 45 20 20 20 20 20 20 20 20 20 NESCAPE
0740: 20 20 20 20 20 20 20 3d 20 30 78 31 30 30 30 30 = 0x10000
0750: 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 55 52 4c 5f 000;..const URL_
0760: 55 4e 45 53 43 41 50 45 5f 48 49 47 48 5f 41 4e UNESCAPE_HIGH_AN
0770: 53 49 5f 4f 4e 4c 59 20 3d 20 30 78 30 30 34 30 SI_ONLY = 0x0040
0780: 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 55 52 4c 0000;..const URL
0790: 5f 55 4e 45 53 43 41 50 45 5f 49 4e 50 4c 41 43 _UNESCAPE_INPLAC
07a0: 45 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 31 E = 0x001
07b0: 30 30 30 30 30 3b 0d 0a 0d 0a 61 6c 69 67 6e 28 00000;....align(
07c0: 31 29 3a 0d 0a 73 74 72 75 63 74 20 44 4c 4c 56 1):..struct DLLV
07d0: 45 52 53 49 4f 4e 49 4e 46 4f 0d 0a 7b 0d 0a 09 ERSIONINFO..{...
07e0: 44 57 4f 52 44 20 63 62 53 69 7a 65 20 3d 20 74 DWORD cbSize = t
07f0: 68 69 73 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 57 his.sizeof;...DW
0800: 4f 52 44 20 64 77 4d 61 6a 6f 72 56 65 72 73 69 ORD dwMajorVersi
0810: 6f 6e 3b 0d 0a 09 44 57 4f 52 44 20 64 77 4d 69 on;...DWORD dwMi
0820: 6e 6f 72 56 65 72 73 69 6f 6e 3b 0d 0a 09 44 57 norVersion;...DW
0830: 4f 52 44 20 64 77 42 75 69 6c 64 4e 75 6d 62 65 ORD dwBuildNumbe
0840: 72 3b 0d 0a 09 44 57 4f 52 44 20 64 77 50 6c 61 r;...DWORD dwPla
0850: 74 66 6f 72 6d 49 44 3b 0d 0a 7d 0d 0a 0d 0a 73 tformID;..}....s
0860: 74 72 75 63 74 20 44 4c 4c 56 45 52 53 49 4f 4e truct DLLVERSION
0870: 49 4e 46 4f 32 0d 0a 7b 0d 0a 09 44 4c 4c 56 45 INFO2..{...DLLVE
0880: 52 53 49 4f 4e 49 4e 46 4f 20 69 6e 66 6f 31 3b RSIONINFO info1;
0890: 0d 0a 09 44 57 4f 52 44 20 64 77 46 6c 61 67 73 ...DWORD dwFlags
08a0: 3b 0d 0a 09 55 4c 4f 4e 47 4c 4f 4e 47 20 75 6c ;...ULONGLONG ul
08b0: 6c 56 65 72 73 69 6f 6e 3b 0d 0a 7d 0d 0a 0d 0a lVersion;..}....
08c0: 65 6e 75 6d 20 41 53 53 4f 43 53 54 52 20 7b 0d enum ASSOCSTR {.
08d0: 0a 09 41 53 53 4f 43 53 54 52 5f 43 4f 4d 4d 41 ..ASSOCSTR_COMMA
08e0: 4e 44 2c 0d 0a 09 41 53 53 4f 43 53 54 52 5f 45 ND,...ASSOCSTR_E
08f0: 58 45 43 55 54 41 42 4c 45 2c 0d 0a 09 41 53 53 XECUTABLE,...ASS
0900: 4f 43 53 54 52 5f 46 52 49 45 4e 44 4c 59 44 4f OCSTR_FRIENDLYDO
0910: 43 4e 41 4d 45 2c 0d 0a 09 41 53 53 4f 43 53 54 CNAME,...ASSOCST
0920: 52 5f 46 52 49 45 4e 44 4c 59 41 50 50 4e 41 4d R_FRIENDLYAPPNAM
0930: 45 2c 0d 0a 09 41 53 53 4f 43 53 54 52 5f 4e 4f E,...ASSOCSTR_NO
0940: 4f 50 45 4e 2c 0d 0a 09 41 53 53 4f 43 53 54 52 OPEN,...ASSOCSTR
0950: 5f 53 48 45 4c 4c 4e 45 57 56 41 4c 55 45 2c 0d _SHELLNEWVALUE,.
0960: 0a 09 41 53 53 4f 43 53 54 52 5f 44 44 45 43 4f ..ASSOCSTR_DDECO
0970: 4d 4d 41 4e 44 2c 0d 0a 09 41 53 53 4f 43 53 54 MMAND,...ASSOCST
0980: 52 5f 44 44 45 49 46 45 58 45 43 2c 0d 0a 09 41 R_DDEIFEXEC,...A
0990: 53 53 4f 43 53 54 52 5f 44 44 45 41 50 50 4c 49 SSOCSTR_DDEAPPLI
09a0: 43 41 54 49 4f 4e 2c 0d 0a 09 41 53 53 4f 43 53 CATION,...ASSOCS
09b0: 54 52 5f 44 44 45 54 4f 50 49 43 0d 0a 7d 0d 0a TR_DDETOPIC..}..
09c0: 0d 0a 65 6e 75 6d 20 41 53 53 4f 43 4b 45 59 0d ..enum ASSOCKEY.
09d0: 0a 7b 0d 0a 09 41 53 53 4f 43 4b 45 59 5f 53 48 .{...ASSOCKEY_SH
09e0: 45 4c 4c 45 58 45 43 43 4c 41 53 53 20 3d 20 31 ELLEXECCLASS = 1
09f0: 2c 0d 0a 09 41 53 53 4f 43 4b 45 59 5f 41 50 50 ,...ASSOCKEY_APP
0a00: 2c 0d 0a 09 41 53 53 4f 43 4b 45 59 5f 43 4c 41 ,...ASSOCKEY_CLA
0a10: 53 53 2c 0d 0a 09 41 53 53 4f 43 4b 45 59 5f 42 SS,...ASSOCKEY_B
0a20: 41 53 45 43 4c 41 53 53 0d 0a 7d 0d 0a 0d 0a 65 ASECLASS..}....e
0a30: 6e 75 6d 20 41 53 53 4f 43 44 41 54 41 0d 0a 7b num ASSOCDATA..{
0a40: 0d 0a 09 41 53 53 4f 43 44 41 54 41 5f 4d 53 49 ...ASSOCDATA_MSI
0a50: 44 45 53 43 52 49 50 54 4f 52 20 3d 20 31 2c 0d DESCRIPTOR = 1,.
0a60: 0a 09 41 53 53 4f 43 44 41 54 41 5f 4e 4f 41 43 ..ASSOCDATA_NOAC
0a70: 54 49 56 41 54 45 48 41 4e 44 4c 45 52 2c 0d 0a TIVATEHANDLER,..
0a80: 09 41 53 53 4f 43 44 41 54 41 5f 51 55 45 52 59 .ASSOCDATA_QUERY
0a90: 43 4c 41 53 53 53 54 4f 52 45 0d 0a 7d 0d 0a 0d CLASSSTORE..}...
0aa0: 0a 61 6c 69 61 73 20 44 57 4f 52 44 20 41 53 53 .alias DWORD ASS
0ab0: 4f 43 46 3b 0d 0a 0d 0a 65 6e 75 6d 20 53 48 52 OCF;....enum SHR
0ac0: 45 47 44 45 4c 5f 46 4c 41 47 53 0d 0a 7b 0d 0a EGDEL_FLAGS..{..
0ad0: 09 53 48 52 45 47 44 45 4c 5f 44 45 46 41 55 4c .SHREGDEL_DEFAUL
0ae0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 30 2c 0d T = 0x00000000,.
0af0: 0a 09 53 48 52 45 47 44 45 4c 5f 48 4b 43 55 20 ..SHREGDEL_HKCU
0b00: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c = 0x00000001,
0b10: 0d 0a 09 53 48 52 45 47 44 45 4c 5f 48 4b 4c 4d ...SHREGDEL_HKLM
0b20: 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 = 0x00000010
0b30: 2c 0d 0a 09 53 48 52 45 47 44 45 4c 5f 42 4f 54 ,...SHREGDEL_BOT
0b40: 48 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 H = 0x0000001
0b50: 31 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 53 48 52 1..}....enum SHR
0b60: 45 47 45 4e 55 4d 5f 46 4c 41 47 53 0d 0a 7b 0d EGENUM_FLAGS..{.
0b70: 0a 09 53 48 52 45 47 45 4e 55 4d 5f 44 45 46 41 ..SHREGENUM_DEFA
0b80: 55 4c 54 20 3d 20 30 78 30 30 30 30 30 30 30 30 ULT = 0x00000000
0b90: 2c 0d 0a 09 53 48 52 45 47 45 4e 55 4d 5f 48 4b ,...SHREGENUM_HK
0ba0: 43 55 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 CU = 0x000000
0bb0: 30 31 2c 0d 0a 09 53 48 52 45 47 45 4e 55 4d 5f 01,...SHREGENUM_
0bc0: 48 4b 4c 4d 20 20 20 20 3d 20 30 78 30 30 30 30 HKLM = 0x0000
0bd0: 30 30 31 30 2c 0d 0a 09 53 48 52 45 47 45 4e 55 0010,...SHREGENU
0be0: 4d 5f 42 4f 54 48 20 20 20 20 3d 20 30 78 30 30 M_BOTH = 0x00
0bf0: 30 30 30 30 31 31 0d 0a 7d 0d 0a 0d 0a 65 6e 75 000011..}....enu
0c00: 6d 20 55 52 4c 49 53 0d 0a 7b 0d 0a 09 55 52 4c m URLIS..{...URL
0c10: 49 53 5f 55 52 4c 2c 0d 0a 09 55 52 4c 49 53 5f IS_URL,...URLIS_
0c20: 4f 50 41 51 55 45 2c 0d 0a 09 55 52 4c 49 53 5f OPAQUE,...URLIS_
0c30: 4e 4f 48 49 53 54 4f 52 59 2c 0d 0a 09 55 52 4c NOHISTORY,...URL
0c40: 49 53 5f 46 49 4c 45 55 52 4c 2c 0d 0a 09 55 52 IS_FILEURL,...UR
0c50: 4c 49 53 5f 41 50 50 4c 49 41 42 4c 45 2c 0d 0a LIS_APPLIABLE,..
0c60: 09 55 52 4c 49 53 5f 44 49 52 45 43 54 4f 52 59 .URLIS_DIRECTORY
0c70: 2c 0d 0a 09 55 52 4c 49 53 5f 48 41 53 51 55 45 ,...URLIS_HASQUE
0c80: 52 59 0d 0a 7d 0d 0a 0d 0a 6d 69 78 69 6e 20 44 RY..}....mixin D
0c90: 45 43 4c 41 52 45 5f 48 41 4e 44 4c 45 21 28 22 ECLARE_HANDLE!("
0ca0: 48 55 53 4b 45 59 22 29 3b 0d 0a 61 6c 69 61 73 HUSKEY");..alias
0cb0: 20 48 55 53 4b 45 59 2a 20 50 48 55 53 4b 45 59 HUSKEY* PHUSKEY
0cc0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e ;....extern (Win
0cd0: 64 6f 77 73 29 0d 0a 7b 0d 0a 09 61 6c 69 61 73 dows)..{...alias
0ce0: 20 48 52 45 53 55 4c 54 20 66 75 6e 63 74 69 6f HRESULT functio
0cf0: 6e 20 28 44 4c 4c 56 45 52 53 49 4f 4e 49 4e 46 n (DLLVERSIONINF
0d00: 4f 20 2a 29 20 44 4c 4c 47 45 54 56 45 52 53 49 O *) DLLGETVERSI
0d10: 4f 4e 50 52 4f 43 3b 0d 0a 7d 0d 0a 0d 0a 0d 0a ONPROC;..}......
0d20: 42 4f 4f 4c 20 49 6e 74 6c 53 74 72 45 71 4e 41 BOOL IntlStrEqNA
0d30: 28 4c 50 43 53 54 52 20 70 53 74 72 31 2c 20 4c (LPCSTR pStr1, L
0d40: 50 43 53 54 52 20 70 53 74 72 32 2c 20 69 6e 74 PCSTR pStr2, int
0d50: 20 6e 43 68 61 72 29 0d 0a 7b 0d 0a 09 72 65 74 nChar)..{...ret
0d60: 75 72 6e 20 49 6e 74 6c 53 74 72 45 71 57 6f 72 urn IntlStrEqWor
0d70: 6b 65 72 41 28 54 52 55 45 2c 20 70 53 74 72 31 kerA(TRUE, pStr1
0d80: 2c 20 70 53 74 72 32 2c 20 6e 43 68 61 72 29 3b , pStr2, nChar);
0d90: 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 49 6e 74 6c ..}....BOOL Intl
0da0: 53 74 72 45 71 4e 57 28 4c 50 43 57 53 54 52 20 StrEqNW(LPCWSTR
0db0: 70 53 74 72 31 2c 20 4c 50 43 57 53 54 52 20 70 pStr1, LPCWSTR p
0dc0: 53 74 72 32 2c 20 69 6e 74 20 6e 43 68 61 72 29 Str2, int nChar)
0dd0: 0d 0a 7b 0d 0a 09 72 65 74 75 72 6e 20 49 6e 74 ..{...return Int
0de0: 6c 53 74 72 45 71 57 6f 72 6b 65 72 57 28 54 52 lStrEqWorkerW(TR
0df0: 55 45 2c 20 70 53 74 72 31 2c 20 70 53 74 72 32 UE, pStr1, pStr2
0e00: 2c 20 6e 43 68 61 72 29 3b 0d 0a 7d 0d 0a 0d 0a , nChar);..}....
0e10: 42 4f 4f 4c 20 49 6e 74 6c 53 74 72 45 71 4e 49 BOOL IntlStrEqNI
0e20: 41 28 4c 50 43 53 54 52 20 70 53 74 72 31 2c 20 A(LPCSTR pStr1,
0e30: 4c 50 43 53 54 52 20 70 53 74 72 32 2c 20 69 6e LPCSTR pStr2, in
0e40: 74 20 6e 43 68 61 72 29 0d 0a 7b 0d 0a 09 72 65 t nChar)..{...re
0e50: 74 75 72 6e 20 49 6e 74 6c 53 74 72 45 71 57 6f turn IntlStrEqWo
0e60: 72 6b 65 72 41 28 46 41 4c 53 45 2c 20 70 53 74 rkerA(FALSE, pSt
0e70: 72 31 2c 20 70 53 74 72 32 2c 20 6e 43 68 61 72 r1, pStr2, nChar
0e80: 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 49 6e );..}....BOOL In
0e90: 74 6c 53 74 72 45 71 4e 49 57 28 4c 50 43 57 53 tlStrEqNIW(LPCWS
0ea0: 54 52 20 70 53 74 72 31 2c 20 4c 50 43 57 53 54 TR pStr1, LPCWST
0eb0: 52 20 70 53 74 72 32 2c 20 69 6e 74 20 6e 43 68 R pStr2, int nCh
0ec0: 61 72 29 0d 0a 7b 0d 0a 09 72 65 74 75 72 6e 20 ar)..{...return
0ed0: 49 6e 74 6c 53 74 72 45 71 57 6f 72 6b 65 72 57 IntlStrEqWorkerW
0ee0: 28 46 41 4c 53 45 2c 20 70 53 74 72 31 2c 20 70 (FALSE, pStr1, p
0ef0: 53 74 72 32 2c 20 6e 43 68 61 72 29 3b 0d 0a 7d Str2, nChar);..}
0f00: 0d 0a 0d 0a 42 4f 4f 4c 20 55 72 6c 49 73 46 69 ....BOOL UrlIsFi
0f10: 6c 65 55 72 6c 41 28 4c 50 43 53 54 52 20 70 73 leUrlA(LPCSTR ps
0f20: 7a 55 52 4c 29 0d 0a 7b 0d 0a 09 72 65 74 75 72 zURL)..{...retur
0f30: 6e 20 55 72 6c 49 73 41 28 70 73 7a 55 52 4c 2c n UrlIsA(pszURL,
0f40: 20 55 52 4c 49 53 2e 55 52 4c 49 53 5f 46 49 4c URLIS.URLIS_FIL
0f50: 45 55 52 4c 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f EURL);..}....BOO
0f60: 4c 20 55 72 6c 49 73 46 69 6c 65 55 72 6c 57 28 L UrlIsFileUrlW(
0f70: 4c 50 43 57 53 54 52 20 70 73 7a 55 52 4c 29 0d LPCWSTR pszURL).
0f80: 0a 7b 0d 0a 09 72 65 74 75 72 6e 20 55 72 6c 49 .{...return UrlI
0f90: 73 57 28 70 73 7a 55 52 4c 2c 20 55 52 4c 49 53 sW(pszURL, URLIS
0fa0: 2e 55 52 4c 49 53 5f 46 49 4c 45 55 52 4c 29 3b .URLIS_FILEURL);
0fb0: 0d 0a 7d 0d 0a 0d 0a 48 52 45 53 55 4c 54 20 55 ..}....HRESULT U
0fc0: 72 6c 55 6e 65 73 63 61 70 65 49 6e 50 6c 61 63 rlUnescapeInPlac
0fd0: 65 41 28 4c 50 53 54 52 20 70 73 7a 55 72 6c 2c eA(LPSTR pszUrl,
0fe0: 20 44 57 4f 52 44 20 64 77 46 6c 61 67 73 29 0d DWORD dwFlags).
0ff0: 0a 7b 0d 0a 09 72 65 74 75 72 6e 20 55 72 6c 55 .{...return UrlU
1000: 6e 65 73 63 61 70 65 41 28 70 73 7a 55 72 6c 2c nescapeA(pszUrl,
1010: 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 64 77 46 null, null, dwF
1020: 6c 61 67 73 20 7c 20 55 52 4c 5f 55 4e 45 53 43 lags | URL_UNESC
1030: 41 50 45 5f 49 4e 50 4c 41 43 45 29 3b 0d 0a 7d APE_INPLACE);..}
1040: 0d 0a 48 52 45 53 55 4c 54 20 55 72 6c 55 6e 65 ..HRESULT UrlUne
1050: 73 63 61 70 65 49 6e 50 6c 61 63 65 57 28 4c 50 scapeInPlaceW(LP
1060: 57 53 54 52 20 70 73 7a 55 72 6c 2c 20 44 57 4f WSTR pszUrl, DWO
1070: 52 44 20 64 77 46 6c 61 67 73 29 0d 0a 7b 0d 0a RD dwFlags)..{..
1080: 09 72 65 74 75 72 6e 20 55 72 6c 55 6e 65 73 63 .return UrlUnesc
1090: 61 70 65 57 28 70 73 7a 55 72 6c 2c 20 6e 75 6c apeW(pszUrl, nul
10a0: 6c 2c 20 6e 75 6c 6c 2c 20 64 77 46 6c 61 67 73 l, null, dwFlags
10b0: 20 7c 20 55 52 4c 5f 55 4e 45 53 43 41 50 45 5f | URL_UNESCAPE_
10c0: 49 4e 50 4c 41 43 45 29 3b 0d 0a 7d 0d 0a 0d 0a INPLACE);..}....
10d0: 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 extern (Windows)
10e0: 3a 0d 0a 42 4f 4f 4c 20 43 68 72 43 6d 70 49 41 :..BOOL ChrCmpIA
10f0: 28 57 4f 52 44 2c 20 57 4f 52 44 29 3b 0d 0a 42 (WORD, WORD);..B
1100: 4f 4f 4c 20 43 68 72 43 6d 70 49 57 28 57 43 48 OOL ChrCmpIW(WCH
1110: 41 52 2c 20 57 43 48 41 52 29 3b 0d 0a 42 4f 4f AR, WCHAR);..BOO
1120: 4c 20 49 6e 74 6c 53 74 72 45 71 57 6f 72 6b 65 L IntlStrEqWorke
1130: 72 41 28 42 4f 4f 4c 2c 20 4c 50 43 53 54 52 2c rA(BOOL, LPCSTR,
1140: 20 4c 50 43 53 54 52 2c 20 69 6e 74 29 3b 0d 0a LPCSTR, int);..
1150: 42 4f 4f 4c 20 49 6e 74 6c 53 74 72 45 71 57 6f BOOL IntlStrEqWo
1160: 72 6b 65 72 57 28 42 4f 4f 4c 2c 20 4c 50 43 57 rkerW(BOOL, LPCW
1170: 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e STR, LPCWSTR, in
1180: 74 29 3b 0d 0a 48 52 45 53 55 4c 54 20 53 48 53 t);..HRESULT SHS
1190: 74 72 44 75 70 41 28 4c 50 43 53 54 52 2c 20 4c trDupA(LPCSTR, L
11a0: 50 57 53 54 52 2a 29 3b 0d 0a 48 52 45 53 55 4c PWSTR*);..HRESUL
11b0: 54 20 53 48 53 74 72 44 75 70 57 28 4c 50 43 57 T SHStrDupW(LPCW
11c0: 53 54 52 2c 20 4c 50 57 53 54 52 2a 29 3b 0d 0a STR, LPWSTR*);..
11d0: 4c 50 53 54 52 20 53 74 72 43 61 74 41 28 4c 50 LPSTR StrCatA(LP
11e0: 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0d 0a 4c STR, LPCSTR);..L
11f0: 50 57 53 54 52 20 53 74 72 43 61 74 57 28 4c 50 PWSTR StrCatW(LP
1200: 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0d WSTR, LPCWSTR);.
1210: 0a 4c 50 53 54 52 20 53 74 72 43 61 74 42 75 66 .LPSTR StrCatBuf
1220: 66 41 28 4c 50 53 54 52 2c 20 4c 50 43 53 54 52 fA(LPSTR, LPCSTR
1230: 2c 20 69 6e 74 29 3b 0d 0a 4c 50 57 53 54 52 20 , int);..LPWSTR
1240: 53 74 72 43 61 74 42 75 66 66 57 28 4c 50 57 53 StrCatBuffW(LPWS
1250: 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e 74 TR, LPCWSTR, int
1260: 29 3b 0d 0a 44 57 4f 52 44 20 53 74 72 43 61 74 );..DWORD StrCat
1270: 43 68 61 69 6e 57 28 4c 50 57 53 54 52 2c 20 44 ChainW(LPWSTR, D
1280: 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 4c 50 43 WORD, DWORD, LPC
1290: 57 53 54 52 29 3b 0d 0a 4c 50 53 54 52 20 53 74 WSTR);..LPSTR St
12a0: 72 43 68 72 41 28 4c 50 43 53 54 52 2c 20 57 4f rChrA(LPCSTR, WO
12b0: 52 44 29 3b 0d 0a 4c 50 57 53 54 52 20 53 74 72 RD);..LPWSTR Str
12c0: 43 68 72 57 28 4c 50 43 57 53 54 52 2c 20 57 43 ChrW(LPCWSTR, WC
12d0: 48 41 52 29 3b 0d 0a 4c 50 53 54 52 20 53 74 72 HAR);..LPSTR Str
12e0: 43 68 72 49 41 28 4c 50 43 53 54 52 2c 20 57 4f ChrIA(LPCSTR, WO
12f0: 52 44 29 3b 0d 0a 4c 50 57 53 54 52 20 53 74 72 RD);..LPWSTR Str
1300: 43 68 72 49 57 28 4c 50 43 57 53 54 52 2c 20 57 ChrIW(LPCWSTR, W
1310: 43 48 41 52 29 3b 0d 0a 69 6e 74 20 53 74 72 43 CHAR);..int StrC
1320: 6d 70 49 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 mpIW(LPCWSTR, LP
1330: 43 57 53 54 52 29 3b 0d 0a 69 6e 74 20 53 74 72 CWSTR);..int Str
1340: 43 6d 70 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 CmpW(LPCWSTR, LP
1350: 43 57 53 54 52 29 3b 0d 0a 4c 50 57 53 54 52 20 CWSTR);..LPWSTR
1360: 53 74 72 43 70 79 57 28 4c 50 57 53 54 52 2c 20 StrCpyW(LPWSTR,
1370: 4c 50 43 57 53 54 52 29 3b 0d 0a 4c 50 57 53 54 LPCWSTR);..LPWST
1380: 52 20 53 74 72 43 70 79 4e 57 28 4c 50 57 53 54 R StrCpyNW(LPWST
1390: 52 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e 74 29 R, LPCWSTR, int)
13a0: 3b 0d 0a 69 6e 74 20 53 74 72 43 6d 70 4e 41 28 ;..int StrCmpNA(
13b0: 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 LPCSTR, LPCSTR,
13c0: 69 6e 74 29 3b 0d 0a 69 6e 74 20 53 74 72 43 6d int);..int StrCm
13d0: 70 4e 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 pNW(LPCWSTR, LPC
13e0: 57 53 54 52 2c 20 69 6e 74 29 3b 0d 0a 69 6e 74 WSTR, int);..int
13f0: 20 53 74 72 43 6d 70 4e 49 41 28 4c 50 43 53 54 StrCmpNIA(LPCST
1400: 52 2c 20 4c 50 43 53 54 52 2c 20 69 6e 74 29 3b R, LPCSTR, int);
1410: 0d 0a 69 6e 74 20 53 74 72 43 6d 70 4e 49 57 28 ..int StrCmpNIW(
1420: 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 LPCWSTR, LPCWSTR
1430: 2c 20 69 6e 74 29 3b 0d 0a 69 6e 74 20 53 74 72 , int);..int Str
1440: 43 53 70 6e 41 28 4c 50 43 53 54 52 2c 20 4c 50 CSpnA(LPCSTR, LP
1450: 43 53 54 52 29 3b 0d 0a 69 6e 74 20 53 74 72 43 CSTR);..int StrC
1460: 53 70 6e 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 SpnW(LPCWSTR, LP
1470: 43 57 53 54 52 29 3b 0d 0a 69 6e 74 20 53 74 72 CWSTR);..int Str
1480: 43 53 70 6e 49 41 28 4c 50 43 53 54 52 2c 20 4c CSpnIA(LPCSTR, L
1490: 50 43 53 54 52 29 3b 0d 0a 69 6e 74 20 53 74 72 PCSTR);..int Str
14a0: 43 53 70 6e 49 57 28 4c 50 43 57 53 54 52 2c 20 CSpnIW(LPCWSTR,
14b0: 4c 50 43 57 53 54 52 29 3b 0d 0a 4c 50 53 54 52 LPCWSTR);..LPSTR
14c0: 20 53 74 72 44 75 70 41 28 4c 50 43 53 54 52 29 StrDupA(LPCSTR)
14d0: 3b 0d 0a 4c 50 57 53 54 52 20 53 74 72 44 75 70 ;..LPWSTR StrDup
14e0: 57 28 4c 50 43 57 53 54 52 29 3b 0d 0a 4c 50 53 W(LPCWSTR);..LPS
14f0: 54 52 20 53 74 72 46 6f 72 6d 61 74 42 79 74 65 TR StrFormatByte
1500: 53 69 7a 65 36 34 41 28 4c 4f 4e 47 4c 4f 4e 47 Size64A(LONGLONG
1510: 2c 20 4c 50 53 54 52 2c 20 55 49 4e 54 29 3b 0d , LPSTR, UINT);.
1520: 0a 4c 50 53 54 52 20 53 74 72 46 6f 72 6d 61 74 .LPSTR StrFormat
1530: 42 79 74 65 53 69 7a 65 41 28 44 57 4f 52 44 2c ByteSizeA(DWORD,
1540: 20 4c 50 53 54 52 2c 20 55 49 4e 54 29 3b 0d 0a LPSTR, UINT);..
1550: 4c 50 57 53 54 52 20 53 74 72 46 6f 72 6d 61 74 LPWSTR StrFormat
1560: 42 79 74 65 53 69 7a 65 57 28 4c 4f 4e 47 4c 4f ByteSizeW(LONGLO
1570: 4e 47 2c 20 4c 50 57 53 54 52 2c 20 55 49 4e 54 NG, LPWSTR, UINT
1580: 29 3b 0d 0a 4c 50 53 54 52 20 53 74 72 46 6f 72 );..LPSTR StrFor
1590: 6d 61 74 4b 42 53 69 7a 65 41 28 4c 4f 4e 47 4c matKBSizeA(LONGL
15a0: 4f 4e 47 2c 20 4c 50 53 54 52 2c 20 55 49 4e 54 ONG, LPSTR, UINT
15b0: 29 3b 0d 0a 4c 50 57 53 54 52 20 53 74 72 46 6f );..LPWSTR StrFo
15c0: 72 6d 61 74 4b 42 53 69 7a 65 57 28 4c 4f 4e 47 rmatKBSizeW(LONG
15d0: 4c 4f 4e 47 2c 20 4c 50 57 53 54 52 2c 20 55 49 LONG, LPWSTR, UI
15e0: 4e 54 29 3b 0d 0a 69 6e 74 20 53 74 72 46 72 6f NT);..int StrFro
15f0: 6d 54 69 6d 65 49 6e 74 65 72 76 61 6c 41 28 4c mTimeIntervalA(L
1600: 50 53 54 52 2c 20 55 49 4e 54 2c 20 44 57 4f 52 PSTR, UINT, DWOR
1610: 44 2c 20 69 6e 74 29 3b 0d 0a 69 6e 74 20 53 74 D, int);..int St
1620: 72 46 72 6f 6d 54 69 6d 65 49 6e 74 65 72 76 61 rFromTimeInterva
1630: 6c 57 28 4c 50 57 53 54 52 2c 20 55 49 4e 54 2c lW(LPWSTR, UINT,
1640: 20 44 57 4f 52 44 2c 20 69 6e 74 29 3b 0d 0a 42 DWORD, int);..B
1650: 4f 4f 4c 20 53 74 72 49 73 49 6e 74 6c 45 71 75 OOL StrIsIntlEqu
1660: 61 6c 41 28 42 4f 4f 4c 2c 20 4c 50 43 53 54 52 alA(BOOL, LPCSTR
1670: 2c 20 4c 50 43 53 54 52 2c 20 69 6e 74 29 3b 0d , LPCSTR, int);.
1680: 0a 42 4f 4f 4c 20 53 74 72 49 73 49 6e 74 6c 45 .BOOL StrIsIntlE
1690: 71 75 61 6c 57 28 42 4f 4f 4c 2c 20 4c 50 43 57 qualW(BOOL, LPCW
16a0: 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e STR, LPCWSTR, in
16b0: 74 29 3b 0d 0a 4c 50 53 54 52 20 53 74 72 4e 43 t);..LPSTR StrNC
16c0: 61 74 41 28 4c 50 53 54 52 2c 20 4c 50 43 53 54 atA(LPSTR, LPCST
16d0: 52 2c 20 69 6e 74 29 3b 0d 0a 4c 50 57 53 54 52 R, int);..LPWSTR
16e0: 20 53 74 72 4e 43 61 74 57 28 4c 50 57 53 54 52 StrNCatW(LPWSTR
16f0: 2c 20 4c 50 43 57 53 54 52 2c 20 69 6e 74 29 3b , LPCWSTR, int);
1700: 0d 0a 4c 50 53 54 52 20 53 74 72 50 42 72 6b 41 ..LPSTR StrPBrkA
1710: 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 29 (LPCSTR, LPCSTR)
1720: 3b 0d 0a 4c 50 57 53 54 52 20 53 74 72 50 42 72 ;..LPWSTR StrPBr
1730: 6b 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 kW(LPCWSTR, LPCW
1740: 53 54 52 29 3b 0d 0a 4c 50 53 54 52 20 53 74 72 STR);..LPSTR Str
1750: 52 43 68 72 41 28 4c 50 43 53 54 52 2c 20 4c 50 RChrA(LPCSTR, LP
1760: 43 53 54 52 2c 20 57 4f 52 44 29 3b 0d 0a 4c 50 CSTR, WORD);..LP
1770: 57 53 54 52 20 53 74 72 52 43 68 72 57 28 4c 50 WSTR StrRChrW(LP
1780: 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 CWSTR, LPCWSTR,
1790: 57 43 48 41 52 29 3b 0d 0a 4c 50 53 54 52 20 53 WCHAR);..LPSTR S
17a0: 74 72 52 43 68 72 49 41 28 4c 50 43 53 54 52 2c trRChrIA(LPCSTR,
17b0: 20 4c 50 43 53 54 52 2c 20 57 4f 52 44 29 3b 0d LPCSTR, WORD);.
17c0: 0a 4c 50 57 53 54 52 20 53 74 72 52 43 68 72 49 .LPWSTR StrRChrI
17d0: 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 W(LPCWSTR, LPCWS
17e0: 54 52 2c 20 57 43 48 41 52 29 3b 0d 0a 4c 50 53 TR, WCHAR);..LPS
17f0: 54 52 20 53 74 72 52 53 74 72 49 41 28 4c 50 43 TR StrRStrIA(LPC
1800: 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 STR, LPCSTR, LPC
1810: 53 54 52 29 3b 0d 0a 4c 50 57 53 54 52 20 53 74 STR);..LPWSTR St
1820: 72 52 53 74 72 49 57 28 4c 50 43 57 53 54 52 2c rRStrIW(LPCWSTR,
1830: 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 LPCWSTR, LPCWST
1840: 52 29 3b 0d 0a 69 6e 74 20 53 74 72 53 70 6e 41 R);..int StrSpnA
1850: 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 29 (LPCSTR, LPCSTR)
1860: 3b 0d 0a 69 6e 74 20 53 74 72 53 70 6e 57 28 4c ;..int StrSpnW(L
1870: 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29 PCWSTR, LPCWSTR)
1880: 3b 0d 0a 4c 50 53 54 52 20 53 74 72 53 74 72 41 ;..LPSTR StrStrA
1890: 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 29 (LPCSTR, LPCSTR)
18a0: 3b 0d 0a 4c 50 53 54 52 20 53 74 72 53 74 72 49 ;..LPSTR StrStrI
18b0: 41 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 A(LPCSTR, LPCSTR
18c0: 29 3b 0d 0a 4c 50 57 53 54 52 20 53 74 72 53 74 );..LPWSTR StrSt
18d0: 72 49 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 rIW(LPCWSTR, LPC
18e0: 57 53 54 52 29 3b 0d 0a 4c 50 57 53 54 52 20 53 WSTR);..LPWSTR S
18f0: 74 72 53 74 72 57 28 4c 50 43 57 53 54 52 2c 20 trStrW(LPCWSTR,
1900: 4c 50 43 57 53 54 52 29 3b 0d 0a 69 6e 74 20 53 LPCWSTR);..int S
1910: 74 72 54 6f 49 6e 74 41 28 4c 50 43 53 54 52 29 trToIntA(LPCSTR)
1920: 3b 0d 0a 69 6e 74 20 53 74 72 54 6f 49 6e 74 57 ;..int StrToIntW
1930: 28 4c 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c (LPCWSTR);..BOOL
1940: 20 53 74 72 54 6f 49 6e 74 45 78 41 28 4c 50 43 StrToIntExA(LPC
1950: 53 54 52 2c 20 44 57 4f 52 44 2c 20 69 6e 74 2a STR, DWORD, int*
1960: 29 3b 0d 0a 42 4f 4f 4c 20 53 74 72 54 6f 49 6e );..BOOL StrToIn
1970: 74 45 78 57 28 4c 50 43 57 53 54 52 2c 20 44 57 tExW(LPCWSTR, DW
1980: 4f 52 44 2c 20 69 6e 74 2a 29 3b 0d 0a 42 4f 4f ORD, int*);..BOO
1990: 4c 20 53 74 72 54 72 69 6d 41 28 4c 50 53 54 52 L StrTrimA(LPSTR
19a0: 2c 20 4c 50 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c , LPCSTR);..BOOL
19b0: 20 53 74 72 54 72 69 6d 57 28 4c 50 57 53 54 52 StrTrimW(LPWSTR
19c0: 2c 20 4c 50 43 57 53 54 52 29 3b 0d 0a 4c 50 53 , LPCWSTR);..LPS
19d0: 54 52 20 50 61 74 68 41 64 64 42 61 63 6b 73 6c TR PathAddBacksl
19e0: 61 73 68 41 28 4c 50 53 54 52 29 3b 0d 0a 4c 50 ashA(LPSTR);..LP
19f0: 57 53 54 52 20 50 61 74 68 41 64 64 42 61 63 6b WSTR PathAddBack
1a00: 73 6c 61 73 68 57 28 4c 50 57 53 54 52 29 3b 0d slashW(LPWSTR);.
1a10: 0a 42 4f 4f 4c 20 50 61 74 68 41 64 64 45 78 74 .BOOL PathAddExt
1a20: 65 6e 73 69 6f 6e 41 28 4c 50 53 54 52 2c 20 4c ensionA(LPSTR, L
1a30: 50 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 PCSTR);..BOOL Pa
1a40: 74 68 41 64 64 45 78 74 65 6e 73 69 6f 6e 57 28 thAddExtensionW(
1a50: 4c 50 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29 LPWSTR, LPCWSTR)
1a60: 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 41 70 70 65 ;..BOOL PathAppe
1a70: 6e 64 41 28 4c 50 53 54 52 2c 20 4c 50 43 53 54 ndA(LPSTR, LPCST
1a80: 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 41 70 R);..BOOL PathAp
1a90: 70 65 6e 64 57 28 4c 50 57 53 54 52 2c 20 4c 50 pendW(LPWSTR, LP
1aa0: 43 57 53 54 52 29 3b 0d 0a 4c 50 53 54 52 20 50 CWSTR);..LPSTR P
1ab0: 61 74 68 42 75 69 6c 64 52 6f 6f 74 41 28 4c 50 athBuildRootA(LP
1ac0: 53 54 52 2c 20 69 6e 74 29 3b 0d 0a 4c 50 57 53 STR, int);..LPWS
1ad0: 54 52 20 50 61 74 68 42 75 69 6c 64 52 6f 6f 74 TR PathBuildRoot
1ae0: 57 28 4c 50 57 53 54 52 2c 20 69 6e 74 29 3b 0d W(LPWSTR, int);.
1af0: 0a 42 4f 4f 4c 20 50 61 74 68 43 61 6e 6f 6e 69 .BOOL PathCanoni
1b00: 63 61 6c 69 7a 65 41 28 4c 50 53 54 52 2c 20 4c calizeA(LPSTR, L
1b10: 50 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 PCSTR);..BOOL Pa
1b20: 74 68 43 61 6e 6f 6e 69 63 61 6c 69 7a 65 57 28 thCanonicalizeW(
1b30: 4c 50 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29 LPWSTR, LPCWSTR)
1b40: 3b 0d 0a 4c 50 53 54 52 20 50 61 74 68 43 6f 6d ;..LPSTR PathCom
1b50: 62 69 6e 65 41 28 4c 50 53 54 52 2c 20 4c 50 43 bineA(LPSTR, LPC
1b60: 53 54 52 2c 20 4c 50 43 53 54 52 29 3b 0d 0a 4c STR, LPCSTR);..L
1b70: 50 57 53 54 52 20 50 61 74 68 43 6f 6d 62 69 6e PWSTR PathCombin
1b80: 65 57 28 4c 50 57 53 54 52 2c 20 4c 50 43 57 53 eW(LPWSTR, LPCWS
1b90: 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0d 0a 69 TR, LPCWSTR);..i
1ba0: 6e 74 20 50 61 74 68 43 6f 6d 6d 6f 6e 50 72 65 nt PathCommonPre
1bb0: 66 69 78 41 28 4c 50 43 53 54 52 2c 20 4c 50 43 fixA(LPCSTR, LPC
1bc0: 53 54 52 2c 20 4c 50 53 54 52 29 3b 0d 0a 69 6e STR, LPSTR);..in
1bd0: 74 20 50 61 74 68 43 6f 6d 6d 6f 6e 50 72 65 66 t PathCommonPref
1be0: 69 78 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 ixW(LPCWSTR, LPC
1bf0: 57 53 54 52 2c 20 4c 50 57 53 54 52 29 3b 0d 0a WSTR, LPWSTR);..
1c00: 42 4f 4f 4c 20 50 61 74 68 43 6f 6d 70 61 63 74 BOOL PathCompact
1c10: 50 61 74 68 41 28 48 44 43 2c 20 4c 50 53 54 52 PathA(HDC, LPSTR
1c20: 2c 20 55 49 4e 54 29 3b 0d 0a 42 4f 4f 4c 20 50 , UINT);..BOOL P
1c30: 61 74 68 43 6f 6d 70 61 63 74 50 61 74 68 57 28 athCompactPathW(
1c40: 48 44 43 2c 20 4c 50 57 53 54 52 2c 20 55 49 4e HDC, LPWSTR, UIN
1c50: 54 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 43 6f T);..BOOL PathCo
1c60: 6d 70 61 63 74 50 61 74 68 45 78 41 28 4c 50 53 mpactPathExA(LPS
1c70: 54 52 2c 20 4c 50 43 53 54 52 2c 20 55 49 4e 54 TR, LPCSTR, UINT
1c80: 2c 20 44 57 4f 52 44 29 3b 0d 0a 42 4f 4f 4c 20 , DWORD);..BOOL
1c90: 50 61 74 68 43 6f 6d 70 61 63 74 50 61 74 68 45 PathCompactPathE
1ca0: 78 57 28 4c 50 57 53 54 52 2c 20 4c 50 43 57 53 xW(LPWSTR, LPCWS
1cb0: 54 52 2c 20 55 49 4e 54 2c 20 44 57 4f 52 44 29 TR, UINT, DWORD)
1cc0: 3b 0d 0a 48 52 45 53 55 4c 54 20 50 61 74 68 43 ;..HRESULT PathC
1cd0: 72 65 61 74 65 46 72 6f 6d 55 72 6c 41 28 4c 50 reateFromUrlA(LP
1ce0: 43 53 54 52 2c 20 4c 50 53 54 52 2c 20 4c 50 44 CSTR, LPSTR, LPD
1cf0: 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 48 WORD, DWORD);..H
1d00: 52 45 53 55 4c 54 20 50 61 74 68 43 72 65 61 74 RESULT PathCreat
1d10: 65 46 72 6f 6d 55 72 6c 57 28 4c 50 43 57 53 54 eFromUrlW(LPCWST
1d20: 52 2c 20 4c 50 57 53 54 52 2c 20 4c 50 44 57 4f R, LPWSTR, LPDWO
1d30: 52 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 42 4f 4f RD, DWORD);..BOO
1d40: 4c 20 50 61 74 68 46 69 6c 65 45 78 69 73 74 73 L PathFileExists
1d50: 41 28 4c 50 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c A(LPCSTR);..BOOL
1d60: 20 50 61 74 68 46 69 6c 65 45 78 69 73 74 73 57 PathFileExistsW
1d70: 28 4c 50 43 57 53 54 52 29 3b 0d 0a 4c 50 53 54 (LPCWSTR);..LPST
1d80: 52 20 50 61 74 68 46 69 6e 64 45 78 74 65 6e 73 R PathFindExtens
1d90: 69 6f 6e 41 28 4c 50 43 53 54 52 29 3b 0d 0a 4c ionA(LPCSTR);..L
1da0: 50 57 53 54 52 20 50 61 74 68 46 69 6e 64 45 78 PWSTR PathFindEx
1db0: 74 65 6e 73 69 6f 6e 57 28 4c 50 43 57 53 54 52 tensionW(LPCWSTR
1dc0: 29 3b 0d 0a 4c 50 53 54 52 20 50 61 74 68 46 69 );..LPSTR PathFi
1dd0: 6e 64 46 69 6c 65 4e 61 6d 65 41 28 4c 50 43 53 ndFileNameA(LPCS
1de0: 54 52 29 3b 0d 0a 4c 50 57 53 54 52 20 50 61 74 TR);..LPWSTR Pat
1df0: 68 46 69 6e 64 46 69 6c 65 4e 61 6d 65 57 28 4c hFindFileNameW(L
1e00: 50 43 57 53 54 52 29 3b 0d 0a 4c 50 53 54 52 20 PCWSTR);..LPSTR
1e10: 50 61 74 68 46 69 6e 64 4e 65 78 74 43 6f 6d 70 PathFindNextComp
1e20: 6f 6e 65 6e 74 41 28 4c 50 43 53 54 52 29 3b 0d onentA(LPCSTR);.
1e30: 0a 4c 50 57 53 54 52 20 50 61 74 68 46 69 6e 64 .LPWSTR PathFind
1e40: 4e 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 57 28 4c NextComponentW(L
1e50: 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 PCWSTR);..BOOL P
1e60: 61 74 68 46 69 6e 64 4f 6e 50 61 74 68 41 28 4c athFindOnPathA(L
1e70: 50 53 54 52 2c 20 4c 50 43 53 54 52 2a 29 3b 0d PSTR, LPCSTR*);.
1e80: 0a 42 4f 4f 4c 20 50 61 74 68 46 69 6e 64 4f 6e .BOOL PathFindOn
1e90: 50 61 74 68 57 28 4c 50 57 53 54 52 2c 20 4c 50 PathW(LPWSTR, LP
1ea0: 43 57 53 54 52 2a 29 3b 0d 0a 4c 50 43 53 54 52 CWSTR*);..LPCSTR
1eb0: 20 50 61 74 68 46 69 6e 64 53 75 66 66 69 78 41 PathFindSuffixA
1ec0: 72 72 61 79 41 28 4c 50 43 53 54 52 2c 20 4c 50 rrayA(LPCSTR, LP
1ed0: 43 53 54 52 2a 2c 20 69 6e 74 29 3b 0d 0a 4c 50 CSTR*, int);..LP
1ee0: 43 57 53 54 52 20 50 61 74 68 46 69 6e 64 53 75 CWSTR PathFindSu
1ef0: 66 66 69 78 41 72 72 61 79 57 28 4c 50 43 57 53 ffixArrayW(LPCWS
1f00: 54 52 2c 20 4c 50 43 57 53 54 52 2a 2c 20 69 6e TR, LPCWSTR*, in
1f10: 74 29 3b 0d 0a 4c 50 53 54 52 20 50 61 74 68 47 t);..LPSTR PathG
1f20: 65 74 41 72 67 73 41 28 4c 50 43 53 54 52 29 3b etArgsA(LPCSTR);
1f30: 0d 0a 4c 50 57 53 54 52 20 50 61 74 68 47 65 74 ..LPWSTR PathGet
1f40: 41 72 67 73 57 28 4c 50 43 57 53 54 52 29 3b 0d ArgsW(LPCWSTR);.
1f50: 0a 55 49 4e 54 20 50 61 74 68 47 65 74 43 68 61 .UINT PathGetCha
1f60: 72 54 79 70 65 41 28 55 43 48 41 52 29 3b 0d 0a rTypeA(UCHAR);..
1f70: 55 49 4e 54 20 50 61 74 68 47 65 74 43 68 61 72 UINT PathGetChar
1f80: 54 79 70 65 57 28 57 43 48 41 52 29 3b 0d 0a 69 TypeW(WCHAR);..i
1f90: 6e 74 20 50 61 74 68 47 65 74 44 72 69 76 65 4e nt PathGetDriveN
1fa0: 75 6d 62 65 72 41 28 4c 50 43 53 54 52 29 3b 0d umberA(LPCSTR);.
1fb0: 0a 69 6e 74 20 50 61 74 68 47 65 74 44 72 69 76 .int PathGetDriv
1fc0: 65 4e 75 6d 62 65 72 57 28 4c 50 43 57 53 54 52 eNumberW(LPCWSTR
1fd0: 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 73 43 );..BOOL PathIsC
1fe0: 6f 6e 74 65 6e 74 54 79 70 65 41 28 4c 50 43 53 ontentTypeA(LPCS
1ff0: 54 52 2c 20 4c 50 43 53 54 52 29 3b 0d 0a 42 4f TR, LPCSTR);..BO
2000: 4f 4c 20 50 61 74 68 49 73 43 6f 6e 74 65 6e 74 OL PathIsContent
2010: 54 79 70 65 57 28 4c 50 43 57 53 54 52 2c 20 4c TypeW(LPCWSTR, L
2020: 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 PCWSTR);..BOOL P
2030: 61 74 68 49 73 44 69 72 65 63 74 6f 72 79 41 28 athIsDirectoryA(
2040: 4c 50 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 LPCSTR);..BOOL P
2050: 61 74 68 49 73 44 69 72 65 63 74 6f 72 79 45 6d athIsDirectoryEm
2060: 70 74 79 41 28 4c 50 43 53 54 52 29 3b 0d 0a 42 ptyA(LPCSTR);..B
2070: 4f 4f 4c 20 50 61 74 68 49 73 44 69 72 65 63 74 OOL PathIsDirect
2080: 6f 72 79 45 6d 70 74 79 57 28 4c 50 43 57 53 54 oryEmptyW(LPCWST
2090: 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 73 R);..BOOL PathIs
20a0: 44 69 72 65 63 74 6f 72 79 57 28 4c 50 43 57 53 DirectoryW(LPCWS
20b0: 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 TR);..BOOL PathI
20c0: 73 46 69 6c 65 53 70 65 63 41 28 4c 50 43 53 54 sFileSpecA(LPCST
20d0: 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 73 R);..BOOL PathIs
20e0: 46 69 6c 65 53 70 65 63 57 28 4c 50 43 57 53 54 FileSpecW(LPCWST
20f0: 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 73 R);..BOOL PathIs
2100: 4c 46 4e 46 69 6c 65 53 70 65 63 41 28 4c 50 43 LFNFileSpecA(LPC
2110: 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 STR);..BOOL Path
2120: 49 73 4c 46 4e 46 69 6c 65 53 70 65 63 57 28 4c IsLFNFileSpecW(L
2130: 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 PCWSTR);..BOOL P
2140: 61 74 68 49 73 4e 65 74 77 6f 72 6b 50 61 74 68 athIsNetworkPath
2150: 41 28 4c 50 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c A(LPCSTR);..BOOL
2160: 20 50 61 74 68 49 73 4e 65 74 77 6f 72 6b 50 61 PathIsNetworkPa
2170: 74 68 57 28 4c 50 43 57 53 54 52 29 3b 0d 0a 42 thW(LPCWSTR);..B
2180: 4f 4f 4c 20 50 61 74 68 49 73 50 72 65 66 69 78 OOL PathIsPrefix
2190: 41 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 A(LPCSTR, LPCSTR
21a0: 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 73 50 );..BOOL PathIsP
21b0: 72 65 66 69 78 57 28 4c 50 43 57 53 54 52 2c 20 refixW(LPCWSTR,
21c0: 4c 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 LPCWSTR);..BOOL
21d0: 50 61 74 68 49 73 52 65 6c 61 74 69 76 65 41 28 PathIsRelativeA(
21e0: 4c 50 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 LPCSTR);..BOOL P
21f0: 61 74 68 49 73 52 65 6c 61 74 69 76 65 57 28 4c athIsRelativeW(L
2200: 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 PCWSTR);..BOOL P
2210: 61 74 68 49 73 52 6f 6f 74 41 28 4c 50 43 53 54 athIsRootA(LPCST
2220: 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 73 R);..BOOL PathIs
2230: 52 6f 6f 74 57 28 4c 50 43 57 53 54 52 29 3b 0d RootW(LPCWSTR);.
2240: 0a 42 4f 4f 4c 20 50 61 74 68 49 73 53 61 6d 65 .BOOL PathIsSame
2250: 52 6f 6f 74 41 28 4c 50 43 53 54 52 2c 20 4c 50 RootA(LPCSTR, LP
2260: 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 CSTR);..BOOL Pat
2270: 68 49 73 53 61 6d 65 52 6f 6f 74 57 28 4c 50 43 hIsSameRootW(LPC
2280: 57 53 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0d WSTR, LPCWSTR);.
2290: 0a 42 4f 4f 4c 20 50 61 74 68 49 73 53 79 73 74 .BOOL PathIsSyst
22a0: 65 6d 46 6f 6c 64 65 72 41 28 4c 50 43 53 54 52 emFolderA(LPCSTR
22b0: 2c 20 44 57 4f 52 44 29 3b 0d 0a 42 4f 4f 4c 20 , DWORD);..BOOL
22c0: 50 61 74 68 49 73 53 79 73 74 65 6d 46 6f 6c 64 PathIsSystemFold
22d0: 65 72 57 28 4c 50 43 57 53 54 52 2c 20 44 57 4f erW(LPCWSTR, DWO
22e0: 52 44 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 RD);..BOOL PathI
22f0: 73 55 4e 43 41 28 4c 50 43 53 54 52 29 3b 0d 0a sUNCA(LPCSTR);..
2300: 42 4f 4f 4c 20 50 61 74 68 49 73 55 4e 43 53 65 BOOL PathIsUNCSe
2310: 72 76 65 72 41 28 4c 50 43 53 54 52 29 3b 0d 0a rverA(LPCSTR);..
2320: 42 4f 4f 4c 20 50 61 74 68 49 73 55 4e 43 53 65 BOOL PathIsUNCSe
2330: 72 76 65 72 53 68 61 72 65 41 28 4c 50 43 53 54 rverShareA(LPCST
2340: 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 49 73 R);..BOOL PathIs
2350: 55 4e 43 53 65 72 76 65 72 53 68 61 72 65 57 28 UNCServerShareW(
2360: 4c 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 LPCWSTR);..BOOL
2370: 50 61 74 68 49 73 55 4e 43 53 65 72 76 65 72 57 PathIsUNCServerW
2380: 28 4c 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c (LPCWSTR);..BOOL
2390: 20 50 61 74 68 49 73 55 4e 43 57 28 4c 50 43 57 PathIsUNCW(LPCW
23a0: 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 STR);..BOOL Path
23b0: 49 73 55 52 4c 41 28 4c 50 43 53 54 52 29 3b 0d IsURLA(LPCSTR);.
23c0: 0a 42 4f 4f 4c 20 50 61 74 68 49 73 55 52 4c 57 .BOOL PathIsURLW
23d0: 28 4c 50 43 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c (LPCWSTR);..BOOL
23e0: 20 50 61 74 68 4d 61 6b 65 50 72 65 74 74 79 41 PathMakePrettyA
23f0: 28 4c 50 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 (LPSTR);..BOOL P
2400: 61 74 68 4d 61 6b 65 50 72 65 74 74 79 57 28 4c athMakePrettyW(L
2410: 50 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 PWSTR);..BOOL Pa
2420: 74 68 4d 61 6b 65 53 79 73 74 65 6d 46 6f 6c 64 thMakeSystemFold
2430: 65 72 41 28 4c 50 53 54 52 29 3b 0d 0a 42 4f 4f erA(LPSTR);..BOO
2440: 4c 20 50 61 74 68 4d 61 6b 65 53 79 73 74 65 6d L PathMakeSystem
2450: 46 6f 6c 64 65 72 57 28 4c 50 57 53 54 52 29 3b FolderW(LPWSTR);
2460: 0d 0a 42 4f 4f 4c 20 50 61 74 68 4d 61 74 63 68 ..BOOL PathMatch
2470: 53 70 65 63 41 28 4c 50 43 53 54 52 2c 20 4c 50 SpecA(LPCSTR, LP
2480: 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 CSTR);..BOOL Pat
2490: 68 4d 61 74 63 68 53 70 65 63 57 28 4c 50 43 57 hMatchSpecW(LPCW
24a0: 53 54 52 2c 20 4c 50 43 57 53 54 52 29 3b 0d 0a STR, LPCWSTR);..
24b0: 69 6e 74 20 50 61 74 68 50 61 72 73 65 49 63 6f int PathParseIco
24c0: 6e 4c 6f 63 61 74 69 6f 6e 41 28 4c 50 53 54 52 nLocationA(LPSTR
24d0: 29 3b 0d 0a 69 6e 74 20 50 61 74 68 50 61 72 73 );..int PathPars
24e0: 65 49 63 6f 6e 4c 6f 63 61 74 69 6f 6e 57 28 4c eIconLocationW(L
24f0: 50 57 53 54 52 29 3b 0d 0a 76 6f 69 64 20 50 61 PWSTR);..void Pa
2500: 74 68 51 75 6f 74 65 53 70 61 63 65 73 41 28 4c thQuoteSpacesA(L
2510: 50 53 54 52 29 3b 0d 0a 76 6f 69 64 20 50 61 74 PSTR);..void Pat
2520: 68 51 75 6f 74 65 53 70 61 63 65 73 57 28 4c 50 hQuoteSpacesW(LP
2530: 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 WSTR);..BOOL Pat
2540: 68 52 65 6c 61 74 69 76 65 50 61 74 68 54 6f 41 hRelativePathToA
2550: 28 4c 50 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 (LPSTR, LPCSTR,
2560: 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 2c 20 44 DWORD, LPCSTR, D
2570: 57 4f 52 44 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 WORD);..BOOL Pat
2580: 68 52 65 6c 61 74 69 76 65 50 61 74 68 54 6f 57 hRelativePathToW
2590: 28 4c 50 57 53 54 52 2c 20 4c 50 43 57 53 54 52 (LPWSTR, LPCWSTR
25a0: 2c 20 44 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 , DWORD, LPCWSTR
25b0: 2c 20 44 57 4f 52 44 29 3b 0d 0a 76 6f 69 64 20 , DWORD);..void
25c0: 50 61 74 68 52 65 6d 6f 76 65 41 72 67 73 41 28 PathRemoveArgsA(
25d0: 4c 50 53 54 52 29 3b 0d 0a 76 6f 69 64 20 50 61 LPSTR);..void Pa
25e0: 74 68 52 65 6d 6f 76 65 41 72 67 73 57 28 4c 50 thRemoveArgsW(LP
25f0: 57 53 54 52 29 3b 0d 0a 4c 50 53 54 52 20 50 61 WSTR);..LPSTR Pa
2600: 74 68 52 65 6d 6f 76 65 42 61 63 6b 73 6c 61 73 thRemoveBackslas
2610: 68 41 28 4c 50 53 54 52 29 3b 0d 0a 4c 50 57 53 hA(LPSTR);..LPWS
2620: 54 52 20 50 61 74 68 52 65 6d 6f 76 65 42 61 63 TR PathRemoveBac
2630: 6b 73 6c 61 73 68 57 28 4c 50 57 53 54 52 29 3b kslashW(LPWSTR);
2640: 0d 0a 76 6f 69 64 20 50 61 74 68 52 65 6d 6f 76 ..void PathRemov
2650: 65 42 6c 61 6e 6b 73 41 28 4c 50 53 54 52 29 3b eBlanksA(LPSTR);
2660: 0d 0a 76 6f 69 64 20 50 61 74 68 52 65 6d 6f 76 ..void PathRemov
2670: 65 42 6c 61 6e 6b 73 57 28 4c 50 57 53 54 52 29 eBlanksW(LPWSTR)
2680: 3b 0d 0a 76 6f 69 64 20 50 61 74 68 52 65 6d 6f ;..void PathRemo
2690: 76 65 45 78 74 65 6e 73 69 6f 6e 41 28 4c 50 53 veExtensionA(LPS
26a0: 54 52 29 3b 0d 0a 76 6f 69 64 20 50 61 74 68 52 TR);..void PathR
26b0: 65 6d 6f 76 65 45 78 74 65 6e 73 69 6f 6e 57 28 emoveExtensionW(
26c0: 4c 50 57 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 LPWSTR);..BOOL P
26d0: 61 74 68 52 65 6d 6f 76 65 46 69 6c 65 53 70 65 athRemoveFileSpe
26e0: 63 41 28 4c 50 53 54 52 29 3b 0d 0a 42 4f 4f 4c cA(LPSTR);..BOOL
26f0: 20 50 61 74 68 52 65 6d 6f 76 65 46 69 6c 65 53 PathRemoveFileS
2700: 70 65 63 57 28 4c 50 57 53 54 52 29 3b 0d 0a 42 pecW(LPWSTR);..B
2710: 4f 4f 4c 20 50 61 74 68 52 65 6e 61 6d 65 45 78 OOL PathRenameEx
2720: 74 65 6e 73 69 6f 6e 41 28 4c 50 53 54 52 2c 20 tensionA(LPSTR,
2730: 4c 50 43 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 LPCSTR);..BOOL P
2740: 61 74 68 52 65 6e 61 6d 65 45 78 74 65 6e 73 69 athRenameExtensi
2750: 6f 6e 57 28 4c 50 57 53 54 52 2c 20 4c 50 43 57 onW(LPWSTR, LPCW
2760: 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 STR);..BOOL Path
2770: 53 65 61 72 63 68 41 6e 64 51 75 61 6c 69 66 79 SearchAndQualify
2780: 41 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c A(LPCSTR, LPSTR,
2790: 20 55 49 4e 54 29 3b 0d 0a 42 4f 4f 4c 20 50 61 UINT);..BOOL Pa
27a0: 74 68 53 65 61 72 63 68 41 6e 64 51 75 61 6c 69 thSearchAndQuali
27b0: 66 79 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 57 fyW(LPCWSTR, LPW
27c0: 53 54 52 2c 20 55 49 4e 54 29 3b 0d 0a 76 6f 69 STR, UINT);..voi
27d0: 64 20 50 61 74 68 53 65 74 44 6c 67 49 74 65 6d d PathSetDlgItem
27e0: 50 61 74 68 41 28 48 57 4e 44 2c 20 69 6e 74 2c PathA(HWND, int,
27f0: 20 4c 50 43 53 54 52 29 3b 0d 0a 76 6f 69 64 20 LPCSTR);..void
2800: 50 61 74 68 53 65 74 44 6c 67 49 74 65 6d 50 61 PathSetDlgItemPa
2810: 74 68 57 28 48 57 4e 44 2c 20 69 6e 74 2c 20 4c thW(HWND, int, L
2820: 50 43 57 53 54 52 29 3b 0d 0a 4c 50 53 54 52 20 PCWSTR);..LPSTR
2830: 50 61 74 68 53 6b 69 70 52 6f 6f 74 41 28 4c 50 PathSkipRootA(LP
2840: 43 53 54 52 29 3b 0d 0a 4c 50 57 53 54 52 20 50 CSTR);..LPWSTR P
2850: 61 74 68 53 6b 69 70 52 6f 6f 74 57 28 4c 50 43 athSkipRootW(LPC
2860: 57 53 54 52 29 3b 0d 0a 76 6f 69 64 20 50 61 74 WSTR);..void Pat
2870: 68 53 74 72 69 70 50 61 74 68 41 28 4c 50 53 54 hStripPathA(LPST
2880: 52 29 3b 0d 0a 76 6f 69 64 20 50 61 74 68 53 74 R);..void PathSt
2890: 72 69 70 50 61 74 68 57 28 4c 50 57 53 54 52 29 ripPathW(LPWSTR)
28a0: 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 53 74 72 69 ;..BOOL PathStri
28b0: 70 54 6f 52 6f 6f 74 41 28 4c 50 53 54 52 29 3b pToRootA(LPSTR);
28c0: 0d 0a 42 4f 4f 4c 20 50 61 74 68 53 74 72 69 70 ..BOOL PathStrip
28d0: 54 6f 52 6f 6f 74 57 28 4c 50 57 53 54 52 29 3b ToRootW(LPWSTR);
28e0: 0d 0a 76 6f 69 64 20 50 61 74 68 55 6e 64 65 63 ..void PathUndec
28f0: 6f 72 61 74 65 41 28 4c 50 53 54 52 29 3b 0d 0a orateA(LPSTR);..
2900: 76 6f 69 64 20 50 61 74 68 55 6e 64 65 63 6f 72 void PathUndecor
2910: 61 74 65 57 28 4c 50 57 53 54 52 29 3b 0d 0a 42 ateW(LPWSTR);..B
2920: 4f 4f 4c 20 50 61 74 68 55 6e 45 78 70 61 6e 64 OOL PathUnExpand
2930: 45 6e 76 53 74 72 69 6e 67 73 41 28 4c 50 43 53 EnvStringsA(LPCS
2940: 54 52 2c 20 4c 50 53 54 52 2c 20 55 49 4e 54 29 TR, LPSTR, UINT)
2950: 3b 0d 0a 42 4f 4f 4c 20 50 61 74 68 55 6e 45 78 ;..BOOL PathUnEx
2960: 70 61 6e 64 45 6e 76 53 74 72 69 6e 67 73 57 28 pandEnvStringsW(
2970: 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c LPCWSTR, LPWSTR,
2980: 20 55 49 4e 54 29 3b 0d 0a 42 4f 4f 4c 20 50 61 UINT);..BOOL Pa
2990: 74 68 55 6e 6d 61 6b 65 53 79 73 74 65 6d 46 6f thUnmakeSystemFo
29a0: 6c 64 65 72 41 28 4c 50 53 54 52 29 3b 0d 0a 42 lderA(LPSTR);..B
29b0: 4f 4f 4c 20 50 61 74 68 55 6e 6d 61 6b 65 53 79 OOL PathUnmakeSy
29c0: 73 74 65 6d 46 6f 6c 64 65 72 57 28 4c 50 57 53 stemFolderW(LPWS
29d0: 54 52 29 3b 0d 0a 76 6f 69 64 20 50 61 74 68 55 TR);..void PathU
29e0: 6e 71 75 6f 74 65 53 70 61 63 65 73 41 28 4c 50 nquoteSpacesA(LP
29f0: 53 54 52 29 3b 0d 0a 76 6f 69 64 20 50 61 74 68 STR);..void Path
2a00: 55 6e 71 75 6f 74 65 53 70 61 63 65 73 57 28 4c UnquoteSpacesW(L
2a10: 50 57 53 54 52 29 3b 0d 0a 48 52 45 53 55 4c 54 PWSTR);..HRESULT
2a20: 20 53 48 41 75 74 6f 43 6f 6d 70 6c 65 74 65 28 SHAutoComplete(
2a30: 48 57 4e 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 42 HWND, DWORD);..B
2a40: 4f 4f 4c 20 53 48 43 72 65 61 74 65 54 68 72 65 OOL SHCreateThre
2a50: 61 64 28 4c 50 54 48 52 45 41 44 5f 53 54 41 52 ad(LPTHREAD_STAR
2a60: 54 5f 52 4f 55 54 49 4e 45 2c 20 76 6f 69 64 2a T_ROUTINE, void*
2a70: 2c 20 44 57 4f 52 44 2c 20 4c 50 54 48 52 45 41 , DWORD, LPTHREA
2a80: 44 5f 53 54 41 52 54 5f 52 4f 55 54 49 4e 45 29 D_START_ROUTINE)
2a90: 3b 0d 0a 44 57 4f 52 44 20 53 48 43 6f 70 79 4b ;..DWORD SHCopyK
2aa0: 65 79 41 28 48 4b 45 59 2c 20 4c 50 43 53 54 52 eyA(HKEY, LPCSTR
2ab0: 2c 20 48 4b 45 59 2c 20 44 57 4f 52 44 29 3b 0d , HKEY, DWORD);.
2ac0: 0a 44 57 4f 52 44 20 53 48 43 6f 70 79 4b 65 79 .DWORD SHCopyKey
2ad0: 57 28 48 4b 45 59 2c 20 4c 50 43 57 53 54 52 2c W(HKEY, LPCWSTR,
2ae0: 20 48 4b 45 59 2c 20 44 57 4f 52 44 29 3b 0d 0a HKEY, DWORD);..
2af0: 44 57 4f 52 44 20 53 48 44 65 6c 65 74 65 45 6d DWORD SHDeleteEm
2b00: 70 74 79 4b 65 79 41 28 48 4b 45 59 2c 20 4c 50 ptyKeyA(HKEY, LP
2b10: 43 53 54 52 29 3b 0d 0a 44 57 4f 52 44 20 53 48 CSTR);..DWORD SH
2b20: 44 65 6c 65 74 65 45 6d 70 74 79 4b 65 79 57 28 DeleteEmptyKeyW(
2b30: 48 4b 45 59 2c 20 4c 50 43 57 53 54 52 29 3b 0d HKEY, LPCWSTR);.
2b40: 0a 44 57 4f 52 44 20 53 48 44 65 6c 65 74 65 4b .DWORD SHDeleteK
2b50: 65 79 41 28 48 4b 45 59 2c 20 4c 50 43 53 54 52 eyA(HKEY, LPCSTR
2b60: 29 3b 0d 0a 44 57 4f 52 44 20 53 48 44 65 6c 65 );..DWORD SHDele
2b70: 74 65 4b 65 79 57 28 48 4b 45 59 2c 20 4c 50 43 teKeyW(HKEY, LPC
2b80: 57 53 54 52 29 3b 0d 0a 44 57 4f 52 44 20 53 48 WSTR);..DWORD SH
2b90: 45 6e 75 6d 4b 65 79 45 78 41 28 48 4b 45 59 2c EnumKeyExA(HKEY,
2ba0: 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c 20 4c DWORD, LPSTR, L
2bb0: 50 44 57 4f 52 44 29 3b 0d 0a 44 57 4f 52 44 20 PDWORD);..DWORD
2bc0: 53 48 45 6e 75 6d 4b 65 79 45 78 57 28 48 4b 45 SHEnumKeyExW(HKE
2bd0: 59 2c 20 44 57 4f 52 44 2c 20 4c 50 57 53 54 52 Y, DWORD, LPWSTR
2be0: 2c 20 4c 50 44 57 4f 52 44 29 3b 0d 0a 44 57 4f , LPDWORD);..DWO
2bf0: 52 44 20 53 48 51 75 65 72 79 49 6e 66 6f 4b 65 RD SHQueryInfoKe
2c00: 79 41 28 48 4b 45 59 2c 20 4c 50 44 57 4f 52 44 yA(HKEY, LPDWORD
2c10: 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f , LPDWORD, LPDWO
2c20: 52 44 2c 20 4c 50 44 57 4f 52 44 29 3b 0d 0a 44 RD, LPDWORD);..D
2c30: 57 4f 52 44 20 53 48 51 75 65 72 79 49 6e 66 6f WORD SHQueryInfo
2c40: 4b 65 79 57 28 48 4b 45 59 2c 20 4c 50 44 57 4f KeyW(HKEY, LPDWO
2c50: 52 44 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 44 RD, LPDWORD, LPD
2c60: 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 29 3b 0d WORD, LPDWORD);.
2c70: 0a 44 57 4f 52 44 20 53 48 51 75 65 72 79 56 61 .DWORD SHQueryVa
2c80: 6c 75 65 45 78 41 28 48 4b 45 59 2c 20 4c 50 43 lueExA(HKEY, LPC
2c90: 53 54 52 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 STR, LPDWORD, LP
2ca0: 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44 2c 20 4c DWORD, LPVOID, L
2cb0: 50 44 57 4f 52 44 29 3b 0d 0a 44 57 4f 52 44 20 PDWORD);..DWORD
2cc0: 53 48 51 75 65 72 79 56 61 6c 75 65 45 78 57 28 SHQueryValueExW(
2cd0: 48 4b 45 59 2c 20 4c 50 43 57 53 54 52 2c 20 4c HKEY, LPCWSTR, L
2ce0: 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 2c PDWORD, LPDWORD,
2cf0: 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 4f 52 44 LPVOID, LPDWORD
2d00: 29 3b 0d 0a 48 52 45 53 55 4c 54 20 53 48 47 65 );..HRESULT SHGe
2d10: 74 54 68 72 65 61 64 52 65 66 28 49 55 6e 6b 6e tThreadRef(IUnkn
2d20: 6f 77 6e 2a 29 3b 0d 0a 48 52 45 53 55 4c 54 20 own*);..HRESULT
2d30: 53 48 53 65 74 54 68 72 65 61 64 52 65 66 28 49 SHSetThreadRef(I
2d40: 55 6e 6b 6e 6f 77 6e 29 3b 0d 0a 42 4f 4f 4c 20 Unknown);..BOOL
2d50: 53 48 53 6b 69 70 4a 75 6e 63 74 69 6f 6e 28 49 SHSkipJunction(I
2d60: 42 69 6e 64 43 74 78 2c 20 63 6f 6e 73 74 28 43 BindCtx, const(C
2d70: 4c 53 49 44 29 2a 29 3b 0d 0a 44 57 4f 52 44 20 LSID)*);..DWORD
2d80: 53 48 45 6e 75 6d 56 61 6c 75 65 41 28 48 4b 45 SHEnumValueA(HKE
2d90: 59 2c 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c Y, DWORD, LPSTR,
2da0: 20 4c 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 LPDWORD, LPDWOR
2db0: 44 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 4f D, LPVOID, LPDWO
2dc0: 52 44 29 3b 0d 0a 44 57 4f 52 44 20 53 48 45 6e RD);..DWORD SHEn
2dd0: 75 6d 56 61 6c 75 65 57 28 48 4b 45 59 2c 20 44 umValueW(HKEY, D
2de0: 57 4f 52 44 2c 20 4c 50 57 53 54 52 2c 20 4c 50 WORD, LPWSTR, LP
2df0: 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 2c 20 DWORD, LPDWORD,
2e00: 4c 50 56 4f 49 44 2c 20 4c 50 44 57 4f 52 44 29 LPVOID, LPDWORD)
2e10: 3b 0d 0a 44 57 4f 52 44 20 53 48 47 65 74 56 61 ;..DWORD SHGetVa
2e20: 6c 75 65 41 28 48 4b 45 59 2c 20 4c 50 43 53 54 lueA(HKEY, LPCST
2e30: 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50 44 57 4f R, LPCSTR, LPDWO
2e40: 52 44 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 RD, LPVOID, LPDW
2e50: 4f 52 44 29 3b 0d 0a 44 57 4f 52 44 20 53 48 47 ORD);..DWORD SHG
2e60: 65 74 56 61 6c 75 65 57 28 48 4b 45 59 2c 20 4c etValueW(HKEY, L
2e70: 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c PCWSTR, LPCWSTR,
2e80: 20 4c 50 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44 LPDWORD, LPVOID
2e90: 2c 20 4c 50 44 57 4f 52 44 29 3b 0d 0a 44 57 4f , LPDWORD);..DWO
2ea0: 52 44 20 53 48 53 65 74 56 61 6c 75 65 41 28 48 RD SHSetValueA(H
2eb0: 4b 45 59 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 KEY, LPCSTR, LPC
2ec0: 53 54 52 2c 20 44 57 4f 52 44 2c 20 4c 50 43 56 STR, DWORD, LPCV
2ed0: 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 44 57 OID, DWORD);..DW
2ee0: 4f 52 44 20 53 48 53 65 74 56 61 6c 75 65 57 28 ORD SHSetValueW(
2ef0: 48 4b 45 59 2c 20 4c 50 43 57 53 54 52 2c 20 4c HKEY, LPCWSTR, L
2f00: 50 43 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 4c PCWSTR, DWORD, L
2f10: 50 43 56 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0d PCVOID, DWORD);.
2f20: 0a 44 57 4f 52 44 20 53 48 44 65 6c 65 74 65 56 .DWORD SHDeleteV
2f30: 61 6c 75 65 41 28 48 4b 45 59 2c 20 4c 50 43 53 alueA(HKEY, LPCS
2f40: 54 52 2c 20 4c 50 43 53 54 52 29 3b 0d 0a 44 57 TR, LPCSTR);..DW
2f50: 4f 52 44 20 53 48 44 65 6c 65 74 65 56 61 6c 75 ORD SHDeleteValu
2f60: 65 57 28 48 4b 45 59 2c 20 4c 50 43 57 53 54 52 eW(HKEY, LPCWSTR
2f70: 2c 20 4c 50 43 57 53 54 52 29 3b 0d 0a 48 52 45 , LPCWSTR);..HRE
2f80: 53 55 4c 54 20 41 73 73 6f 63 43 72 65 61 74 65 SULT AssocCreate
2f90: 28 43 4c 53 49 44 2c 20 63 6f 6e 73 74 28 49 49 (CLSID, const(II
2fa0: 44 29 2a 20 2c 20 63 6f 6e 73 74 28 4c 50 56 4f D)* , const(LPVO
2fb0: 49 44 29 2a 29 3b 0d 0a 48 52 45 53 55 4c 54 20 ID)*);..HRESULT
2fc0: 41 73 73 6f 63 51 75 65 72 79 4b 65 79 41 28 41 AssocQueryKeyA(A
2fd0: 53 53 4f 43 46 2c 20 41 53 53 4f 43 4b 45 59 2c SSOCF, ASSOCKEY,
2fe0: 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c LPCSTR, LPCSTR,
2ff0: 20 48 4b 45 59 2a 29 3b 0d 0a 48 52 45 53 55 4c HKEY*);..HRESUL
3000: 54 20 41 73 73 6f 63 51 75 65 72 79 4b 65 79 57 T AssocQueryKeyW
3010: 28 41 53 53 4f 43 46 2c 20 41 53 53 4f 43 4b 45 (ASSOCF, ASSOCKE
3020: 59 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 Y, LPCWSTR, LPCW
3030: 53 54 52 2c 20 48 4b 45 59 2a 29 3b 0d 0a 48 52 STR, HKEY*);..HR
3040: 45 53 55 4c 54 20 41 73 73 6f 63 51 75 65 72 79 ESULT AssocQuery
3050: 53 74 72 69 6e 67 41 28 41 53 53 4f 43 46 2c 20 StringA(ASSOCF,
3060: 41 53 53 4f 43 53 54 52 2c 20 4c 50 43 53 54 52 ASSOCSTR, LPCSTR
3070: 2c 20 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c , LPCSTR, LPSTR,
3080: 20 44 57 4f 52 44 2a 29 3b 0d 0a 48 52 45 53 55 DWORD*);..HRESU
3090: 4c 54 20 41 73 73 6f 63 51 75 65 72 79 53 74 72 LT AssocQueryStr
30a0: 69 6e 67 42 79 4b 65 79 41 28 41 53 53 4f 43 46 ingByKeyA(ASSOCF
30b0: 2c 20 41 53 53 4f 43 53 54 52 2c 20 48 4b 45 59 , ASSOCSTR, HKEY
30c0: 2c 20 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c , LPCSTR, LPSTR,
30d0: 20 44 57 4f 52 44 2a 29 3b 0d 0a 48 52 45 53 55 DWORD*);..HRESU
30e0: 4c 54 20 41 73 73 6f 63 51 75 65 72 79 53 74 72 LT AssocQueryStr
30f0: 69 6e 67 42 79 4b 65 79 57 28 41 53 53 4f 43 46 ingByKeyW(ASSOCF
3100: 2c 20 41 53 53 4f 43 53 54 52 2c 20 48 4b 45 59 , ASSOCSTR, HKEY
3110: 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 , LPCWSTR, LPWST
3120: 52 2c 20 44 57 4f 52 44 2a 29 3b 0d 0a 48 52 45 R, DWORD*);..HRE
3130: 53 55 4c 54 20 41 73 73 6f 63 51 75 65 72 79 53 SULT AssocQueryS
3140: 74 72 69 6e 67 57 28 41 53 53 4f 43 46 2c 20 41 tringW(ASSOCF, A
3150: 53 53 4f 43 53 54 52 2c 20 4c 50 43 57 53 54 52 SSOCSTR, LPCWSTR
3160: 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 , LPCWSTR, LPWST
3170: 52 2c 20 44 57 4f 52 44 2a 29 3b 0d 0a 48 52 45 R, DWORD*);..HRE
3180: 53 55 4c 54 20 55 72 6c 41 70 70 6c 79 53 63 68 SULT UrlApplySch
3190: 65 6d 65 41 28 4c 50 43 53 54 52 2c 20 4c 50 53 emeA(LPCSTR, LPS
31a0: 54 52 2c 20 4c 50 44 57 4f 52 44 2c 20 44 57 4f TR, LPDWORD, DWO
31b0: 52 44 29 3b 0d 0a 48 52 45 53 55 4c 54 20 55 72 RD);..HRESULT Ur
31c0: 6c 41 70 70 6c 79 53 63 68 65 6d 65 57 28 4c 50 lApplySchemeW(LP
31d0: 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 4c CWSTR, LPWSTR, L
31e0: 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0d PDWORD, DWORD);.
31f0: 0a 48 52 45 53 55 4c 54 20 55 72 6c 43 61 6e 6f .HRESULT UrlCano
3200: 6e 69 63 61 6c 69 7a 65 41 28 4c 50 43 53 54 52 nicalizeA(LPCSTR
3210: 2c 20 4c 50 53 54 52 2c 20 4c 50 44 57 4f 52 44 , LPSTR, LPDWORD
3220: 2c 20 44 57 4f 52 44 29 3b 0d 0a 48 52 45 53 55 , DWORD);..HRESU
3230: 4c 54 20 55 72 6c 43 61 6e 6f 6e 69 63 61 6c 69 LT UrlCanonicali
3240: 7a 65 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 57 zeW(LPCWSTR, LPW
3250: 53 54 52 2c 20 4c 50 44 57 4f 52 44 2c 20 44 57 STR, LPDWORD, DW
3260: 4f 52 44 29 3b 0d 0a 48 52 45 53 55 4c 54 20 55 ORD);..HRESULT U
3270: 72 6c 43 6f 6d 62 69 6e 65 41 28 4c 50 43 53 54 rlCombineA(LPCST
3280: 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 R, LPCSTR, LPSTR
3290: 2c 20 4c 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 , LPDWORD, DWORD
32a0: 29 3b 0d 0a 48 52 45 53 55 4c 54 20 55 72 6c 43 );..HRESULT UrlC
32b0: 6f 6d 62 69 6e 65 57 28 4c 50 43 57 53 54 52 2c ombineW(LPCWSTR,
32c0: 20 4c 50 43 57 53 54 52 2c 20 4c 50 57 53 54 52 LPCWSTR, LPWSTR
32d0: 2c 20 4c 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 , LPDWORD, DWORD
32e0: 29 3b 0d 0a 69 6e 74 20 55 72 6c 43 6f 6d 70 61 );..int UrlCompa
32f0: 72 65 41 28 4c 50 43 53 54 52 2c 20 4c 50 43 53 reA(LPCSTR, LPCS
3300: 54 52 2c 20 42 4f 4f 4c 29 3b 0d 0a 69 6e 74 20 TR, BOOL);..int
3310: 55 72 6c 43 6f 6d 70 61 72 65 57 28 4c 50 43 57 UrlCompareW(LPCW
3320: 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 42 4f STR, LPCWSTR, BO
3330: 4f 4c 29 3b 0d 0a 48 52 45 53 55 4c 54 20 55 72 OL);..HRESULT Ur
3340: 6c 43 72 65 61 74 65 46 72 6f 6d 50 61 74 68 41 lCreateFromPathA
3350: 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c 20 (LPCSTR, LPSTR,
3360: 4c 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b LPDWORD, DWORD);
3370: 0d 0a 48 52 45 53 55 4c 54 20 55 72 6c 43 72 65 ..HRESULT UrlCre
3380: 61 74 65 46 72 6f 6d 50 61 74 68 57 28 4c 50 43 ateFromPathW(LPC
3390: 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 4c 50 WSTR, LPWSTR, LP
33a0: 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0d 0a DWORD, DWORD);..
33b0: 48 52 45 53 55 4c 54 20 55 72 6c 45 73 63 61 70 HRESULT UrlEscap
33c0: 65 41 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 eA(LPCSTR, LPSTR
33d0: 2c 20 4c 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 , LPDWORD, DWORD
33e0: 29 3b 0d 0a 48 52 45 53 55 4c 54 20 55 72 6c 45 );..HRESULT UrlE
33f0: 73 63 61 70 65 57 28 4c 50 43 57 53 54 52 2c 20 scapeW(LPCWSTR,
3400: 4c 50 57 53 54 52 2c 20 4c 50 44 57 4f 52 44 2c LPWSTR, LPDWORD,
3410: 20 44 57 4f 52 44 29 3b 0d 0a 4c 50 43 53 54 52 DWORD);..LPCSTR
3420: 20 55 72 6c 47 65 74 4c 6f 63 61 74 69 6f 6e 41 UrlGetLocationA
3430: 28 4c 50 43 53 54 52 29 3b 0d 0a 4c 50 43 57 53 (LPCSTR);..LPCWS
3440: 54 52 20 55 72 6c 47 65 74 4c 6f 63 61 74 69 6f TR UrlGetLocatio
3450: 6e 57 28 4c 50 43 57 53 54 52 29 3b 0d 0a 48 52 nW(LPCWSTR);..HR
3460: 45 53 55 4c 54 20 55 72 6c 47 65 74 50 61 72 74 ESULT UrlGetPart
3470: 41 28 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c A(LPCSTR, LPSTR,
3480: 20 4c 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c LPDWORD, DWORD,
3490: 20 44 57 4f 52 44 29 3b 0d 0a 48 52 45 53 55 4c DWORD);..HRESUL
34a0: 54 20 55 72 6c 47 65 74 50 61 72 74 57 28 4c 50 T UrlGetPartW(LP
34b0: 43 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 4c CWSTR, LPWSTR, L
34c0: 50 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 44 PDWORD, DWORD, D
34d0: 57 4f 52 44 29 3b 0d 0a 48 52 45 53 55 4c 54 20 WORD);..HRESULT
34e0: 55 72 6c 48 61 73 68 41 28 4c 50 43 53 54 52 2c UrlHashA(LPCSTR,
34f0: 20 4c 50 42 59 54 45 2c 20 44 57 4f 52 44 29 3b LPBYTE, DWORD);
3500: 0d 0a 48 52 45 53 55 4c 54 20 55 72 6c 48 61 73 ..HRESULT UrlHas
3510: 68 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 42 59 hW(LPCWSTR, LPBY
3520: 54 45 2c 20 44 57 4f 52 44 29 3b 0d 0a 42 4f 4f TE, DWORD);..BOO
3530: 4c 20 55 72 6c 49 73 41 28 4c 50 43 53 54 52 2c L UrlIsA(LPCSTR,
3540: 20 55 52 4c 49 53 29 3b 0d 0a 42 4f 4f 4c 20 55 URLIS);..BOOL U
3550: 72 6c 49 73 57 28 4c 50 43 57 53 54 52 2c 20 55 rlIsW(LPCWSTR, U
3560: 52 4c 49 53 29 3b 0d 0a 42 4f 4f 4c 20 55 72 6c RLIS);..BOOL Url
3570: 49 73 4e 6f 48 69 73 74 6f 72 79 41 28 4c 50 43 IsNoHistoryA(LPC
3580: 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 55 72 6c 49 STR);..BOOL UrlI
3590: 73 4e 6f 48 69 73 74 6f 72 79 57 28 4c 50 43 57 sNoHistoryW(LPCW
35a0: 53 54 52 29 3b 0d 0a 42 4f 4f 4c 20 55 72 6c 49 STR);..BOOL UrlI
35b0: 73 4f 70 61 71 75 65 41 28 4c 50 43 53 54 52 29 sOpaqueA(LPCSTR)
35c0: 3b 0d 0a 42 4f 4f 4c 20 55 72 6c 49 73 4f 70 61 ;..BOOL UrlIsOpa
35d0: 71 75 65 57 28 4c 50 43 57 53 54 52 29 3b 0d 0a queW(LPCWSTR);..
35e0: 48 52 45 53 55 4c 54 20 55 72 6c 55 6e 65 73 63 HRESULT UrlUnesc
35f0: 61 70 65 41 28 4c 50 53 54 52 2c 20 4c 50 53 54 apeA(LPSTR, LPST
3600: 52 2c 20 4c 50 44 57 4f 52 44 2c 20 44 57 4f 52 R, LPDWORD, DWOR
3610: 44 29 3b 0d 0a 48 52 45 53 55 4c 54 20 55 72 6c D);..HRESULT Url
3620: 55 6e 65 73 63 61 70 65 57 28 4c 50 57 53 54 52 UnescapeW(LPWSTR
3630: 2c 20 4c 50 57 53 54 52 2c 20 4c 50 44 57 4f 52 , LPWSTR, LPDWOR
3640: 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 44 57 4f 52 D, DWORD);..DWOR
3650: 44 20 53 48 52 65 67 43 6c 6f 73 65 55 53 4b 65 D SHRegCloseUSKe
3660: 79 28 48 55 53 4b 45 59 29 3b 0d 0a 4c 4f 4e 47 y(HUSKEY);..LONG
3670: 20 53 48 52 65 67 43 72 65 61 74 65 55 53 4b 65 SHRegCreateUSKe
3680: 79 41 28 4c 50 43 53 54 52 2c 20 52 45 47 53 41 yA(LPCSTR, REGSA
3690: 4d 2c 20 48 55 53 4b 45 59 2c 20 50 48 55 53 4b M, HUSKEY, PHUSK
36a0: 45 59 2c 20 44 57 4f 52 44 29 3b 0d 0a 4c 4f 4e EY, DWORD);..LON
36b0: 47 20 53 48 52 65 67 43 72 65 61 74 65 55 53 4b G SHRegCreateUSK
36c0: 65 79 57 28 4c 50 43 57 53 54 52 2c 20 52 45 47 eyW(LPCWSTR, REG
36d0: 53 41 4d 2c 20 48 55 53 4b 45 59 2c 20 50 48 55 SAM, HUSKEY, PHU
36e0: 53 4b 45 59 2c 20 44 57 4f 52 44 29 3b 0d 0a 4c SKEY, DWORD);..L
36f0: 4f 4e 47 20 53 48 52 65 67 44 65 6c 65 74 65 45 ONG SHRegDeleteE
3700: 6d 70 74 79 55 53 4b 65 79 41 28 48 55 53 4b 45 mptyUSKeyA(HUSKE
3710: 59 2c 20 4c 50 43 53 54 52 2c 20 53 48 52 45 47 Y, LPCSTR, SHREG
3720: 44 45 4c 5f 46 4c 41 47 53 29 3b 0d 0a 4c 4f 4e DEL_FLAGS);..LON
3730: 47 20 53 48 52 65 67 44 65 6c 65 74 65 45 6d 70 G SHRegDeleteEmp
3740: 74 79 55 53 4b 65 79 57 28 48 55 53 4b 45 59 2c tyUSKeyW(HUSKEY,
3750: 20 4c 50 43 57 53 54 52 2c 20 53 48 52 45 47 44 LPCWSTR, SHREGD
3760: 45 4c 5f 46 4c 41 47 53 29 3b 0d 0a 4c 4f 4e 47 EL_FLAGS);..LONG
3770: 20 53 48 52 65 67 44 65 6c 65 74 65 55 53 56 61 SHRegDeleteUSVa
3780: 6c 75 65 41 28 48 55 53 4b 45 59 2c 20 4c 50 43 lueA(HUSKEY, LPC
3790: 53 54 52 2c 20 53 48 52 45 47 44 45 4c 5f 46 4c STR, SHREGDEL_FL
37a0: 41 47 53 29 3b 0d 0a 4c 4f 4e 47 20 53 48 52 65 AGS);..LONG SHRe
37b0: 67 44 65 6c 65 74 65 55 53 56 61 6c 75 65 57 28 gDeleteUSValueW(
37c0: 48 55 53 4b 45 59 2c 20 4c 50 43 57 53 54 52 2c HUSKEY, LPCWSTR,
37d0: 20 53 48 52 45 47 44 45 4c 5f 46 4c 41 47 53 29 SHREGDEL_FLAGS)
37e0: 3b 0d 0a 48 4b 45 59 20 53 48 52 65 67 44 75 70 ;..HKEY SHRegDup
37f0: 6c 69 63 61 74 65 48 4b 65 79 28 48 4b 45 59 29 licateHKey(HKEY)
3800: 3b 0d 0a 44 57 4f 52 44 20 53 48 52 65 67 45 6e ;..DWORD SHRegEn
3810: 75 6d 55 53 4b 65 79 41 28 48 55 53 4b 45 59 2c umUSKeyA(HUSKEY,
3820: 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c 20 4c DWORD, LPSTR, L
3830: 50 44 57 4f 52 44 2c 20 53 48 52 45 47 45 4e 55 PDWORD, SHREGENU
3840: 4d 5f 46 4c 41 47 53 29 3b 0d 0a 44 57 4f 52 44 M_FLAGS);..DWORD
3850: 20 53 48 52 65 67 45 6e 75 6d 55 53 4b 65 79 57 SHRegEnumUSKeyW
3860: 28 48 55 53 4b 45 59 2c 20 44 57 4f 52 44 2c 20 (HUSKEY, DWORD,
3870: 4c 50 57 53 54 52 2c 20 4c 50 44 57 4f 52 44 2c LPWSTR, LPDWORD,
3880: 20 53 48 52 45 47 45 4e 55 4d 5f 46 4c 41 47 53 SHREGENUM_FLAGS
3890: 29 3b 0d 0a 44 57 4f 52 44 20 53 48 52 65 67 45 );..DWORD SHRegE
38a0: 6e 75 6d 55 53 56 61 6c 75 65 41 28 48 55 53 4b numUSValueA(HUSK
38b0: 45 59 2c 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 EY, DWORD, LPSTR
38c0: 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f , LPDWORD, LPDWO
38d0: 52 44 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 RD, LPVOID, LPDW
38e0: 4f 52 44 2c 20 53 48 52 45 47 45 4e 55 4d 5f 46 ORD, SHREGENUM_F
38f0: 4c 41 47 53 29 3b 0d 0a 44 57 4f 52 44 20 53 48 LAGS);..DWORD SH
3900: 52 65 67 45 6e 75 6d 55 53 56 61 6c 75 65 57 28 RegEnumUSValueW(
3910: 48 55 53 4b 45 59 2c 20 44 57 4f 52 44 2c 20 4c HUSKEY, DWORD, L
3920: 50 57 53 54 52 2c 20 4c 50 44 57 4f 52 44 2c 20 PWSTR, LPDWORD,
3930: 4c 50 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44 2c LPDWORD, LPVOID,
3940: 20 4c 50 44 57 4f 52 44 2c 20 53 48 52 45 47 45 LPDWORD, SHREGE
3950: 4e 55 4d 5f 46 4c 41 47 53 29 3b 0d 0a 42 4f 4f NUM_FLAGS);..BOO
3960: 4c 20 53 48 52 65 67 47 65 74 42 6f 6f 6c 55 53 L SHRegGetBoolUS
3970: 56 61 6c 75 65 41 28 4c 50 43 53 54 52 2c 20 4c ValueA(LPCSTR, L
3980: 50 43 53 54 52 2c 20 42 4f 4f 4c 2c 20 42 4f 4f PCSTR, BOOL, BOO
3990: 4c 29 3b 0d 0a 42 4f 4f 4c 20 53 48 52 65 67 47 L);..BOOL SHRegG
39a0: 65 74 42 6f 6f 6c 55 53 56 61 6c 75 65 57 28 4c etBoolUSValueW(L
39b0: 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c PCWSTR, LPCWSTR,
39c0: 20 42 4f 4f 4c 2c 20 42 4f 4f 4c 29 3b 0d 0a 44 BOOL, BOOL);..D
39d0: 57 4f 52 44 20 53 48 52 65 67 47 65 74 50 61 74 WORD SHRegGetPat
39e0: 68 41 28 48 4b 45 59 2c 20 4c 50 43 53 54 52 2c hA(HKEY, LPCSTR,
39f0: 20 4c 50 43 53 54 52 2c 20 4c 50 53 54 52 2c 20 LPCSTR, LPSTR,
3a00: 44 57 4f 52 44 29 3b 0d 0a 44 57 4f 52 44 20 53 DWORD);..DWORD S
3a10: 48 52 65 67 47 65 74 50 61 74 68 57 28 48 4b 45 HRegGetPathW(HKE
3a20: 59 2c 20 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 Y, LPCWSTR, LPCW
3a30: 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f STR, LPWSTR, DWO
3a40: 52 44 29 3b 0d 0a 4c 4f 4e 47 20 53 48 52 65 67 RD);..LONG SHReg
3a50: 47 65 74 55 53 56 61 6c 75 65 41 28 4c 50 43 53 GetUSValueA(LPCS
3a60: 54 52 2c 20 4c 50 43 53 54 52 2c 20 4c 50 44 57 TR, LPCSTR, LPDW
3a70: 4f 52 44 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 44 ORD, LPVOID, LPD
3a80: 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20 4c 50 56 4f WORD, BOOL, LPVO
3a90: 49 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 4c 4f 4e ID, DWORD);..LON
3aa0: 47 20 53 48 52 65 67 47 65 74 55 53 56 61 6c 75 G SHRegGetUSValu
3ab0: 65 57 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57 eW(LPCWSTR, LPCW
3ac0: 53 54 52 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 STR, LPDWORD, LP
3ad0: 56 4f 49 44 2c 20 4c 50 44 57 4f 52 44 2c 20 42 VOID, LPDWORD, B
3ae0: 4f 4f 4c 2c 20 4c 50 56 4f 49 44 2c 20 44 57 4f OOL, LPVOID, DWO
3af0: 52 44 29 3b 0d 0a 4c 4f 4e 47 20 53 48 52 65 67 RD);..LONG SHReg
3b00: 4f 70 65 6e 55 53 4b 65 79 41 28 4c 50 43 53 54 OpenUSKeyA(LPCST
3b10: 52 2c 20 52 45 47 53 41 4d 2c 20 48 55 53 4b 45 R, REGSAM, HUSKE
3b20: 59 2c 20 50 48 55 53 4b 45 59 2c 20 42 4f 4f 4c Y, PHUSKEY, BOOL
3b30: 29 3b 0d 0a 4c 4f 4e 47 20 53 48 52 65 67 4f 70 );..LONG SHRegOp
3b40: 65 6e 55 53 4b 65 79 57 28 4c 50 43 57 53 54 52 enUSKeyW(LPCWSTR
3b50: 2c 20 52 45 47 53 41 4d 2c 20 48 55 53 4b 45 59 , REGSAM, HUSKEY
3b60: 2c 20 50 48 55 53 4b 45 59 2c 20 42 4f 4f 4c 29 , PHUSKEY, BOOL)
3b70: 3b 0d 0a 44 57 4f 52 44 20 53 48 52 65 67 51 75 ;..DWORD SHRegQu
3b80: 65 72 79 49 6e 66 6f 55 53 4b 65 79 41 28 48 55 eryInfoUSKeyA(HU
3b90: 53 4b 45 59 2c 20 4c 50 44 57 4f 52 44 2c 20 4c SKEY, LPDWORD, L
3ba0: 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 2c PDWORD, LPDWORD,
3bb0: 20 4c 50 44 57 4f 52 44 2c 20 53 48 52 45 47 45 LPDWORD, SHREGE
3bc0: 4e 55 4d 5f 46 4c 41 47 53 29 3b 0d 0a 44 57 4f NUM_FLAGS);..DWO
3bd0: 52 44 20 53 48 52 65 67 51 75 65 72 79 49 6e 66 RD SHRegQueryInf
3be0: 6f 55 53 4b 65 79 57 28 48 55 53 4b 45 59 2c 20 oUSKeyW(HUSKEY,
3bf0: 4c 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 LPDWORD, LPDWORD
3c00: 2c 20 4c 50 44 57 4f 52 44 2c 20 4c 50 44 57 4f , LPDWORD, LPDWO
3c10: 52 44 2c 20 53 48 52 45 47 45 4e 55 4d 5f 46 4c RD, SHREGENUM_FL
3c20: 41 47 53 29 3b 0d 0a 4c 4f 4e 47 20 53 48 52 65 AGS);..LONG SHRe
3c30: 67 51 75 65 72 79 55 53 56 61 6c 75 65 41 28 48 gQueryUSValueA(H
3c40: 55 53 4b 45 59 2c 20 4c 50 43 53 54 52 2c 20 4c USKEY, LPCSTR, L
3c50: 50 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44 2c 20 PDWORD, LPVOID,
3c60: 4c 50 44 57 4f 52 44 2c 20 42 4f 4f 4c 2c 20 4c LPDWORD, BOOL, L
3c70: 50 56 4f 49 44 2c 20 44 57 4f 52 44 29 3b 0d 0a PVOID, DWORD);..
3c80: 4c 4f 4e 47 20 53 48 52 65 67 51 75 65 72 79 55 LONG SHRegQueryU
3c90: 53 56 61 6c 75 65 57 28 48 55 53 4b 45 59 2c 20 SValueW(HUSKEY,
3ca0: 4c 50 43 57 53 54 52 2c 20 4c 50 44 57 4f 52 44 LPCWSTR, LPDWORD
3cb0: 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 4f 52 , LPVOID, LPDWOR
3cc0: 44 2c 20 42 4f 4f 4c 2c 20 4c 50 56 4f 49 44 2c D, BOOL, LPVOID,
3cd0: 20 44 57 4f 52 44 29 3b 0d 0a 44 57 4f 52 44 20 DWORD);..DWORD
3ce0: 53 48 52 65 67 53 65 74 50 61 74 68 41 28 48 4b SHRegSetPathA(HK
3cf0: 45 59 2c 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 EY, LPCSTR, LPCS
3d00: 54 52 2c 20 4c 50 43 53 54 52 2c 20 44 57 4f 52 TR, LPCSTR, DWOR
3d10: 44 29 3b 0d 0a 44 57 4f 52 44 20 53 48 52 65 67 D);..DWORD SHReg
3d20: 53 65 74 50 61 74 68 57 28 48 4b 45 59 2c 20 4c SetPathW(HKEY, L
3d30: 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c PCWSTR, LPCWSTR,
3d40: 20 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 44 29 LPCWSTR, DWORD)
3d50: 3b 0d 0a 4c 4f 4e 47 20 53 48 52 65 67 53 65 74 ;..LONG SHRegSet
3d60: 55 53 56 61 6c 75 65 41 28 4c 50 43 53 54 52 2c USValueA(LPCSTR,
3d70: 20 4c 50 43 53 54 52 2c 20 44 57 4f 52 44 2c 20 LPCSTR, DWORD,
3d80: 4c 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44 LPVOID, DWORD, D
3d90: 57 4f 52 44 29 3b 0d 0a 4c 4f 4e 47 20 53 48 52 WORD);..LONG SHR
3da0: 65 67 53 65 74 55 53 56 61 6c 75 65 57 28 4c 50 egSetUSValueW(LP
3db0: 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 CWSTR, LPCWSTR,
3dc0: 44 57 4f 52 44 2c 20 4c 50 56 4f 49 44 2c 20 44 DWORD, LPVOID, D
3dd0: 57 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 4c WORD, DWORD);..L
3de0: 4f 4e 47 20 53 48 52 65 67 57 72 69 74 65 55 53 ONG SHRegWriteUS
3df0: 56 61 6c 75 65 41 28 48 55 53 4b 45 59 2c 20 4c ValueA(HUSKEY, L
3e00: 50 43 53 54 52 2c 20 44 57 4f 52 44 2c 20 4c 50 PCSTR, DWORD, LP
3e10: 56 4f 49 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f VOID, DWORD, DWO
3e20: 52 44 29 3b 0d 0a 4c 4f 4e 47 20 53 48 52 65 67 RD);..LONG SHReg
3e30: 57 72 69 74 65 55 53 56 61 6c 75 65 57 28 48 55 WriteUSValueW(HU
3e40: 53 4b 45 59 2c 20 4c 50 43 57 53 54 52 2c 20 44 SKEY, LPCWSTR, D
3e50: 57 4f 52 44 2c 20 4c 50 56 4f 49 44 2c 20 44 57 WORD, LPVOID, DW
3e60: 4f 52 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 48 52 ORD, DWORD);..HR
3e70: 45 53 55 4c 54 20 48 61 73 68 44 61 74 61 28 4c ESULT HashData(L
3e80: 50 42 59 54 45 2c 20 44 57 4f 52 44 2c 20 4c 50 PBYTE, DWORD, LP
3e90: 42 59 54 45 2c 20 44 57 4f 52 44 29 3b 0d 0a 48 BYTE, DWORD);..H
3ea0: 50 41 4c 45 54 54 45 20 53 48 43 72 65 61 74 65 PALETTE SHCreate
3eb0: 53 68 65 6c 6c 50 61 6c 65 74 74 65 28 48 44 43 ShellPalette(HDC
3ec0: 29 3b 0d 0a 43 4f 4c 4f 52 52 45 46 20 43 6f 6c );..COLORREF Col
3ed0: 6f 72 48 4c 53 54 6f 52 47 42 28 57 4f 52 44 2c orHLSToRGB(WORD,
3ee0: 20 57 4f 52 44 2c 20 57 4f 52 44 29 3b 0d 0a 43 WORD, WORD);..C
3ef0: 4f 4c 4f 52 52 45 46 20 43 6f 6c 6f 72 41 64 6a OLORREF ColorAdj
3f00: 75 73 74 4c 75 6d 61 28 43 4f 4c 4f 52 52 45 46 ustLuma(COLORREF
3f10: 2c 20 69 6e 74 2c 20 42 4f 4f 4c 29 3b 0d 0a 76 , int, BOOL);..v
3f20: 6f 69 64 20 43 6f 6c 6f 72 52 47 42 54 6f 48 4c oid ColorRGBToHL
3f30: 53 28 43 4f 4c 4f 52 52 45 46 2c 20 57 4f 52 44 S(COLORREF, WORD
3f40: 2a 2c 20 57 4f 52 44 2a 2c 20 57 4f 52 44 2a 29 *, WORD*, WORD*)
3f50: 3b 0d 0a 2f 2a 2a 20 53 68 6f 75 6c 64 20 6e 6f ;../** Should no
3f60: 74 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 66 t be necessary f
3f70: 6f 72 20 44 3f 0d 0a 65 78 74 65 72 6e 20 28 43 or D?..extern (C
3f80: 29 3a 0d 0a 69 6e 74 20 20 77 6e 73 70 72 69 6e ):..int wnsprin
3f90: 74 66 41 28 4c 50 53 54 52 2c 20 69 6e 74 2c 20 tfA(LPSTR, int,
3fa0: 4c 50 43 53 54 52 2c 20 2e 2e 2e 29 3b 0d 0a 69 LPCSTR, ...);..i
3fb0: 6e 74 20 20 77 6e 73 70 72 69 6e 74 66 57 28 4c nt wnsprintfW(L
3fc0: 50 57 53 54 52 2c 20 69 6e 74 2c 20 4c 50 43 57 PWSTR, int, LPCW
3fd0: 53 54 52 2c 20 2e 2e 2e 29 3b 0d 0a 65 78 74 65 STR, ...);..exte
3fe0: 72 6e 20 28 57 69 6e 64 6f 77 73 29 3a 0d 0a 69 rn (Windows):..i
3ff0: 6e 74 20 77 76 6e 73 70 72 69 6e 74 66 41 28 4c nt wvnsprintfA(L
4000: 50 53 54 52 2c 20 69 6e 74 2c 20 4c 50 43 53 54 PSTR, int, LPCST
4010: 52 2c 20 76 61 5f 6c 69 73 74 29 3b 0d 0a 69 6e R, va_list);..in
4020: 74 20 77 76 6e 73 70 72 69 6e 74 66 57 28 4c 50 t wvnsprintfW(LP
4030: 57 53 54 52 2c 20 69 6e 74 2c 20 4c 50 43 57 53 WSTR, int, LPCWS
4040: 54 52 2c 20 76 61 5f 6c 69 73 74 29 3b 0d 0a 2a TR, va_list);..*
4050: 2f 0d 0a 0d 0a 48 49 4e 53 54 41 4e 43 45 20 4d /....HINSTANCE M
4060: 4c 4c 6f 61 64 4c 69 62 72 61 72 79 41 28 4c 50 LLoadLibraryA(LP
4070: 43 53 54 52 2c 20 48 41 4e 44 4c 45 2c 20 44 57 CSTR, HANDLE, DW
4080: 4f 52 44 2c 20 4c 50 43 53 54 52 2c 20 42 4f 4f ORD, LPCSTR, BOO
4090: 4c 29 3b 0d 0a 48 49 4e 53 54 41 4e 43 45 20 4d L);..HINSTANCE M
40a0: 4c 4c 6f 61 64 4c 69 62 72 61 72 79 57 28 4c 50 LLoadLibraryW(LP
40b0: 43 57 53 54 52 2c 20 48 41 4e 44 4c 45 2c 20 44 CWSTR, HANDLE, D
40c0: 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 2c 20 42 WORD, LPCWSTR, B
40d0: 4f 4f 4c 29 3b 0d 0a 0d 0a 48 52 45 53 55 4c 54 OOL);....HRESULT
40e0: 20 44 6c 6c 49 6e 73 74 61 6c 6c 28 42 4f 4f 4c DllInstall(BOOL
40f0: 2c 20 4c 50 43 57 53 54 52 29 3b 0d 0a 0d 0a 48 , LPCWSTR);....H
4100: 52 45 53 55 4c 54 20 53 74 72 52 65 74 54 6f 42 RESULT StrRetToB
4110: 75 66 41 28 4c 50 53 54 52 52 45 54 2c 20 4c 50 ufA(LPSTRRET, LP
4120: 43 49 54 45 4d 49 44 4c 49 53 54 2c 20 4c 50 53 CITEMIDLIST, LPS
4130: 54 52 2c 20 55 49 4e 54 29 3b 0d 0a 48 52 45 53 TR, UINT);..HRES
4140: 55 4c 54 20 53 74 72 52 65 74 54 6f 42 75 66 57 ULT StrRetToBufW
4150: 28 4c 50 53 54 52 52 45 54 2c 20 4c 50 43 49 54 (LPSTRRET, LPCIT
4160: 45 4d 49 44 4c 49 53 54 2c 20 4c 50 57 53 54 52 EMIDLIST, LPWSTR
4170: 2c 20 55 49 4e 54 29 3b 0d 0a 48 52 45 53 55 4c , UINT);..HRESUL
4180: 54 20 53 74 72 52 65 74 54 6f 53 74 72 41 28 4c T StrRetToStrA(L
4190: 50 53 54 52 52 45 54 2c 20 4c 50 43 49 54 45 4d PSTRRET, LPCITEM
41a0: 49 44 4c 49 53 54 2c 20 4c 50 53 54 52 2a 29 3b IDLIST, LPSTR*);
41b0: 0d 0a 48 52 45 53 55 4c 54 20 53 74 72 52 65 74 ..HRESULT StrRet
41c0: 54 6f 53 74 72 57 28 4c 50 53 54 52 52 45 54 2c ToStrW(LPSTRRET,
41d0: 20 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 2c 20 LPCITEMIDLIST,
41e0: 4c 50 57 53 54 52 2a 29 3b 0d 0a 48 52 45 53 55 LPWSTR*);..HRESU
41f0: 4c 54 20 53 48 43 72 65 61 74 65 53 74 72 65 61 LT SHCreateStrea
4200: 6d 4f 6e 46 69 6c 65 41 28 4c 50 43 53 54 52 2c mOnFileA(LPCSTR,
4210: 20 44 57 4f 52 44 2c 20 49 53 74 72 65 61 6d 2a DWORD, IStream*
4220: 29 3b 0d 0a 48 52 45 53 55 4c 54 20 53 48 43 72 );..HRESULT SHCr
4230: 65 61 74 65 53 74 72 65 61 6d 4f 6e 46 69 6c 65 eateStreamOnFile
4240: 57 28 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 44 W(LPCWSTR, DWORD
4250: 2c 20 49 53 74 72 65 61 6d 2a 29 3b 0d 0a 49 53 , IStream*);..IS
4260: 74 72 65 61 6d 20 53 48 4f 70 65 6e 52 65 67 53 tream SHOpenRegS
4270: 74 72 65 61 6d 32 41 28 48 4b 45 59 2c 20 4c 50 tream2A(HKEY, LP
4280: 43 53 54 52 2c 20 4c 50 43 53 54 52 2c 20 44 57 CSTR, LPCSTR, DW
4290: 4f 52 44 29 3b 0d 0a 49 53 74 72 65 61 6d 20 53 ORD);..IStream S
42a0: 48 4f 70 65 6e 52 65 67 53 74 72 65 61 6d 32 57 HOpenRegStream2W
42b0: 28 48 4b 45 59 2c 20 4c 50 43 57 53 54 52 2c 20 (HKEY, LPCWSTR,
42c0: 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 44 29 3b LPCWSTR, DWORD);
42d0: 0d 0a 49 53 74 72 65 61 6d 20 53 48 4f 70 65 6e ..IStream SHOpen
42e0: 52 65 67 53 74 72 65 61 6d 41 28 48 4b 45 59 2c RegStreamA(HKEY,
42f0: 20 4c 50 43 53 54 52 2c 20 4c 50 43 53 54 52 2c LPCSTR, LPCSTR,
4300: 20 44 57 4f 52 44 29 3b 0d 0a 49 53 74 72 65 61 DWORD);..IStrea
4310: 6d 20 53 48 4f 70 65 6e 52 65 67 53 74 72 65 61 m SHOpenRegStrea
4320: 6d 57 28 48 4b 45 59 2c 20 4c 50 43 57 53 54 52 mW(HKEY, LPCWSTR
4330: 2c 20 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 44 , LPCWSTR, DWORD
4340: 29 3b 0d 0a 0d 0a 76 65 72 73 69 6f 6e 28 55 6e );....version(Un
4350: 69 63 6f 64 65 29 20 7b 0d 0a 61 6c 69 61 73 20 icode) {..alias
4360: 43 68 72 43 6d 70 49 57 20 43 68 72 43 6d 70 49 ChrCmpIW ChrCmpI
4370: 3b 0d 0a 61 6c 69 61 73 20 49 6e 74 6c 53 74 72 ;..alias IntlStr
4380: 45 71 4e 57 20 49 6e 74 6c 53 74 72 45 71 4e 3b EqNW IntlStrEqN;
4390: 0d 0a 61 6c 69 61 73 20 49 6e 74 6c 53 74 72 45 ..alias IntlStrE
43a0: 71 4e 49 57 20 49 6e 74 6c 53 74 72 45 71 4e 49 qNIW IntlStrEqNI
43b0: 3b 0d 0a 61 6c 69 61 73 20 49 6e 74 6c 53 74 72 ;..alias IntlStr
43c0: 45 71 57 6f 72 6b 65 72 57 20 49 6e 74 6c 53 74 EqWorkerW IntlSt
43d0: 72 45 71 57 6f 72 6b 65 72 3b 0d 0a 61 6c 69 61 rEqWorker;..alia
43e0: 73 20 53 48 53 74 72 44 75 70 57 20 53 48 53 74 s SHStrDupW SHSt
43f0: 72 44 75 70 3b 0d 0a 61 6c 69 61 73 20 53 74 72 rDup;..alias Str
4400: 43 61 74 57 20 53 74 72 43 61 74 3b 0d 0a 61 6c CatW StrCat;..al
4410: 69 61 73 20 53 74 72 43 61 74 42 75 66 66 57 20 ias StrCatBuffW
4420: 53 74 72 43 61 74 42 75 66 66 3b 0d 0a 61 6c 69 StrCatBuff;..ali
4430: 61 73 20 53 74 72 43 68 72 57 20 53 74 72 43 68 as StrChrW StrCh
4440: 72 3b 0d 0a 61 6c 69 61 73 20 53 74 72 43 68 72 r;..alias StrChr
4450: 49 57 20 53 74 72 43 68 72 49 3b 0d 0a 61 6c 69 IW StrChrI;..ali
4460: 61 73 20 53 74 72 43 6d 70 57 20 53 74 72 43 6d as StrCmpW StrCm
4470: 70 3b 0d 0a 61 6c 69 61 73 20 53 74 72 43 6d 70 p;..alias StrCmp
4480: 49 57 20 53 74 72 43 6d 70 49 3b 0d 0a 61 6c 69 IW StrCmpI;..ali
4490: 61 73 20 53 74 72 43 6d 70 4e 49 57 20 53 74 72 as StrCmpNIW Str
44a0: 43 6d 70 4e 49 3b 0d 0a 61 6c 69 61 73 20 53 74 CmpNI;..alias St
44b0: 72 43 6d 70 4e 57 20 53 74 72 43 6d 70 4e 3b 0d rCmpNW StrCmpN;.
44c0: 0a 61 6c 69 61 73 20 53 74 72 43 70 79 4e 57 20 .alias StrCpyNW
44d0: 53 74 72 43 70 79 4e 3b 0d 0a 61 6c 69 61 73 20 StrCpyN;..alias
44e0: 53 74 72 43 70 79 57 20 53 74 72 43 70 79 3b 0d StrCpyW StrCpy;.
44f0: 0a 61 6c 69 61 73 20 53 74 72 43 53 70 6e 49 57 .alias StrCSpnIW
4500: 20 53 74 72 43 53 70 6e 49 3b 0d 0a 61 6c 69 61 StrCSpnI;..alia
4510: 73 20 53 74 72 43 53 70 6e 57 20 53 74 72 43 53 s StrCSpnW StrCS
4520: 70 6e 3b 0d 0a 61 6c 69 61 73 20 53 74 72 44 75 pn;..alias StrDu
4530: 70 57 20 53 74 72 44 75 70 3b 0d 0a 61 6c 69 61 pW StrDup;..alia
4540: 73 20 53 74 72 46 6f 72 6d 61 74 42 79 74 65 53 s StrFormatByteS
4550: 69 7a 65 57 20 53 74 72 46 6f 72 6d 61 74 42 79 izeW StrFormatBy
4560: 74 65 53 69 7a 65 3b 0d 0a 61 6c 69 61 73 20 53 teSize;..alias S
4570: 74 72 46 6f 72 6d 61 74 4b 42 53 69 7a 65 57 20 trFormatKBSizeW
4580: 53 74 72 46 6f 72 6d 61 74 4b 42 53 69 7a 65 3b StrFormatKBSize;
4590: 0d 0a 61 6c 69 61 73 20 53 74 72 46 72 6f 6d 54 ..alias StrFromT
45a0: 69 6d 65 49 6e 74 65 72 76 61 6c 57 20 53 74 72 imeIntervalW Str
45b0: 46 72 6f 6d 54 69 6d 65 49 6e 74 65 72 76 61 6c FromTimeInterval
45c0: 3b 0d 0a 61 6c 69 61 73 20 53 74 72 49 73 49 6e ;..alias StrIsIn
45d0: 74 6c 45 71 75 61 6c 57 20 53 74 72 49 73 49 6e tlEqualW StrIsIn
45e0: 74 6c 45 71 75 61 6c 3b 0d 0a 61 6c 69 61 73 20 tlEqual;..alias
45f0: 53 74 72 4e 43 61 74 57 20 53 74 72 4e 43 61 74 StrNCatW StrNCat
4600: 3b 0d 0a 61 6c 69 61 73 20 53 74 72 50 42 72 6b ;..alias StrPBrk
4610: 57 20 53 74 72 50 42 72 6b 3b 0d 0a 61 6c 69 61 W StrPBrk;..alia
4620: 73 20 53 74 72 52 43 68 72 57 20 53 74 72 52 43 s StrRChrW StrRC
4630: 68 72 3b 0d 0a 61 6c 69 61 73 20 53 74 72 52 43 hr;..alias StrRC
4640: 68 72 49 57 20 53 74 72 52 43 68 72 49 3b 0d 0a hrIW StrRChrI;..
4650: 61 6c 69 61 73 20 53 74 72 52 65 74 54 6f 42 75 alias StrRetToBu
4660: 66 57 20 53 74 72 52 65 74 54 6f 42 75 66 3b 0d fW StrRetToBuf;.
4670: 0a 61 6c 69 61 73 20 53 74 72 52 65 74 54 6f 53 .alias StrRetToS
4680: 74 72 57 20 53 74 72 52 65 74 54 6f 53 74 72 3b trW StrRetToStr;
4690: 0d 0a 61 6c 69 61 73 20 53 74 72 52 53 74 72 49 ..alias StrRStrI
46a0: 57 20 53 74 72 52 53 74 72 49 3b 0d 0a 61 6c 69 W StrRStrI;..ali
46b0: 61 73 20 53 74 72 53 70 6e 57 20 53 74 72 53 70 as StrSpnW StrSp
46c0: 6e 3b 0d 0a 61 6c 69 61 73 20 53 74 72 53 74 72 n;..alias StrStr
46d0: 49 57 20 53 74 72 53 74 72 49 3b 0d 0a 61 6c 69 IW StrStrI;..ali
46e0: 61 73 20 53 74 72 53 74 72 57 20 53 74 72 53 74 as StrStrW StrSt
46f0: 72 3b 0d 0a 61 6c 69 61 73 20 53 74 72 54 6f 49 r;..alias StrToI
4700: 6e 74 57 20 53 74 72 54 6f 49 6e 74 3b 0d 0a 61 ntW StrToInt;..a
4710: 6c 69 61 73 20 53 74 72 54 6f 49 6e 74 45 78 57 lias StrToIntExW
4720: 20 53 74 72 54 6f 49 6e 74 45 78 3b 0d 0a 61 6c StrToIntEx;..al
4730: 69 61 73 20 53 74 72 54 72 69 6d 57 20 53 74 72 ias StrTrimW Str
4740: 54 72 69 6d 3b 0d 0a 61 6c 69 61 73 20 50 61 74 Trim;..alias Pat
4750: 68 41 64 64 42 61 63 6b 73 6c 61 73 68 57 20 50 hAddBackslashW P
4760: 61 74 68 41 64 64 42 61 63 6b 73 6c 61 73 68 3b athAddBackslash;
4770: 0d 0a 61 6c 69 61 73 20 50 61 74 68 41 64 64 45 ..alias PathAddE
4780: 78 74 65 6e 73 69 6f 6e 57 20 50 61 74 68 41 64 xtensionW PathAd
4790: 64 45 78 74 65 6e 73 69 6f 6e 3b 0d 0a 61 6c 69 dExtension;..ali
47a0: 61 73 20 50 61 74 68 41 70 70 65 6e 64 57 20 50 as PathAppendW P
47b0: 61 74 68 41 70 70 65 6e 64 3b 0d 0a 61 6c 69 61 athAppend;..alia
47c0: 73 20 50 61 74 68 42 75 69 6c 64 52 6f 6f 74 57 s PathBuildRootW
47d0: 20 50 61 74 68 42 75 69 6c 64 52 6f 6f 74 3b 0d PathBuildRoot;.
47e0: 0a 61 6c 69 61 73 20 50 61 74 68 43 61 6e 6f 6e .alias PathCanon
47f0: 69 63 61 6c 69 7a 65 57 20 50 61 74 68 43 61 6e icalizeW PathCan
4800: 6f 6e 69 63 61 6c 69 7a 65 3b 0d 0a 61 6c 69 61 onicalize;..alia
4810: 73 20 50 61 74 68 43 6f 6d 62 69 6e 65 57 20 50 s PathCombineW P
4820: 61 74 68 43 6f 6d 62 69 6e 65 3b 0d 0a 61 6c 69 athCombine;..ali
4830: 61 73 20 50 61 74 68 43 6f 6d 6d 6f 6e 50 72 65 as PathCommonPre
4840: 66 69 78 57 20 50 61 74 68 43 6f 6d 6d 6f 6e 50 fixW PathCommonP
4850: 72 65 66 69 78 3b 0d 0a 61 6c 69 61 73 20 50 61 refix;..alias Pa
4860: 74 68 43 6f 6d 70 61 63 74 50 61 74 68 57 20 50 thCompactPathW P
4870: 61 74 68 43 6f 6d 70 61 63 74 50 61 74 68 3b 0d athCompactPath;.
4880: 0a 61 6c 69 61 73 20 50 61 74 68 43 6f 6d 70 61 .alias PathCompa
4890: 63 74 50 61 74 68 45 78 57 20 50 61 74 68 43 6f ctPathExW PathCo
48a0: 6d 70 61 63 74 50 61 74 68 45 78 3b 0d 0a 61 6c mpactPathEx;..al
48b0: 69 61 73 20 50 61 74 68 43 72 65 61 74 65 46 72 ias PathCreateFr
48c0: 6f 6d 55 72 6c 57 20 50 61 74 68 43 72 65 61 74 omUrlW PathCreat
48d0: 65 46 72 6f 6d 55 72 6c 3b 0d 0a 61 6c 69 61 73 eFromUrl;..alias
48e0: 20 50 61 74 68 46 69 6c 65 45 78 69 73 74 73 57 PathFileExistsW
48f0: 20 50 61 74 68 46 69 6c 65 45 78 69 73 74 73 3b PathFileExists;
4900: 0d 0a 61 6c 69 61 73 20 50 61 74 68 46 69 6e 64 ..alias PathFind
4910: 45 78 74 65 6e 73 69 6f 6e 57 20 50 61 74 68 46 ExtensionW PathF
4920: 69 6e 64 45 78 74 65 6e 73 69 6f 6e 3b 0d 0a 61 indExtension;..a
4930: 6c 69 61 73 20 50 61 74 68 46 69 6e 64 46 69 6c lias PathFindFil
4940: 65 4e 61 6d 65 57 20 50 61 74 68 46 69 6e 64 46 eNameW PathFindF
4950: 69 6c 65 4e 61 6d 65 3b 0d 0a 61 6c 69 61 73 20 ileName;..alias
4960: 50 61 74 68 46 69 6e 64 4e 65 78 74 43 6f 6d 70 PathFindNextComp
4970: 6f 6e 65 6e 74 57 20 50 61 74 68 46 69 6e 64 4e onentW PathFindN
4980: 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 3b 0d 0a 61 extComponent;..a
4990: 6c 69 61 73 20 50 61 74 68 46 69 6e 64 4f 6e 50 lias PathFindOnP
49a0: 61 74 68 57 20 50 61 74 68 46 69 6e 64 4f 6e 50 athW PathFindOnP
49b0: 61 74 68 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 ath;..alias Path
49c0: 46 69 6e 64 53 75 66 66 69 78 41 72 72 61 79 57 FindSuffixArrayW
49d0: 20 50 61 74 68 46 69 6e 64 53 75 66 66 69 78 41 PathFindSuffixA
49e0: 72 72 61 79 3b 0d 0a 61 6c 69 61 73 20 50 61 74 rray;..alias Pat
49f0: 68 47 65 74 41 72 67 73 57 20 50 61 74 68 47 65 hGetArgsW PathGe
4a00: 74 41 72 67 73 3b 0d 0a 61 6c 69 61 73 20 50 61 tArgs;..alias Pa
4a10: 74 68 47 65 74 43 68 61 72 54 79 70 65 57 20 50 thGetCharTypeW P
4a20: 61 74 68 47 65 74 43 68 61 72 54 79 70 65 3b 0d athGetCharType;.
4a30: 0a 61 6c 69 61 73 20 50 61 74 68 47 65 74 44 72 .alias PathGetDr
4a40: 69 76 65 4e 75 6d 62 65 72 57 20 50 61 74 68 47 iveNumberW PathG
4a50: 65 74 44 72 69 76 65 4e 75 6d 62 65 72 3b 0d 0a etDriveNumber;..
4a60: 61 6c 69 61 73 20 50 61 74 68 49 73 43 6f 6e 74 alias PathIsCont
4a70: 65 6e 74 54 79 70 65 57 20 50 61 74 68 49 73 43 entTypeW PathIsC
4a80: 6f 6e 74 65 6e 74 54 79 70 65 3b 0d 0a 61 6c 69 ontentType;..ali
4a90: 61 73 20 50 61 74 68 49 73 44 69 72 65 63 74 6f as PathIsDirecto
4aa0: 72 79 45 6d 70 74 79 57 20 50 61 74 68 49 73 44 ryEmptyW PathIsD
4ab0: 69 72 65 63 74 6f 72 79 45 6d 70 74 79 3b 0d 0a irectoryEmpty;..
4ac0: 61 6c 69 61 73 20 50 61 74 68 49 73 44 69 72 65 alias PathIsDire
4ad0: 63 74 6f 72 79 57 20 50 61 74 68 49 73 44 69 72 ctoryW PathIsDir
4ae0: 65 63 74 6f 72 79 3b 0d 0a 61 6c 69 61 73 20 50 ectory;..alias P
4af0: 61 74 68 49 73 46 69 6c 65 53 70 65 63 57 20 50 athIsFileSpecW P
4b00: 61 74 68 49 73 46 69 6c 65 53 70 65 63 3b 0d 0a athIsFileSpec;..
4b10: 61 6c 69 61 73 20 50 61 74 68 49 73 4c 46 4e 46 alias PathIsLFNF
4b20: 69 6c 65 53 70 65 63 57 20 50 61 74 68 49 73 4c ileSpecW PathIsL
4b30: 46 4e 46 69 6c 65 53 70 65 63 3b 0d 0a 61 6c 69 FNFileSpec;..ali
4b40: 61 73 20 50 61 74 68 49 73 4e 65 74 77 6f 72 6b as PathIsNetwork
4b50: 50 61 74 68 57 20 50 61 74 68 49 73 4e 65 74 77 PathW PathIsNetw
4b60: 6f 72 6b 50 61 74 68 3b 0d 0a 61 6c 69 61 73 20 orkPath;..alias
4b70: 50 61 74 68 49 73 50 72 65 66 69 78 57 20 50 61 PathIsPrefixW Pa
4b80: 74 68 49 73 50 72 65 66 69 78 3b 0d 0a 61 6c 69 thIsPrefix;..ali
4b90: 61 73 20 50 61 74 68 49 73 52 65 6c 61 74 69 76 as PathIsRelativ
4ba0: 65 57 20 50 61 74 68 49 73 52 65 6c 61 74 69 76 eW PathIsRelativ
4bb0: 65 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 73 e;..alias PathIs
4bc0: 52 6f 6f 74 57 20 50 61 74 68 49 73 52 6f 6f 74 RootW PathIsRoot
4bd0: 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 73 53 ;..alias PathIsS
4be0: 61 6d 65 52 6f 6f 74 57 20 50 61 74 68 49 73 53 ameRootW PathIsS
4bf0: 61 6d 65 52 6f 6f 74 3b 0d 0a 61 6c 69 61 73 20 ameRoot;..alias
4c00: 50 61 74 68 49 73 53 79 73 74 65 6d 46 6f 6c 64 PathIsSystemFold
4c10: 65 72 57 20 50 61 74 68 49 73 53 79 73 74 65 6d erW PathIsSystem
4c20: 46 6f 6c 64 65 72 3b 0d 0a 61 6c 69 61 73 20 50 Folder;..alias P
4c30: 61 74 68 49 73 55 4e 43 53 65 72 76 65 72 53 68 athIsUNCServerSh
4c40: 61 72 65 57 20 50 61 74 68 49 73 55 4e 43 53 65 areW PathIsUNCSe
4c50: 72 76 65 72 53 68 61 72 65 3b 0d 0a 61 6c 69 61 rverShare;..alia
4c60: 73 20 50 61 74 68 49 73 55 4e 43 53 65 72 76 65 s PathIsUNCServe
4c70: 72 57 20 50 61 74 68 49 73 55 4e 43 53 65 72 76 rW PathIsUNCServ
4c80: 65 72 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 er;..alias PathI
4c90: 73 55 4e 43 57 20 50 61 74 68 49 73 55 4e 43 3b sUNCW PathIsUNC;
4ca0: 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 73 55 52 ..alias PathIsUR
4cb0: 4c 57 20 50 61 74 68 49 73 55 52 4c 3b 0d 0a 61 LW PathIsURL;..a
4cc0: 6c 69 61 73 20 50 61 74 68 4d 61 6b 65 50 72 65 lias PathMakePre
4cd0: 74 74 79 57 20 50 61 74 68 4d 61 6b 65 50 72 65 ttyW PathMakePre
4ce0: 74 74 79 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 tty;..alias Path
4cf0: 4d 61 6b 65 53 79 73 74 65 6d 46 6f 6c 64 65 72 MakeSystemFolder
4d00: 57 20 50 61 74 68 4d 61 6b 65 53 79 73 74 65 6d W PathMakeSystem
4d10: 46 6f 6c 64 65 72 3b 0d 0a 61 6c 69 61 73 20 50 Folder;..alias P
4d20: 61 74 68 4d 61 74 63 68 53 70 65 63 57 20 50 61 athMatchSpecW Pa
4d30: 74 68 4d 61 74 63 68 53 70 65 63 3b 0d 0a 61 6c thMatchSpec;..al
4d40: 69 61 73 20 50 61 74 68 50 61 72 73 65 49 63 6f ias PathParseIco
4d50: 6e 4c 6f 63 61 74 69 6f 6e 57 20 50 61 74 68 50 nLocationW PathP
4d60: 61 72 73 65 49 63 6f 6e 4c 6f 63 61 74 69 6f 6e arseIconLocation
4d70: 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 51 75 6f ;..alias PathQuo
4d80: 74 65 53 70 61 63 65 73 57 20 50 61 74 68 51 75 teSpacesW PathQu
4d90: 6f 74 65 53 70 61 63 65 73 3b 0d 0a 61 6c 69 61 oteSpaces;..alia
4da0: 73 20 50 61 74 68 52 65 6c 61 74 69 76 65 50 61 s PathRelativePa
4db0: 74 68 54 6f 57 20 50 61 74 68 52 65 6c 61 74 69 thToW PathRelati
4dc0: 76 65 50 61 74 68 54 6f 3b 0d 0a 61 6c 69 61 73 vePathTo;..alias
4dd0: 20 50 61 74 68 52 65 6d 6f 76 65 41 72 67 73 57 PathRemoveArgsW
4de0: 20 50 61 74 68 52 65 6d 6f 76 65 41 72 67 73 3b PathRemoveArgs;
4df0: 0d 0a 61 6c 69 61 73 20 50 61 74 68 52 65 6d 6f ..alias PathRemo
4e00: 76 65 42 61 63 6b 73 6c 61 73 68 57 20 50 61 74 veBackslashW Pat
4e10: 68 52 65 6d 6f 76 65 42 61 63 6b 73 6c 61 73 68 hRemoveBackslash
4e20: 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 52 65 6d ;..alias PathRem
4e30: 6f 76 65 42 6c 61 6e 6b 73 57 20 50 61 74 68 52 oveBlanksW PathR
4e40: 65 6d 6f 76 65 42 6c 61 6e 6b 73 3b 0d 0a 61 6c emoveBlanks;..al
4e50: 69 61 73 20 50 61 74 68 52 65 6d 6f 76 65 45 78 ias PathRemoveEx
4e60: 74 65 6e 73 69 6f 6e 57 20 50 61 74 68 52 65 6d tensionW PathRem
4e70: 6f 76 65 45 78 74 65 6e 73 69 6f 6e 3b 0d 0a 61 oveExtension;..a
4e80: 6c 69 61 73 20 50 61 74 68 52 65 6d 6f 76 65 46 lias PathRemoveF
4e90: 69 6c 65 53 70 65 63 57 20 50 61 74 68 52 65 6d ileSpecW PathRem
4ea0: 6f 76 65 46 69 6c 65 53 70 65 63 3b 0d 0a 61 6c oveFileSpec;..al
4eb0: 69 61 73 20 50 61 74 68 52 65 6e 61 6d 65 45 78 ias PathRenameEx
4ec0: 74 65 6e 73 69 6f 6e 57 20 50 61 74 68 52 65 6e tensionW PathRen
4ed0: 61 6d 65 45 78 74 65 6e 73 69 6f 6e 3b 0d 0a 61 ameExtension;..a
4ee0: 6c 69 61 73 20 50 61 74 68 53 65 61 72 63 68 41 lias PathSearchA
4ef0: 6e 64 51 75 61 6c 69 66 79 57 20 50 61 74 68 53 ndQualifyW PathS
4f00: 65 61 72 63 68 41 6e 64 51 75 61 6c 69 66 79 3b earchAndQualify;
4f10: 0d 0a 61 6c 69 61 73 20 50 61 74 68 53 65 74 44 ..alias PathSetD
4f20: 6c 67 49 74 65 6d 50 61 74 68 57 20 50 61 74 68 lgItemPathW Path
4f30: 53 65 74 44 6c 67 49 74 65 6d 50 61 74 68 3b 0d SetDlgItemPath;.
4f40: 0a 61 6c 69 61 73 20 50 61 74 68 53 6b 69 70 52 .alias PathSkipR
4f50: 6f 6f 74 57 20 50 61 74 68 53 6b 69 70 52 6f 6f ootW PathSkipRoo
4f60: 74 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 53 74 t;..alias PathSt
4f70: 72 69 70 50 61 74 68 57 20 50 61 74 68 53 74 72 ripPathW PathStr
4f80: 69 70 50 61 74 68 3b 0d 0a 61 6c 69 61 73 20 50 ipPath;..alias P
4f90: 61 74 68 53 74 72 69 70 54 6f 52 6f 6f 74 57 20 athStripToRootW
4fa0: 50 61 74 68 53 74 72 69 70 54 6f 52 6f 6f 74 3b PathStripToRoot;
4fb0: 0d 0a 61 6c 69 61 73 20 50 61 74 68 55 6e 64 65 ..alias PathUnde
4fc0: 63 6f 72 61 74 65 57 20 50 61 74 68 55 6e 64 65 corateW PathUnde
4fd0: 63 6f 72 61 74 65 3b 0d 0a 61 6c 69 61 73 20 50 corate;..alias P
4fe0: 61 74 68 55 6e 45 78 70 61 6e 64 45 6e 76 53 74 athUnExpandEnvSt
4ff0: 72 69 6e 67 73 57 20 50 61 74 68 55 6e 45 78 70 ringsW PathUnExp
5000: 61 6e 64 45 6e 76 53 74 72 69 6e 67 73 3b 0d 0a andEnvStrings;..
5010: 61 6c 69 61 73 20 50 61 74 68 55 6e 6d 61 6b 65 alias PathUnmake
5020: 53 79 73 74 65 6d 46 6f 6c 64 65 72 57 20 50 61 SystemFolderW Pa
5030: 74 68 55 6e 6d 61 6b 65 53 79 73 74 65 6d 46 6f thUnmakeSystemFo
5040: 6c 64 65 72 3b 0d 0a 61 6c 69 61 73 20 50 61 74 lder;..alias Pat
5050: 68 55 6e 71 75 6f 74 65 53 70 61 63 65 73 57 20 hUnquoteSpacesW
5060: 50 61 74 68 55 6e 71 75 6f 74 65 53 70 61 63 65 PathUnquoteSpace
5070: 73 3b 0d 0a 61 6c 69 61 73 20 53 48 43 72 65 61 s;..alias SHCrea
5080: 74 65 53 74 72 65 61 6d 4f 6e 46 69 6c 65 57 20 teStreamOnFileW
5090: 53 48 43 72 65 61 74 65 53 74 72 65 61 6d 4f 6e SHCreateStreamOn
50a0: 46 69 6c 65 3b 0d 0a 61 6c 69 61 73 20 53 48 4f File;..alias SHO
50b0: 70 65 6e 52 65 67 53 74 72 65 61 6d 57 20 53 48 penRegStreamW SH
50c0: 4f 70 65 6e 52 65 67 53 74 72 65 61 6d 3b 0d 0a OpenRegStream;..
50d0: 61 6c 69 61 73 20 53 48 4f 70 65 6e 52 65 67 53 alias SHOpenRegS
50e0: 74 72 65 61 6d 32 57 20 53 48 4f 70 65 6e 52 65 tream2W SHOpenRe
50f0: 67 53 74 72 65 61 6d 32 3b 0d 0a 61 6c 69 61 73 gStream2;..alias
5100: 20 53 48 43 6f 70 79 4b 65 79 57 20 53 48 43 6f SHCopyKeyW SHCo
5110: 70 79 4b 65 79 3b 0d 0a 61 6c 69 61 73 20 53 48 pyKey;..alias SH
5120: 44 65 6c 65 74 65 45 6d 70 74 79 4b 65 79 57 20 DeleteEmptyKeyW
5130: 53 48 44 65 6c 65 74 65 45 6d 70 74 79 4b 65 79 SHDeleteEmptyKey
5140: 3b 0d 0a 61 6c 69 61 73 20 53 48 44 65 6c 65 74 ;..alias SHDelet
5150: 65 4b 65 79 57 20 53 48 44 65 6c 65 74 65 4b 65 eKeyW SHDeleteKe
5160: 79 3b 0d 0a 61 6c 69 61 73 20 53 48 45 6e 75 6d y;..alias SHEnum
5170: 4b 65 79 45 78 57 20 53 48 45 6e 75 6d 4b 65 79 KeyExW SHEnumKey
5180: 45 78 3b 0d 0a 61 6c 69 61 73 20 53 48 51 75 65 Ex;..alias SHQue
5190: 72 79 49 6e 66 6f 4b 65 79 57 20 53 48 51 75 65 ryInfoKeyW SHQue
51a0: 72 79 49 6e 66 6f 4b 65 79 3b 0d 0a 61 6c 69 61 ryInfoKey;..alia
51b0: 73 20 53 48 51 75 65 72 79 56 61 6c 75 65 45 78 s SHQueryValueEx
51c0: 57 20 53 48 51 75 65 72 79 56 61 6c 75 65 45 78 W SHQueryValueEx
51d0: 3b 0d 0a 61 6c 69 61 73 20 53 48 45 6e 75 6d 56 ;..alias SHEnumV
51e0: 61 6c 75 65 57 20 53 48 45 6e 75 6d 56 61 6c 75 alueW SHEnumValu
51f0: 65 3b 0d 0a 61 6c 69 61 73 20 53 48 47 65 74 56 e;..alias SHGetV
5200: 61 6c 75 65 57 20 53 48 47 65 74 56 61 6c 75 65 alueW SHGetValue
5210: 3b 0d 0a 61 6c 69 61 73 20 53 48 53 65 74 56 61 ;..alias SHSetVa
5220: 6c 75 65 57 20 53 48 53 65 74 56 61 6c 75 65 3b lueW SHSetValue;
5230: 0d 0a 61 6c 69 61 73 20 53 48 44 65 6c 65 74 65 ..alias SHDelete
5240: 56 61 6c 75 65 57 20 53 48 44 65 6c 65 74 65 56 ValueW SHDeleteV
5250: 61 6c 75 65 3b 0d 0a 61 6c 69 61 73 20 41 73 73 alue;..alias Ass
5260: 6f 63 51 75 65 72 79 4b 65 79 57 20 41 73 73 6f ocQueryKeyW Asso
5270: 63 51 75 65 72 79 4b 65 79 3b 0d 0a 61 6c 69 61 cQueryKey;..alia
5280: 73 20 41 73 73 6f 63 51 75 65 72 79 53 74 72 69 s AssocQueryStri
5290: 6e 67 42 79 4b 65 79 57 20 41 73 73 6f 63 51 75 ngByKeyW AssocQu
52a0: 65 72 79 53 74 72 69 6e 67 42 79 4b 65 79 3b 0d eryStringByKey;.
52b0: 0a 61 6c 69 61 73 20 41 73 73 6f 63 51 75 65 72 .alias AssocQuer
52c0: 79 53 74 72 69 6e 67 57 20 41 73 73 6f 63 51 75 yStringW AssocQu
52d0: 65 72 79 53 74 72 69 6e 67 3b 0d 0a 61 6c 69 61 eryString;..alia
52e0: 73 20 55 72 6c 41 70 70 6c 79 53 63 68 65 6d 65 s UrlApplyScheme
52f0: 57 20 55 72 6c 41 70 70 6c 79 53 63 68 65 6d 65 W UrlApplyScheme
5300: 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 43 61 6e 6f ;..alias UrlCano
5310: 6e 69 63 61 6c 69 7a 65 57 20 55 72 6c 43 61 6e nicalizeW UrlCan
5320: 6f 6e 69 63 61 6c 69 7a 65 3b 0d 0a 61 6c 69 61 onicalize;..alia
5330: 73 20 55 72 6c 43 6f 6d 62 69 6e 65 57 20 55 72 s UrlCombineW Ur
5340: 6c 43 6f 6d 62 69 6e 65 3b 0d 0a 61 6c 69 61 73 lCombine;..alias
5350: 20 55 72 6c 43 6f 6d 70 61 72 65 57 20 55 72 6c UrlCompareW Url
5360: 43 6f 6d 70 61 72 65 3b 0d 0a 61 6c 69 61 73 20 Compare;..alias
5370: 55 72 6c 43 72 65 61 74 65 46 72 6f 6d 50 61 74 UrlCreateFromPat
5380: 68 57 20 55 72 6c 43 72 65 61 74 65 46 72 6f 6d hW UrlCreateFrom
5390: 50 61 74 68 3b 0d 0a 61 6c 69 61 73 20 55 72 6c Path;..alias Url
53a0: 45 73 63 61 70 65 57 20 55 72 6c 45 73 63 61 70 EscapeW UrlEscap
53b0: 65 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 47 65 74 e;..alias UrlGet
53c0: 4c 6f 63 61 74 69 6f 6e 57 20 55 72 6c 47 65 74 LocationW UrlGet
53d0: 4c 6f 63 61 74 69 6f 6e 3b 0d 0a 61 6c 69 61 73 Location;..alias
53e0: 20 55 72 6c 47 65 74 50 61 72 74 57 20 55 72 6c UrlGetPartW Url
53f0: 47 65 74 50 61 72 74 3b 0d 0a 61 6c 69 61 73 20 GetPart;..alias
5400: 55 72 6c 48 61 73 68 57 20 55 72 6c 48 61 73 68 UrlHashW UrlHash
5410: 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 49 73 57 20 ;..alias UrlIsW
5420: 55 72 6c 49 73 3b 0d 0a 61 6c 69 61 73 20 55 72 UrlIs;..alias Ur
5430: 6c 49 73 46 69 6c 65 55 72 6c 57 20 55 72 6c 49 lIsFileUrlW UrlI
5440: 73 46 69 6c 65 55 72 6c 3b 0d 0a 61 6c 69 61 73 sFileUrl;..alias
5450: 20 55 72 6c 49 73 4e 6f 48 69 73 74 6f 72 79 57 UrlIsNoHistoryW
5460: 20 55 72 6c 49 73 4e 6f 48 69 73 74 6f 72 79 3b UrlIsNoHistory;
5470: 0d 0a 61 6c 69 61 73 20 55 72 6c 49 73 4f 70 61 ..alias UrlIsOpa
5480: 71 75 65 57 20 55 72 6c 49 73 4f 70 61 71 75 65 queW UrlIsOpaque
5490: 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 55 6e 65 73 ;..alias UrlUnes
54a0: 63 61 70 65 57 20 55 72 6c 55 6e 65 73 63 61 70 capeW UrlUnescap
54b0: 65 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 55 6e 65 e;..alias UrlUne
54c0: 73 63 61 70 65 49 6e 50 6c 61 63 65 57 20 55 72 scapeInPlaceW Ur
54d0: 6c 55 6e 65 73 63 61 70 65 49 6e 50 6c 61 63 65 lUnescapeInPlace
54e0: 3b 0d 0a 61 6c 69 61 73 20 53 48 52 65 67 43 72 ;..alias SHRegCr
54f0: 65 61 74 65 55 53 4b 65 79 57 20 53 48 52 65 67 eateUSKeyW SHReg
5500: 43 72 65 61 74 65 55 53 4b 65 79 3b 0d 0a 61 6c CreateUSKey;..al
5510: 69 61 73 20 53 48 52 65 67 44 65 6c 65 74 65 45 ias SHRegDeleteE
5520: 6d 70 74 79 55 53 4b 65 79 57 20 53 48 52 65 67 mptyUSKeyW SHReg
5530: 44 65 6c 65 74 65 45 6d 70 74 79 55 53 4b 65 79 DeleteEmptyUSKey
5540: 3b 0d 0a 61 6c 69 61 73 20 53 48 52 65 67 44 65 ;..alias SHRegDe
5550: 6c 65 74 65 55 53 56 61 6c 75 65 57 20 53 48 52 leteUSValueW SHR
5560: 65 67 44 65 6c 65 74 65 55 53 56 61 6c 75 65 3b egDeleteUSValue;
5570: 0d 0a 61 6c 69 61 73 20 53 48 52 65 67 45 6e 75 ..alias SHRegEnu
5580: 6d 55 53 4b 65 79 57 20 53 48 52 65 67 45 6e 75 mUSKeyW SHRegEnu
5590: 6d 55 53 4b 65 79 3b 0d 0a 61 6c 69 61 73 20 53 mUSKey;..alias S
55a0: 48 52 65 67 45 6e 75 6d 55 53 56 61 6c 75 65 57 HRegEnumUSValueW
55b0: 20 53 48 52 65 67 45 6e 75 6d 55 53 56 61 6c 75 SHRegEnumUSValu
55c0: 65 3b 0d 0a 61 6c 69 61 73 20 53 48 52 65 67 47 e;..alias SHRegG
55d0: 65 74 42 6f 6f 6c 55 53 56 61 6c 75 65 57 20 53 etBoolUSValueW S
55e0: 48 52 65 67 47 65 74 42 6f 6f 6c 55 53 56 61 6c HRegGetBoolUSVal
55f0: 75 65 3b 0d 0a 61 6c 69 61 73 20 53 48 52 65 67 ue;..alias SHReg
5600: 47 65 74 50 61 74 68 57 20 53 48 52 65 67 47 65 GetPathW SHRegGe
5610: 74 50 61 74 68 3b 0d 0a 61 6c 69 61 73 20 53 48 tPath;..alias SH
5620: 52 65 67 47 65 74 55 53 56 61 6c 75 65 57 20 53 RegGetUSValueW S
5630: 48 52 65 67 47 65 74 55 53 56 61 6c 75 65 3b 0d HRegGetUSValue;.
5640: 0a 61 6c 69 61 73 20 53 48 52 65 67 4f 70 65 6e .alias SHRegOpen
5650: 55 53 4b 65 79 57 20 53 48 52 65 67 4f 70 65 6e USKeyW SHRegOpen
5660: 55 53 4b 65 79 3b 0d 0a 61 6c 69 61 73 20 53 48 USKey;..alias SH
5670: 52 65 67 51 75 65 72 79 49 6e 66 6f 55 53 4b 65 RegQueryInfoUSKe
5680: 79 57 20 53 48 52 65 67 51 75 65 72 79 49 6e 66 yW SHRegQueryInf
5690: 6f 55 53 4b 65 79 3b 0d 0a 61 6c 69 61 73 20 53 oUSKey;..alias S
56a0: 48 52 65 67 51 75 65 72 79 55 53 56 61 6c 75 65 HRegQueryUSValue
56b0: 57 20 53 48 52 65 67 51 75 65 72 79 55 53 56 61 W SHRegQueryUSVa
56c0: 6c 75 65 3b 0d 0a 61 6c 69 61 73 20 53 48 52 65 lue;..alias SHRe
56d0: 67 53 65 74 50 61 74 68 57 20 53 48 52 65 67 53 gSetPathW SHRegS
56e0: 65 74 50 61 74 68 3b 0d 0a 61 6c 69 61 73 20 53 etPath;..alias S
56f0: 48 52 65 67 53 65 74 55 53 56 61 6c 75 65 57 20 HRegSetUSValueW
5700: 53 48 52 65 67 53 65 74 55 53 56 61 6c 75 65 3b SHRegSetUSValue;
5710: 0d 0a 61 6c 69 61 73 20 53 48 52 65 67 57 72 69 ..alias SHRegWri
5720: 74 65 55 53 56 61 6c 75 65 57 20 53 48 52 65 67 teUSValueW SHReg
5730: 57 72 69 74 65 55 53 56 61 6c 75 65 3b 0d 0a 2f WriteUSValue;../
5740: 2f 61 6c 69 61 73 20 77 6e 73 70 72 69 6e 74 66 /alias wnsprintf
5750: 57 20 77 6e 73 70 72 69 6e 74 66 3b 0d 0a 2f 2f W wnsprintf;..//
5760: 61 6c 69 61 73 20 77 76 6e 73 70 72 69 6e 74 66 alias wvnsprintf
5770: 57 20 77 76 6e 73 70 72 69 6e 74 66 3b 0d 0a 7d W wvnsprintf;..}
5780: 20 65 6c 73 65 20 7b 0d 0a 61 6c 69 61 73 20 43 else {..alias C
5790: 68 72 43 6d 70 49 41 20 43 68 72 43 6d 70 49 3b hrCmpIA ChrCmpI;
57a0: 0d 0a 61 6c 69 61 73 20 49 6e 74 6c 53 74 72 45 ..alias IntlStrE
57b0: 71 4e 41 20 49 6e 74 6c 53 74 72 45 71 4e 3b 0d qNA IntlStrEqN;.
57c0: 0a 61 6c 69 61 73 20 49 6e 74 6c 53 74 72 45 71 .alias IntlStrEq
57d0: 4e 49 41 20 49 6e 74 6c 53 74 72 45 71 4e 49 3b NIA IntlStrEqNI;
57e0: 0d 0a 61 6c 69 61 73 20 49 6e 74 6c 53 74 72 45 ..alias IntlStrE
57f0: 71 57 6f 72 6b 65 72 41 20 49 6e 74 6c 53 74 72 qWorkerA IntlStr
5800: 45 71 57 6f 72 6b 65 72 3b 0d 0a 61 6c 69 61 73 EqWorker;..alias
5810: 20 53 48 53 74 72 44 75 70 41 20 53 48 53 74 72 SHStrDupA SHStr
5820: 44 75 70 3b 0d 0a 61 6c 69 61 73 20 53 74 72 43 Dup;..alias StrC
5830: 61 74 42 75 66 66 41 20 53 74 72 43 61 74 42 75 atBuffA StrCatBu
5840: 66 66 3b 0d 0a 61 6c 69 61 73 20 53 74 72 43 68 ff;..alias StrCh
5850: 72 41 20 53 74 72 43 68 72 3b 0d 0a 61 6c 69 61 rA StrChr;..alia
5860: 73 20 53 74 72 43 68 72 49 41 20 53 74 72 43 68 s StrChrIA StrCh
5870: 72 49 3b 0d 0a 61 6c 69 61 73 20 53 74 72 43 6d rI;..alias StrCm
5880: 70 4e 49 41 20 53 74 72 43 6d 70 4e 49 3b 0d 0a pNIA StrCmpNI;..
5890: 61 6c 69 61 73 20 53 74 72 43 6d 70 4e 41 20 53 alias StrCmpNA S
58a0: 74 72 43 6d 70 4e 3b 0d 0a 61 6c 69 61 73 20 53 trCmpN;..alias S
58b0: 74 72 43 53 70 6e 49 41 20 53 74 72 43 53 70 6e trCSpnIA StrCSpn
58c0: 49 3b 0d 0a 61 6c 69 61 73 20 53 74 72 43 53 70 I;..alias StrCSp
58d0: 6e 41 20 53 74 72 43 53 70 6e 3b 0d 0a 61 6c 69 nA StrCSpn;..ali
58e0: 61 73 20 53 74 72 44 75 70 41 20 53 74 72 44 75 as StrDupA StrDu
58f0: 70 3b 0d 0a 61 6c 69 61 73 20 53 74 72 46 6f 72 p;..alias StrFor
5900: 6d 61 74 42 79 74 65 53 69 7a 65 41 20 53 74 72 matByteSizeA Str
5910: 46 6f 72 6d 61 74 42 79 74 65 53 69 7a 65 3b 0d FormatByteSize;.
5920: 0a 61 6c 69 61 73 20 53 74 72 46 6f 72 6d 61 74 .alias StrFormat
5930: 4b 42 53 69 7a 65 41 20 53 74 72 46 6f 72 6d 61 KBSizeA StrForma
5940: 74 4b 42 53 69 7a 65 3b 0d 0a 61 6c 69 61 73 20 tKBSize;..alias
5950: 53 74 72 46 72 6f 6d 54 69 6d 65 49 6e 74 65 72 StrFromTimeInter
5960: 76 61 6c 41 20 53 74 72 46 72 6f 6d 54 69 6d 65 valA StrFromTime
5970: 49 6e 74 65 72 76 61 6c 3b 0d 0a 61 6c 69 61 73 Interval;..alias
5980: 20 53 74 72 49 73 49 6e 74 6c 45 71 75 61 6c 41 StrIsIntlEqualA
5990: 20 53 74 72 49 73 49 6e 74 6c 45 71 75 61 6c 3b StrIsIntlEqual;
59a0: 0d 0a 61 6c 69 61 73 20 53 74 72 4e 43 61 74 41 ..alias StrNCatA
59b0: 20 53 74 72 4e 43 61 74 3b 0d 0a 61 6c 69 61 73 StrNCat;..alias
59c0: 20 53 74 72 50 42 72 6b 41 20 53 74 72 50 42 72 StrPBrkA StrPBr
59d0: 6b 3b 0d 0a 61 6c 69 61 73 20 53 74 72 52 43 68 k;..alias StrRCh
59e0: 72 41 20 53 74 72 52 43 68 72 3b 0d 0a 61 6c 69 rA StrRChr;..ali
59f0: 61 73 20 53 74 72 52 43 68 72 49 41 20 53 74 72 as StrRChrIA Str
5a00: 52 43 68 72 49 3b 0d 0a 61 6c 69 61 73 20 53 74 RChrI;..alias St
5a10: 72 52 65 74 54 6f 42 75 66 41 20 53 74 72 52 65 rRetToBufA StrRe
5a20: 74 54 6f 42 75 66 3b 0d 0a 61 6c 69 61 73 20 53 tToBuf;..alias S
5a30: 74 72 52 65 74 54 6f 53 74 72 41 20 53 74 72 52 trRetToStrA StrR
5a40: 65 74 54 6f 53 74 72 3b 0d 0a 61 6c 69 61 73 20 etToStr;..alias
5a50: 53 74 72 52 53 74 72 49 41 20 53 74 72 52 53 74 StrRStrIA StrRSt
5a60: 72 49 3b 0d 0a 61 6c 69 61 73 20 53 74 72 53 70 rI;..alias StrSp
5a70: 6e 41 20 53 74 72 53 70 6e 3b 0d 0a 61 6c 69 61 nA StrSpn;..alia
5a80: 73 20 53 74 72 53 74 72 49 41 20 53 74 72 53 74 s StrStrIA StrSt
5a90: 72 49 3b 0d 0a 61 6c 69 61 73 20 53 74 72 53 74 rI;..alias StrSt
5aa0: 72 41 20 53 74 72 53 74 72 3b 0d 0a 61 6c 69 61 rA StrStr;..alia
5ab0: 73 20 53 74 72 54 6f 49 6e 74 41 20 53 74 72 54 s StrToIntA StrT
5ac0: 6f 49 6e 74 3b 0d 0a 61 6c 69 61 73 20 53 74 72 oInt;..alias Str
5ad0: 54 6f 49 6e 74 45 78 41 20 53 74 72 54 6f 49 6e ToIntExA StrToIn
5ae0: 74 45 78 3b 0d 0a 61 6c 69 61 73 20 53 74 72 54 tEx;..alias StrT
5af0: 72 69 6d 41 20 53 74 72 54 72 69 6d 3b 0d 0a 61 rimA StrTrim;..a
5b00: 6c 69 61 73 20 50 61 74 68 41 64 64 42 61 63 6b lias PathAddBack
5b10: 73 6c 61 73 68 41 20 50 61 74 68 41 64 64 42 61 slashA PathAddBa
5b20: 63 6b 73 6c 61 73 68 3b 0d 0a 61 6c 69 61 73 20 ckslash;..alias
5b30: 50 61 74 68 41 64 64 45 78 74 65 6e 73 69 6f 6e PathAddExtension
5b40: 41 20 50 61 74 68 41 64 64 45 78 74 65 6e 73 69 A PathAddExtensi
5b50: 6f 6e 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 41 on;..alias PathA
5b60: 70 70 65 6e 64 41 20 50 61 74 68 41 70 70 65 6e ppendA PathAppen
5b70: 64 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 42 75 d;..alias PathBu
5b80: 69 6c 64 52 6f 6f 74 41 20 50 61 74 68 42 75 69 ildRootA PathBui
5b90: 6c 64 52 6f 6f 74 3b 0d 0a 61 6c 69 61 73 20 50 ldRoot;..alias P
5ba0: 61 74 68 43 61 6e 6f 6e 69 63 61 6c 69 7a 65 41 athCanonicalizeA
5bb0: 20 50 61 74 68 43 61 6e 6f 6e 69 63 61 6c 69 7a PathCanonicaliz
5bc0: 65 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 43 6f e;..alias PathCo
5bd0: 6d 62 69 6e 65 41 20 50 61 74 68 43 6f 6d 62 69 mbineA PathCombi
5be0: 6e 65 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 43 ne;..alias PathC
5bf0: 6f 6d 6d 6f 6e 50 72 65 66 69 78 41 20 50 61 74 ommonPrefixA Pat
5c00: 68 43 6f 6d 6d 6f 6e 50 72 65 66 69 78 3b 0d 0a hCommonPrefix;..
5c10: 61 6c 69 61 73 20 50 61 74 68 43 6f 6d 70 61 63 alias PathCompac
5c20: 74 50 61 74 68 41 20 50 61 74 68 43 6f 6d 70 61 tPathA PathCompa
5c30: 63 74 50 61 74 68 3b 0d 0a 61 6c 69 61 73 20 50 ctPath;..alias P
5c40: 61 74 68 43 6f 6d 70 61 63 74 50 61 74 68 45 78 athCompactPathEx
5c50: 41 20 50 61 74 68 43 6f 6d 70 61 63 74 50 61 74 A PathCompactPat
5c60: 68 45 78 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 hEx;..alias Path
5c70: 43 72 65 61 74 65 46 72 6f 6d 55 72 6c 41 20 50 CreateFromUrlA P
5c80: 61 74 68 43 72 65 61 74 65 46 72 6f 6d 55 72 6c athCreateFromUrl
5c90: 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 46 69 6c ;..alias PathFil
5ca0: 65 45 78 69 73 74 73 41 20 50 61 74 68 46 69 6c eExistsA PathFil
5cb0: 65 45 78 69 73 74 73 3b 0d 0a 61 6c 69 61 73 20 eExists;..alias
5cc0: 50 61 74 68 46 69 6e 64 45 78 74 65 6e 73 69 6f PathFindExtensio
5cd0: 6e 41 20 50 61 74 68 46 69 6e 64 45 78 74 65 6e nA PathFindExten
5ce0: 73 69 6f 6e 3b 0d 0a 61 6c 69 61 73 20 50 61 74 sion;..alias Pat
5cf0: 68 46 69 6e 64 46 69 6c 65 4e 61 6d 65 41 20 50 hFindFileNameA P
5d00: 61 74 68 46 69 6e 64 46 69 6c 65 4e 61 6d 65 3b athFindFileName;
5d10: 0d 0a 61 6c 69 61 73 20 50 61 74 68 46 69 6e 64 ..alias PathFind
5d20: 4e 65 78 74 43 6f 6d 70 6f 6e 65 6e 74 41 20 50 NextComponentA P
5d30: 61 74 68 46 69 6e 64 4e 65 78 74 43 6f 6d 70 6f athFindNextCompo
5d40: 6e 65 6e 74 3b 0d 0a 61 6c 69 61 73 20 50 61 74 nent;..alias Pat
5d50: 68 46 69 6e 64 4f 6e 50 61 74 68 41 20 50 61 74 hFindOnPathA Pat
5d60: 68 46 69 6e 64 4f 6e 50 61 74 68 3b 0d 0a 61 6c hFindOnPath;..al
5d70: 69 61 73 20 50 61 74 68 46 69 6e 64 53 75 66 66 ias PathFindSuff
5d80: 69 78 41 72 72 61 79 41 20 50 61 74 68 46 69 6e ixArrayA PathFin
5d90: 64 53 75 66 66 69 78 41 72 72 61 79 3b 0d 0a 61 dSuffixArray;..a
5da0: 6c 69 61 73 20 50 61 74 68 47 65 74 41 72 67 73 lias PathGetArgs
5db0: 41 20 50 61 74 68 47 65 74 41 72 67 73 3b 0d 0a A PathGetArgs;..
5dc0: 61 6c 69 61 73 20 50 61 74 68 47 65 74 43 68 61 alias PathGetCha
5dd0: 72 54 79 70 65 41 20 50 61 74 68 47 65 74 43 68 rTypeA PathGetCh
5de0: 61 72 54 79 70 65 3b 0d 0a 61 6c 69 61 73 20 50 arType;..alias P
5df0: 61 74 68 47 65 74 44 72 69 76 65 4e 75 6d 62 65 athGetDriveNumbe
5e00: 72 41 20 50 61 74 68 47 65 74 44 72 69 76 65 4e rA PathGetDriveN
5e10: 75 6d 62 65 72 3b 0d 0a 61 6c 69 61 73 20 50 61 umber;..alias Pa
5e20: 74 68 49 73 43 6f 6e 74 65 6e 74 54 79 70 65 41 thIsContentTypeA
5e30: 20 50 61 74 68 49 73 43 6f 6e 74 65 6e 74 54 79 PathIsContentTy
5e40: 70 65 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 pe;..alias PathI
5e50: 73 44 69 72 65 63 74 6f 72 79 45 6d 70 74 79 41 sDirectoryEmptyA
5e60: 20 50 61 74 68 49 73 44 69 72 65 63 74 6f 72 79 PathIsDirectory
5e70: 45 6d 70 74 79 3b 0d 0a 61 6c 69 61 73 20 50 61 Empty;..alias Pa
5e80: 74 68 49 73 44 69 72 65 63 74 6f 72 79 41 20 50 thIsDirectoryA P
5e90: 61 74 68 49 73 44 69 72 65 63 74 6f 72 79 3b 0d athIsDirectory;.
5ea0: 0a 61 6c 69 61 73 20 50 61 74 68 49 73 46 69 6c .alias PathIsFil
5eb0: 65 53 70 65 63 41 20 50 61 74 68 49 73 46 69 6c eSpecA PathIsFil
5ec0: 65 53 70 65 63 3b 0d 0a 61 6c 69 61 73 20 50 61 eSpec;..alias Pa
5ed0: 74 68 49 73 4c 46 4e 46 69 6c 65 53 70 65 63 41 thIsLFNFileSpecA
5ee0: 20 50 61 74 68 49 73 4c 46 4e 46 69 6c 65 53 70 PathIsLFNFileSp
5ef0: 65 63 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 ec;..alias PathI
5f00: 73 4e 65 74 77 6f 72 6b 50 61 74 68 41 20 50 61 sNetworkPathA Pa
5f10: 74 68 49 73 4e 65 74 77 6f 72 6b 50 61 74 68 3b thIsNetworkPath;
5f20: 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 73 50 72 ..alias PathIsPr
5f30: 65 66 69 78 41 20 50 61 74 68 49 73 50 72 65 66 efixA PathIsPref
5f40: 69 78 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 ix;..alias PathI
5f50: 73 52 65 6c 61 74 69 76 65 41 20 50 61 74 68 49 sRelativeA PathI
5f60: 73 52 65 6c 61 74 69 76 65 3b 0d 0a 61 6c 69 61 sRelative;..alia
5f70: 73 20 50 61 74 68 49 73 52 6f 6f 74 41 20 50 61 s PathIsRootA Pa
5f80: 74 68 49 73 52 6f 6f 74 3b 0d 0a 61 6c 69 61 73 thIsRoot;..alias
5f90: 20 50 61 74 68 49 73 53 61 6d 65 52 6f 6f 74 41 PathIsSameRootA
5fa0: 20 50 61 74 68 49 73 53 61 6d 65 52 6f 6f 74 3b PathIsSameRoot;
5fb0: 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 73 53 79 ..alias PathIsSy
5fc0: 73 74 65 6d 46 6f 6c 64 65 72 41 20 50 61 74 68 stemFolderA Path
5fd0: 49 73 53 79 73 74 65 6d 46 6f 6c 64 65 72 3b 0d IsSystemFolder;.
5fe0: 0a 61 6c 69 61 73 20 50 61 74 68 49 73 55 4e 43 .alias PathIsUNC
5ff0: 53 65 72 76 65 72 53 68 61 72 65 41 20 50 61 74 ServerShareA Pat
6000: 68 49 73 55 4e 43 53 65 72 76 65 72 53 68 61 72 hIsUNCServerShar
6010: 65 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 49 73 e;..alias PathIs
6020: 55 4e 43 53 65 72 76 65 72 41 20 50 61 74 68 49 UNCServerA PathI
6030: 73 55 4e 43 53 65 72 76 65 72 3b 0d 0a 61 6c 69 sUNCServer;..ali
6040: 61 73 20 50 61 74 68 49 73 55 4e 43 41 20 50 61 as PathIsUNCA Pa
6050: 74 68 49 73 55 4e 43 3b 0d 0a 61 6c 69 61 73 20 thIsUNC;..alias
6060: 50 61 74 68 49 73 55 52 4c 41 20 50 61 74 68 49 PathIsURLA PathI
6070: 73 55 52 4c 3b 0d 0a 61 6c 69 61 73 20 50 61 74 sURL;..alias Pat
6080: 68 4d 61 6b 65 50 72 65 74 74 79 41 20 50 61 74 hMakePrettyA Pat
6090: 68 4d 61 6b 65 50 72 65 74 74 79 3b 0d 0a 61 6c hMakePretty;..al
60a0: 69 61 73 20 50 61 74 68 4d 61 6b 65 53 79 73 74 ias PathMakeSyst
60b0: 65 6d 46 6f 6c 64 65 72 41 20 50 61 74 68 4d 61 emFolderA PathMa
60c0: 6b 65 53 79 73 74 65 6d 46 6f 6c 64 65 72 3b 0d keSystemFolder;.
60d0: 0a 61 6c 69 61 73 20 50 61 74 68 4d 61 74 63 68 .alias PathMatch
60e0: 53 70 65 63 41 20 50 61 74 68 4d 61 74 63 68 53 SpecA PathMatchS
60f0: 70 65 63 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 pec;..alias Path
6100: 50 61 72 73 65 49 63 6f 6e 4c 6f 63 61 74 69 6f ParseIconLocatio
6110: 6e 41 20 50 61 74 68 50 61 72 73 65 49 63 6f 6e nA PathParseIcon
6120: 4c 6f 63 61 74 69 6f 6e 3b 0d 0a 61 6c 69 61 73 Location;..alias
6130: 20 50 61 74 68 51 75 6f 74 65 53 70 61 63 65 73 PathQuoteSpaces
6140: 41 20 50 61 74 68 51 75 6f 74 65 53 70 61 63 65 A PathQuoteSpace
6150: 73 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 52 65 s;..alias PathRe
6160: 6c 61 74 69 76 65 50 61 74 68 54 6f 41 20 50 61 lativePathToA Pa
6170: 74 68 52 65 6c 61 74 69 76 65 50 61 74 68 54 6f thRelativePathTo
6180: 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 52 65 6d ;..alias PathRem
6190: 6f 76 65 41 72 67 73 41 20 50 61 74 68 52 65 6d oveArgsA PathRem
61a0: 6f 76 65 41 72 67 73 3b 0d 0a 61 6c 69 61 73 20 oveArgs;..alias
61b0: 50 61 74 68 52 65 6d 6f 76 65 42 61 63 6b 73 6c PathRemoveBacksl
61c0: 61 73 68 41 20 50 61 74 68 52 65 6d 6f 76 65 42 ashA PathRemoveB
61d0: 61 63 6b 73 6c 61 73 68 3b 0d 0a 61 6c 69 61 73 ackslash;..alias
61e0: 20 50 61 74 68 52 65 6d 6f 76 65 42 6c 61 6e 6b PathRemoveBlank
61f0: 73 41 20 50 61 74 68 52 65 6d 6f 76 65 42 6c 61 sA PathRemoveBla
6200: 6e 6b 73 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 nks;..alias Path
6210: 52 65 6d 6f 76 65 45 78 74 65 6e 73 69 6f 6e 41 RemoveExtensionA
6220: 20 50 61 74 68 52 65 6d 6f 76 65 45 78 74 65 6e PathRemoveExten
6230: 73 69 6f 6e 3b 0d 0a 61 6c 69 61 73 20 50 61 74 sion;..alias Pat
6240: 68 52 65 6d 6f 76 65 46 69 6c 65 53 70 65 63 41 hRemoveFileSpecA
6250: 20 50 61 74 68 52 65 6d 6f 76 65 46 69 6c 65 53 PathRemoveFileS
6260: 70 65 63 3b 0d 0a 61 6c 69 61 73 20 50 61 74 68 pec;..alias Path
6270: 52 65 6e 61 6d 65 45 78 74 65 6e 73 69 6f 6e 41 RenameExtensionA
6280: 20 50 61 74 68 52 65 6e 61 6d 65 45 78 74 65 6e PathRenameExten
6290: 73 69 6f 6e 3b 0d 0a 61 6c 69 61 73 20 50 61 74 sion;..alias Pat
62a0: 68 53 65 61 72 63 68 41 6e 64 51 75 61 6c 69 66 hSearchAndQualif
62b0: 79 41 20 50 61 74 68 53 65 61 72 63 68 41 6e 64 yA PathSearchAnd
62c0: 51 75 61 6c 69 66 79 3b 0d 0a 61 6c 69 61 73 20 Qualify;..alias
62d0: 50 61 74 68 53 65 74 44 6c 67 49 74 65 6d 50 61 PathSetDlgItemPa
62e0: 74 68 41 20 50 61 74 68 53 65 74 44 6c 67 49 74 thA PathSetDlgIt
62f0: 65 6d 50 61 74 68 3b 0d 0a 61 6c 69 61 73 20 50 emPath;..alias P
6300: 61 74 68 53 6b 69 70 52 6f 6f 74 41 20 50 61 74 athSkipRootA Pat
6310: 68 53 6b 69 70 52 6f 6f 74 3b 0d 0a 61 6c 69 61 hSkipRoot;..alia
6320: 73 20 50 61 74 68 53 74 72 69 70 50 61 74 68 41 s PathStripPathA
6330: 20 50 61 74 68 53 74 72 69 70 50 61 74 68 3b 0d PathStripPath;.
6340: 0a 61 6c 69 61 73 20 50 61 74 68 53 74 72 69 70 .alias PathStrip
6350: 54 6f 52 6f 6f 74 41 20 50 61 74 68 53 74 72 69 ToRootA PathStri
6360: 70 54 6f 52 6f 6f 74 3b 0d 0a 61 6c 69 61 73 20 pToRoot;..alias
6370: 50 61 74 68 55 6e 64 65 63 6f 72 61 74 65 41 20 PathUndecorateA
6380: 50 61 74 68 55 6e 64 65 63 6f 72 61 74 65 3b 0d PathUndecorate;.
6390: 0a 61 6c 69 61 73 20 50 61 74 68 55 6e 45 78 70 .alias PathUnExp
63a0: 61 6e 64 45 6e 76 53 74 72 69 6e 67 73 41 20 50 andEnvStringsA P
63b0: 61 74 68 55 6e 45 78 70 61 6e 64 45 6e 76 53 74 athUnExpandEnvSt
63c0: 72 69 6e 67 73 3b 0d 0a 61 6c 69 61 73 20 50 61 rings;..alias Pa
63d0: 74 68 55 6e 6d 61 6b 65 53 79 73 74 65 6d 46 6f thUnmakeSystemFo
63e0: 6c 64 65 72 41 20 50 61 74 68 55 6e 6d 61 6b 65 lderA PathUnmake
63f0: 53 79 73 74 65 6d 46 6f 6c 64 65 72 3b 0d 0a 61 SystemFolder;..a
6400: 6c 69 61 73 20 50 61 74 68 55 6e 71 75 6f 74 65 lias PathUnquote
6410: 53 70 61 63 65 73 41 20 50 61 74 68 55 6e 71 75 SpacesA PathUnqu
6420: 6f 74 65 53 70 61 63 65 73 3b 0d 0a 61 6c 69 61 oteSpaces;..alia
6430: 73 20 53 48 43 72 65 61 74 65 53 74 72 65 61 6d s SHCreateStream
6440: 4f 6e 46 69 6c 65 41 20 53 48 43 72 65 61 74 65 OnFileA SHCreate
6450: 53 74 72 65 61 6d 4f 6e 46 69 6c 65 3b 0d 0a 61 StreamOnFile;..a
6460: 6c 69 61 73 20 53 48 4f 70 65 6e 52 65 67 53 74 lias SHOpenRegSt
6470: 72 65 61 6d 41 20 53 48 4f 70 65 6e 52 65 67 53 reamA SHOpenRegS
6480: 74 72 65 61 6d 3b 0d 0a 61 6c 69 61 73 20 53 48 tream;..alias SH
6490: 4f 70 65 6e 52 65 67 53 74 72 65 61 6d 32 41 20 OpenRegStream2A
64a0: 53 48 4f 70 65 6e 52 65 67 53 74 72 65 61 6d 32 SHOpenRegStream2
64b0: 3b 0d 0a 61 6c 69 61 73 20 53 48 43 6f 70 79 4b ;..alias SHCopyK
64c0: 65 79 41 20 53 48 43 6f 70 79 4b 65 79 3b 0d 0a eyA SHCopyKey;..
64d0: 61 6c 69 61 73 20 53 48 44 65 6c 65 74 65 45 6d alias SHDeleteEm
64e0: 70 74 79 4b 65 79 41 20 53 48 44 65 6c 65 74 65 ptyKeyA SHDelete
64f0: 45 6d 70 74 79 4b 65 79 3b 0d 0a 61 6c 69 61 73 EmptyKey;..alias
6500: 20 53 48 44 65 6c 65 74 65 4b 65 79 41 20 53 48 SHDeleteKeyA SH
6510: 44 65 6c 65 74 65 4b 65 79 3b 0d 0a 61 6c 69 61 DeleteKey;..alia
6520: 73 20 53 48 45 6e 75 6d 4b 65 79 45 78 41 20 53 s SHEnumKeyExA S
6530: 48 45 6e 75 6d 4b 65 79 45 78 3b 0d 0a 61 6c 69 HEnumKeyEx;..ali
6540: 61 73 20 53 48 51 75 65 72 79 49 6e 66 6f 4b 65 as SHQueryInfoKe
6550: 79 41 20 53 48 51 75 65 72 79 49 6e 66 6f 4b 65 yA SHQueryInfoKe
6560: 79 3b 0d 0a 61 6c 69 61 73 20 53 48 51 75 65 72 y;..alias SHQuer
6570: 79 56 61 6c 75 65 45 78 41 20 53 48 51 75 65 72 yValueExA SHQuer
6580: 79 56 61 6c 75 65 45 78 3b 0d 0a 61 6c 69 61 73 yValueEx;..alias
6590: 20 53 48 45 6e 75 6d 56 61 6c 75 65 41 20 53 48 SHEnumValueA SH
65a0: 45 6e 75 6d 56 61 6c 75 65 3b 0d 0a 61 6c 69 61 EnumValue;..alia
65b0: 73 20 53 48 47 65 74 56 61 6c 75 65 41 20 53 48 s SHGetValueA SH
65c0: 47 65 74 56 61 6c 75 65 3b 0d 0a 61 6c 69 61 73 GetValue;..alias
65d0: 20 53 48 53 65 74 56 61 6c 75 65 41 20 53 48 53 SHSetValueA SHS
65e0: 65 74 56 61 6c 75 65 3b 0d 0a 61 6c 69 61 73 20 etValue;..alias
65f0: 53 48 44 65 6c 65 74 65 56 61 6c 75 65 41 20 53 SHDeleteValueA S
6600: 48 44 65 6c 65 74 65 56 61 6c 75 65 3b 0d 0a 61 HDeleteValue;..a
6610: 6c 69 61 73 20 41 73 73 6f 63 51 75 65 72 79 4b lias AssocQueryK
6620: 65 79 41 20 41 73 73 6f 63 51 75 65 72 79 4b 65 eyA AssocQueryKe
6630: 79 3b 0d 0a 61 6c 69 61 73 20 41 73 73 6f 63 51 y;..alias AssocQ
6640: 75 65 72 79 53 74 72 69 6e 67 42 79 4b 65 79 41 ueryStringByKeyA
6650: 20 41 73 73 6f 63 51 75 65 72 79 53 74 72 69 6e AssocQueryStrin
6660: 67 42 79 4b 65 79 3b 0d 0a 61 6c 69 61 73 20 41 gByKey;..alias A
6670: 73 73 6f 63 51 75 65 72 79 53 74 72 69 6e 67 41 ssocQueryStringA
6680: 20 41 73 73 6f 63 51 75 65 72 79 53 74 72 69 6e AssocQueryStrin
6690: 67 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 41 70 70 g;..alias UrlApp
66a0: 6c 79 53 63 68 65 6d 65 41 20 55 72 6c 41 70 70 lySchemeA UrlApp
66b0: 6c 79 53 63 68 65 6d 65 3b 0d 0a 61 6c 69 61 73 lyScheme;..alias
66c0: 20 55 72 6c 43 61 6e 6f 6e 69 63 61 6c 69 7a 65 UrlCanonicalize
66d0: 41 20 55 72 6c 43 61 6e 6f 6e 69 63 61 6c 69 7a A UrlCanonicaliz
66e0: 65 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 43 6f 6d e;..alias UrlCom
66f0: 62 69 6e 65 41 20 55 72 6c 43 6f 6d 62 69 6e 65 bineA UrlCombine
6700: 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 43 6f 6d 70 ;..alias UrlComp
6710: 61 72 65 41 20 55 72 6c 43 6f 6d 70 61 72 65 3b areA UrlCompare;
6720: 0d 0a 61 6c 69 61 73 20 55 72 6c 43 72 65 61 74 ..alias UrlCreat
6730: 65 46 72 6f 6d 50 61 74 68 41 20 55 72 6c 43 72 eFromPathA UrlCr
6740: 65 61 74 65 46 72 6f 6d 50 61 74 68 3b 0d 0a 61 eateFromPath;..a
6750: 6c 69 61 73 20 55 72 6c 45 73 63 61 70 65 41 20 lias UrlEscapeA
6760: 55 72 6c 45 73 63 61 70 65 3b 0d 0a 61 6c 69 61 UrlEscape;..alia
6770: 73 20 55 72 6c 47 65 74 4c 6f 63 61 74 69 6f 6e s UrlGetLocation
6780: 41 20 55 72 6c 47 65 74 4c 6f 63 61 74 69 6f 6e A UrlGetLocation
6790: 3b 0d 0a 61 6c 69 61 73 20 55 72 6c 47 65 74 50 ;..alias UrlGetP
67a0: 61 72 74 41 20 55 72 6c 47 65 74 50 61 72 74 3b artA UrlGetPart;
67b0: 0d 0a 61 6c 69 61 73 20 55 72 6c 48 61 73 68 41 ..alias UrlHashA
67c0: 20 55 72 6c 48 61 73 68 3b 0d 0a 61 6c 69 61 73 UrlHash;..alias
67d0: 20 55 72 6c 49 73 41 20 55 72 6c 49 73 3b 0d 0a UrlIsA UrlIs;..
67e0: 61 6c 69 61 73 20 55 72 6c 49 73 4e 6f 48 69 73 alias UrlIsNoHis
67f0: 74 6f 72 79 41 20 55 72 6c 49 73 4e 6f 48 69 73 toryA UrlIsNoHis
6800: 74 6f 72 79 3b 0d 0a 61 6c 69 61 73 20 55 72 6c tory;..alias Url
6810: 49 73 4f 70 61 71 75 65 41 20 55 72 6c 49 73 4f IsOpaqueA UrlIsO
6820: 70 61 71 75 65 3b 0d 0a 61 6c 69 61 73 20 55 72 paque;..alias Ur
6830: 6c 55 6e 65 73 63 61 70 65 41 20 55 72 6c 55 6e lUnescapeA UrlUn
6840: 65 73 63 61 70 65 3b 0d 0a 61 6c 69 61 73 20 55 escape;..alias U
6850: 72 6c 55 6e 65 73 63 61 70 65 49 6e 50 6c 61 63 rlUnescapeInPlac
6860: 65 41 20 55 72 6c 55 6e 65 73 63 61 70 65 49 6e eA UrlUnescapeIn
6870: 50 6c 61 63 65 3b 0d 0a 61 6c 69 61 73 20 53 48 Place;..alias SH
6880: 52 65 67 43 72 65 61 74 65 55 53 4b 65 79 41 20 RegCreateUSKeyA
6890: 53 48 52 65 67 43 72 65 61 74 65 55 53 4b 65 79 SHRegCreateUSKey
68a0: 3b 0d 0a 61 6c 69 61 73 20 53 48 52 65 67 44 65 ;..alias SHRegDe
68b0: 6c 65 74 65 45 6d 70 74 79 55 53 4b 65 79 41 20 leteEmptyUSKeyA
68c0: 53 48 52 65 67 44 65 6c 65 74 65 45 6d 70 74 79 SHRegDeleteEmpty
68d0: 55 53 4b 65 79 3b 0d 0a 61 6c 69 61 73 20 53 48 USKey;..alias SH
68e0: 52 65 67 44 65 6c 65 74 65 55 53 56 61 6c 75 65 RegDeleteUSValue
68f0: 41 20 53 48 52 65 67 44 65 6c 65 74 65 55 53 56 A SHRegDeleteUSV
6900: 61 6c 75 65 3b 0d 0a 61 6c 69 61 73 20 53 48 52 alue;..alias SHR
6910: 65 67 45 6e 75 6d 55 53 4b 65 79 41 20 53 48 52 egEnumUSKeyA SHR
6920: 65 67 45 6e 75 6d 55 53 4b 65 79 3b 0d 0a 61 6c egEnumUSKey;..al
6930: 69 61 73 20 53 48 52 65 67 45 6e 75 6d 55 53 56 ias SHRegEnumUSV
6940: 61 6c 75 65 41 20 53 48 52 65 67 45 6e 75 6d 55 alueA SHRegEnumU
6950: 53 56 61 6c 75 65 3b 0d 0a 61 6c 69 61 73 20 53 SValue;..alias S
6960: 48 52 65 67 47 65 74 42 6f 6f 6c 55 53 56 61 6c HRegGetBoolUSVal
6970: 75 65 41 20 53 48 52 65 67 47 65 74 42 6f 6f 6c ueA SHRegGetBool
6980: 55 53 56 61 6c 75 65 3b 0d 0a 61 6c 69 61 73 20 USValue;..alias
6990: 53 48 52 65 67 47 65 74 50 61 74 68 41 20 53 48 SHRegGetPathA SH
69a0: 52 65 67 47 65 74 50 61 74 68 3b 0d 0a 61 6c 69 RegGetPath;..ali
69b0: 61 73 20 53 48 52 65 67 47 65 74 55 53 56 61 6c as SHRegGetUSVal
69c0: 75 65 41 20 53 48 52 65 67 47 65 74 55 53 56 61 ueA SHRegGetUSVa
69d0: 6c 75 65 3b 0d 0a 61 6c 69 61 73 20 53 48 52 65 lue;..alias SHRe
69e0: 67 4f 70 65 6e 55 53 4b 65 79 41 20 53 48 52 65 gOpenUSKeyA SHRe
69f0: 67 4f 70 65 6e 55 53 4b 65 79 3b 0d 0a 61 6c 69 gOpenUSKey;..ali
6a00: 61 73 20 53 48 52 65 67 51 75 65 72 79 49 6e 66 as SHRegQueryInf
6a10: 6f 55 53 4b 65 79 41 20 53 48 52 65 67 51 75 65 oUSKeyA SHRegQue
6a20: 72 79 49 6e 66 6f 55 53 4b 65 79 3b 0d 0a 61 6c ryInfoUSKey;..al
6a30: 69 61 73 20 53 48 52 65 67 51 75 65 72 79 55 53 ias SHRegQueryUS
6a40: 56 61 6c 75 65 41 20 53 48 52 65 67 51 75 65 72 ValueA SHRegQuer
6a50: 79 55 53 56 61 6c 75 65 3b 0d 0a 61 6c 69 61 73 yUSValue;..alias
6a60: 20 53 48 52 65 67 53 65 74 50 61 74 68 41 20 53 SHRegSetPathA S
6a70: 48 52 65 67 53 65 74 50 61 74 68 3b 0d 0a 61 6c HRegSetPath;..al
6a80: 69 61 73 20 53 48 52 65 67 53 65 74 55 53 56 61 ias SHRegSetUSVa
6a90: 6c 75 65 41 20 53 48 52 65 67 53 65 74 55 53 56 lueA SHRegSetUSV
6aa0: 61 6c 75 65 3b 0d 0a 61 6c 69 61 73 20 53 48 52 alue;..alias SHR
6ab0: 65 67 57 72 69 74 65 55 53 56 61 6c 75 65 41 20 egWriteUSValueA
6ac0: 53 48 52 65 67 57 72 69 74 65 55 53 56 61 6c 75 SHRegWriteUSValu
6ad0: 65 3b 0d 0a 2f 2f 61 6c 69 61 73 20 77 6e 73 70 e;..//alias wnsp
6ae0: 72 69 6e 74 66 41 20 77 6e 73 70 72 69 6e 74 66 rintfA wnsprintf
6af0: 3b 0d 0a 2f 2f 61 6c 69 61 73 20 77 76 6e 73 70 ;..//alias wvnsp
6b00: 72 69 6e 74 66 41 20 77 76 6e 73 70 72 69 6e 74 rintfA wvnsprint
6b10: 66 3b 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 53 f;..}....alias S
6b20: 74 72 54 6f 49 6e 74 20 53 74 72 54 6f 4c 6f 6e trToInt StrToLon
6b30: 67 3b 0d 0a g;..