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;..