Artifact 7df464c2cf7d0434b6e44a37bda4d0720e4954d0:
- File
src/win32/shlobj.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 20 73 68 6c 6f shlo 0070: 62 6a 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 bj.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 54 72 61 6e 73 6c 61 74 65 64 20 Translated 0190: 66 72 6f 6d 20 4d 69 6e 47 57 20 41 50 49 20 66 from MinGW API f 01a0: 6f 72 20 4d 53 2d 57 69 6e 64 6f 77 73 20 34 2e or MS-Windows 4. 01b0: 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0 * 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 6f 62 6a 3b 0d 0a 70 72 61 67 6d 61 28 shlobj;..pragma( 02c0: 6c 69 62 2c 20 22 73 68 65 6c 6c 33 32 22 29 3b lib, "shell32"); 02d0: 0d 0a 0d 0a 2f 2f 20 54 4f 44 4f 3a 20 66 69 78 ....// TODO: fix 02e0: 20 62 69 74 66 69 65 6c 64 73 0d 0a 2f 2f 20 54 bitfields..// T 02f0: 4f 44 4f 3a 20 43 4d 49 43 5f 56 41 4c 49 44 5f ODO: CMIC_VALID_ 0300: 53 45 45 5f 46 4c 41 47 53 0d 0a 2f 2f 20 53 48 SEE_FLAGS..// SH 0310: 47 65 74 46 6f 6c 64 65 72 50 61 74 68 20 69 6e GetFolderPath in 0320: 20 73 68 66 6f 6c 64 65 72 2e 64 6c 6c 20 6f 6e shfolder.dll on 0330: 20 57 39 78 2c 20 4e 54 34 2c 20 61 6c 73 6f 20 W9x, NT4, also 0340: 69 6e 20 73 68 65 6c 6c 33 32 2e 64 6c 6c 20 6f in shell32.dll o 0350: 6e 20 57 32 4b 0d 0a 0d 0a 69 6d 70 6f 72 74 20 n W2K....import 0360: 77 69 6e 33 32 2e 63 6f 6d 6d 63 74 72 6c 2c 20 win32.commctrl, 0370: 77 69 6e 33 32 2e 6f 6c 65 32 2c 20 77 69 6e 33 win32.ole2, win3 0380: 32 2e 73 68 6c 67 75 69 64 2c 20 77 69 6e 33 32 2.shlguid, win32 0390: 2e 73 68 65 6c 6c 61 70 69 3b 0d 0a 70 72 69 76 .shellapi;..priv 03a0: 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 ate import win32 03b0: 2e 70 72 73 68 74 2c 20 77 69 6e 33 32 2e 75 6e .prsht, win32.un 03c0: 6b 6e 77 6e 2c 20 77 69 6e 33 32 2e 77 33 32 61 knwn, win32.w32a 03d0: 70 69 2c 20 77 69 6e 33 32 2e 77 69 6e 62 61 73 pi, win32.winbas 03e0: 65 2c 0d 0a 20 20 77 69 6e 33 32 2e 77 69 6e 6e e,.. win32.winn 03f0: 74 2c 20 77 69 6e 33 32 2e 77 69 6e 75 73 65 72 t, win32.winuser 0400: 2c 20 77 69 6e 33 32 2e 77 74 79 70 65 73 2c 20 , win32.wtypes, 0410: 77 69 6e 33 32 2e 6f 62 6a 66 77 64 2c 20 77 69 win32.objfwd, wi 0420: 6e 33 32 2e 6f 62 6a 69 64 6c 3b 0d 0a 70 72 69 n32.objidl;..pri 0430: 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 vate import win3 0440: 32 2e 77 69 6e 6e 65 74 77 6b 3b 20 2f 2f 20 66 2.winnetwk; // f 0450: 6f 72 20 4e 45 54 52 45 53 4f 55 52 43 45 0d 0a or NETRESOURCE.. 0460: 70 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77 private import w 0470: 69 6e 33 32 2e 6f 61 69 64 6c 20 3a 20 56 41 52 in32.oaidl : VAR 0480: 49 41 4e 54 3b 0d 0a 0d 0a 0d 0a 2f 2f 20 46 49 IANT;......// FI 0490: 58 4d 45 3a 20 63 6c 65 61 6e 20 75 70 20 57 69 XME: clean up Wi 04a0: 6e 64 6f 77 73 20 76 65 72 73 69 6f 6e 20 73 75 ndows version su 04b0: 70 70 6f 72 74 0d 0a 0d 0a 61 6c 69 67 6e 28 31 pport....align(1 04c0: 29 3a 0d 0a 0d 0a 63 6f 6e 73 74 20 42 49 46 5f ):....const BIF_ 04d0: 52 45 54 55 52 4e 4f 4e 4c 59 46 53 44 49 52 53 RETURNONLYFSDIRS 04e0: 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 42 49 46 = 1;..const BIF 04f0: 5f 44 4f 4e 54 47 4f 42 45 4c 4f 57 44 4f 4d 41 _DONTGOBELOWDOMA 0500: 49 4e 20 3d 20 32 3b 0d 0a 63 6f 6e 73 74 20 42 IN = 2;..const B 0510: 49 46 5f 53 54 41 54 55 53 54 45 58 54 20 3d 20 IF_STATUSTEXT = 0520: 34 3b 0d 0a 63 6f 6e 73 74 20 42 49 46 5f 52 45 4;..const BIF_RE 0530: 54 55 52 4e 46 53 41 4e 43 45 53 54 4f 52 53 20 TURNFSANCESTORS 0540: 3d 20 38 3b 0d 0a 63 6f 6e 73 74 20 42 49 46 5f = 8;..const BIF_ 0550: 45 44 49 54 42 4f 58 20 3d 20 31 36 3b 0d 0a 63 EDITBOX = 16;..c 0560: 6f 6e 73 74 20 42 49 46 5f 56 41 4c 49 44 41 54 onst BIF_VALIDAT 0570: 45 20 3d 20 33 32 3b 0d 0a 63 6f 6e 73 74 20 42 E = 32;..const B 0580: 49 46 5f 4e 45 57 44 49 41 4c 4f 47 53 54 59 4c IF_NEWDIALOGSTYL 0590: 45 20 3d 20 36 34 3b 0d 0a 63 6f 6e 73 74 20 42 E = 64;..const B 05a0: 49 46 5f 42 52 4f 57 53 45 49 4e 43 4c 55 44 45 IF_BROWSEINCLUDE 05b0: 55 52 4c 53 20 3d 20 31 32 38 3b 0d 0a 63 6f 6e URLS = 128;..con 05c0: 73 74 20 42 49 46 5f 55 53 45 4e 45 57 55 49 20 st BIF_USENEWUI 05d0: 3d 20 20 42 49 46 5f 45 44 49 54 42 4f 58 20 7c = BIF_EDITBOX | 05e0: 20 42 49 46 5f 4e 45 57 44 49 41 4c 4f 47 53 54 BIF_NEWDIALOGST 05f0: 59 4c 45 3b 0d 0a 63 6f 6e 73 74 20 42 49 46 5f YLE;..const BIF_ 0600: 42 52 4f 57 53 45 46 4f 52 43 4f 4d 50 55 54 45 BROWSEFORCOMPUTE 0610: 52 20 3d 20 30 78 31 30 30 30 3b 0d 0a 63 6f 6e R = 0x1000;..con 0620: 73 74 20 42 49 46 5f 42 52 4f 57 53 45 46 4f 52 st BIF_BROWSEFOR 0630: 50 52 49 4e 54 45 52 20 3d 20 30 78 32 30 30 30 PRINTER = 0x2000 0640: 3b 0d 0a 63 6f 6e 73 74 20 42 49 46 5f 42 52 4f ;..const BIF_BRO 0650: 57 53 45 49 4e 43 4c 55 44 45 46 49 4c 45 53 20 WSEINCLUDEFILES 0660: 3d 20 30 78 34 30 30 30 3b 0d 0a 63 6f 6e 73 74 = 0x4000;..const 0670: 20 42 49 46 5f 53 48 41 52 45 41 42 4c 45 20 3d BIF_SHAREABLE = 0680: 20 30 78 38 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 0x8000;..const 0690: 42 46 46 4d 5f 49 4e 49 54 49 41 4c 49 5a 45 44 BFFM_INITIALIZED 06a0: 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 42 46 46 = 1;..const BFF 06b0: 4d 5f 53 45 4c 43 48 41 4e 47 45 44 20 3d 20 32 M_SELCHANGED = 2 06c0: 3b 0d 0a 63 6f 6e 73 74 20 42 46 46 4d 5f 56 41 ;..const BFFM_VA 06d0: 4c 49 44 41 54 45 46 41 49 4c 45 44 41 20 3d 20 LIDATEFAILEDA = 06e0: 33 3b 0d 0a 63 6f 6e 73 74 20 42 46 46 4d 5f 56 3;..const BFFM_V 06f0: 41 4c 49 44 41 54 45 46 41 49 4c 45 44 57 20 3d ALIDATEFAILEDW = 0700: 20 34 3b 0d 0a 63 6f 6e 73 74 20 42 46 46 4d 5f 4;..const BFFM_ 0710: 53 45 54 53 54 41 54 55 53 54 45 58 54 41 20 3d SETSTATUSTEXTA = 0720: 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 30 3b 0d WM_USER + 100;. 0730: 0a 63 6f 6e 73 74 20 42 46 46 4d 5f 45 4e 41 42 .const BFFM_ENAB 0740: 4c 45 4f 4b 20 3d 20 57 4d 5f 55 53 45 52 20 2b LEOK = WM_USER + 0750: 20 31 30 31 3b 0d 0a 63 6f 6e 73 74 20 42 46 46 101;..const BFF 0760: 4d 5f 53 45 54 53 45 4c 45 43 54 49 4f 4e 41 20 M_SETSELECTIONA 0770: 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 32 3b = WM_USER + 102; 0780: 0d 0a 63 6f 6e 73 74 20 42 46 46 4d 5f 53 45 54 ..const BFFM_SET 0790: 53 45 4c 45 43 54 49 4f 4e 57 20 3d 20 57 4d 5f SELECTIONW = WM_ 07a0: 55 53 45 52 20 2b 20 31 30 33 3b 0d 0a 63 6f 6e USER + 103;..con 07b0: 73 74 20 42 46 46 4d 5f 53 45 54 53 54 41 54 55 st BFFM_SETSTATU 07c0: 53 54 45 58 54 57 20 3d 20 57 4d 5f 55 53 45 52 STEXTW = WM_USER 07d0: 20 2b 20 31 30 34 3b 0d 0a 63 6f 6e 73 74 20 42 + 104;..const B 07e0: 46 46 4d 5f 53 45 54 4f 4b 54 45 58 54 20 3d 20 FFM_SETOKTEXT = 07f0: 57 4d 5f 55 53 45 52 20 2b 20 31 30 35 3b 0d 0a WM_USER + 105;.. 0800: 63 6f 6e 73 74 20 42 46 46 4d 5f 53 45 54 45 58 const BFFM_SETEX 0810: 50 41 4e 44 45 44 20 3d 20 57 4d 5f 55 53 45 52 PANDED = WM_USER 0820: 20 2b 20 31 30 36 3b 0d 0a 0d 0a 76 65 72 73 69 + 106;....versi 0830: 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 on(Unicode) {... 0840: 61 6c 69 61 73 20 42 46 46 4d 5f 53 45 54 53 54 alias BFFM_SETST 0850: 41 54 55 53 54 45 58 54 57 20 42 46 46 4d 5f 53 ATUSTEXTW BFFM_S 0860: 45 54 53 54 41 54 55 53 54 45 58 54 3b 0d 0a 09 ETSTATUSTEXT;... 0870: 61 6c 69 61 73 20 42 46 46 4d 5f 53 45 54 53 45 alias BFFM_SETSE 0880: 4c 45 43 54 49 4f 4e 57 20 42 46 46 4d 5f 53 45 LECTIONW BFFM_SE 0890: 54 53 45 4c 45 43 54 49 4f 4e 3b 0d 0a 09 61 6c TSELECTION;...al 08a0: 69 61 73 20 42 46 46 4d 5f 56 41 4c 49 44 41 54 ias BFFM_VALIDAT 08b0: 45 46 41 49 4c 45 44 57 20 42 46 46 4d 5f 56 41 EFAILEDW BFFM_VA 08c0: 4c 49 44 41 54 45 46 41 49 4c 45 44 3b 0d 0a 7d LIDATEFAILED;..} 08d0: 20 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 61 73 20 else {...alias 08e0: 42 46 46 4d 5f 53 45 54 53 54 41 54 55 53 54 45 BFFM_SETSTATUSTE 08f0: 58 54 41 20 42 46 46 4d 5f 53 45 54 53 54 41 54 XTA BFFM_SETSTAT 0900: 55 53 54 45 58 54 3b 0d 0a 09 61 6c 69 61 73 20 USTEXT;...alias 0910: 42 46 46 4d 5f 53 45 54 53 45 4c 45 43 54 49 4f BFFM_SETSELECTIO 0920: 4e 41 20 42 46 46 4d 5f 53 45 54 53 45 4c 45 43 NA BFFM_SETSELEC 0930: 54 49 4f 4e 3b 0d 0a 09 61 6c 69 61 73 20 42 46 TION;...alias BF 0940: 46 4d 5f 56 41 4c 49 44 41 54 45 46 41 49 4c 45 FM_VALIDATEFAILE 0950: 44 41 20 42 46 46 4d 5f 56 41 4c 49 44 41 54 45 DA BFFM_VALIDATE 0960: 46 41 49 4c 45 44 3b 0d 0a 7d 0d 0a 0d 0a 63 6f FAILED;..}....co 0970: 6e 73 74 20 44 56 41 53 50 45 43 54 5f 53 48 4f nst DVASPECT_SHO 0980: 52 54 4e 41 4d 45 20 3d 20 32 3b 0d 0a 0d 0a 65 RTNAME = 2;....e 0990: 6e 75 6d 20 53 48 41 52 44 20 7b 0d 0a 20 20 20 num SHARD {.. 09a0: 20 53 48 41 52 44 5f 50 49 44 4c 20 20 20 20 20 SHARD_PIDL 09b0: 20 20 20 20 20 20 20 3d 20 31 2c 0d 0a 20 20 20 = 1,.. 09c0: 20 53 48 41 52 44 5f 50 41 54 48 41 2c 0d 0a 20 SHARD_PATHA,.. 09d0: 20 20 20 53 48 41 52 44 5f 50 41 54 48 57 2c 0d SHARD_PATHW,. 09e0: 0a 20 20 20 20 53 48 41 52 44 5f 41 50 50 49 44 . SHARD_APPID 09f0: 49 4e 46 4f 2c 0d 0a 20 20 20 20 53 48 41 52 44 INFO,.. SHARD 0a00: 5f 41 50 50 49 44 49 4e 46 4f 49 44 4c 49 53 54 _APPIDINFOIDLIST 0a10: 2c 0d 0a 20 20 20 20 53 48 41 52 44 5f 4c 49 4e ,.. SHARD_LIN 0a20: 4b 2c 0d 0a 20 20 20 20 53 48 41 52 44 5f 41 50 K,.. SHARD_AP 0a30: 50 49 44 49 4e 46 4f 4c 49 4e 4b 2c 0d 0a 20 20 PIDINFOLINK,.. 0a40: 20 20 53 48 41 52 44 5f 53 48 45 4c 4c 49 54 45 SHARD_SHELLITE 0a50: 4d 2c 20 20 20 2f 2f 20 3d 20 38 0d 0a 09 53 48 M, // = 8...SH 0a60: 41 52 44 5f 50 41 54 48 20 3d 20 28 5f 57 49 4e ARD_PATH = (_WIN 0a70: 33 32 5f 55 4e 49 43 4f 44 45 20 3f 20 53 48 41 32_UNICODE ? SHA 0a80: 52 44 5f 50 41 54 48 57 20 3a 20 53 48 41 52 44 RD_PATHW : SHARD 0a90: 5f 50 41 54 48 41 29 0d 0a 7d 0d 0a 0d 0a 63 6f _PATHA)..}....co 0aa0: 6e 73 74 20 53 48 43 4e 45 5f 52 45 4e 41 4d 45 nst SHCNE_RENAME 0ab0: 49 54 45 4d 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 ITEM = 1;..const 0ac0: 20 53 48 43 4e 45 5f 43 52 45 41 54 45 20 3d 20 SHCNE_CREATE = 0ad0: 32 3b 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 45 5f 2;..const SHCNE_ 0ae0: 44 45 4c 45 54 45 20 3d 20 34 3b 0d 0a 63 6f 6e DELETE = 4;..con 0af0: 73 74 20 53 48 43 4e 45 5f 4d 4b 44 49 52 20 3d st SHCNE_MKDIR = 0b00: 20 38 3b 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 45 8;..const SHCNE 0b10: 5f 52 4d 44 49 52 20 3d 20 31 36 3b 0d 0a 63 6f _RMDIR = 16;..co 0b20: 6e 73 74 20 53 48 43 4e 45 5f 4d 45 44 49 41 49 nst SHCNE_MEDIAI 0b30: 4e 53 45 52 54 45 44 20 3d 20 33 32 3b 0d 0a 63 NSERTED = 32;..c 0b40: 6f 6e 73 74 20 53 48 43 4e 45 5f 4d 45 44 49 41 onst SHCNE_MEDIA 0b50: 52 45 4d 4f 56 45 44 20 3d 20 36 34 3b 0d 0a 63 REMOVED = 64;..c 0b60: 6f 6e 73 74 20 53 48 43 4e 45 5f 44 52 49 56 45 onst SHCNE_DRIVE 0b70: 52 45 4d 4f 56 45 44 20 3d 20 31 32 38 3b 0d 0a REMOVED = 128;.. 0b80: 63 6f 6e 73 74 20 53 48 43 4e 45 5f 44 52 49 56 const SHCNE_DRIV 0b90: 45 41 44 44 20 3d 20 32 35 36 3b 0d 0a 63 6f 6e EADD = 256;..con 0ba0: 73 74 20 53 48 43 4e 45 5f 4e 45 54 53 48 41 52 st SHCNE_NETSHAR 0bb0: 45 20 3d 20 35 31 32 3b 0d 0a 63 6f 6e 73 74 20 E = 512;..const 0bc0: 53 48 43 4e 45 5f 4e 45 54 55 4e 53 48 41 52 45 SHCNE_NETUNSHARE 0bd0: 20 3d 20 31 30 32 34 3b 0d 0a 63 6f 6e 73 74 20 = 1024;..const 0be0: 53 48 43 4e 45 5f 41 54 54 52 49 42 55 54 45 53 SHCNE_ATTRIBUTES 0bf0: 20 3d 20 32 30 34 38 3b 0d 0a 63 6f 6e 73 74 20 = 2048;..const 0c00: 53 48 43 4e 45 5f 55 50 44 41 54 45 44 49 52 20 SHCNE_UPDATEDIR 0c10: 3d 20 34 30 39 36 3b 0d 0a 63 6f 6e 73 74 20 53 = 4096;..const S 0c20: 48 43 4e 45 5f 55 50 44 41 54 45 49 54 45 4d 20 HCNE_UPDATEITEM 0c30: 3d 20 38 31 39 32 3b 0d 0a 63 6f 6e 73 74 20 53 = 8192;..const S 0c40: 48 43 4e 45 5f 53 45 52 56 45 52 44 49 53 43 4f HCNE_SERVERDISCO 0c50: 4e 4e 45 43 54 20 3d 20 31 36 33 38 34 3b 0d 0a NNECT = 16384;.. 0c60: 63 6f 6e 73 74 20 53 48 43 4e 45 5f 55 50 44 41 const SHCNE_UPDA 0c70: 54 45 49 4d 41 47 45 20 3d 20 33 32 37 36 38 3b TEIMAGE = 32768; 0c80: 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 45 5f 44 52 ..const SHCNE_DR 0c90: 49 56 45 41 44 44 47 55 49 20 3d 20 36 35 35 33 IVEADDGUI = 6553 0ca0: 36 3b 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 45 5f 6;..const SHCNE_ 0cb0: 52 45 4e 41 4d 45 46 4f 4c 44 45 52 20 3d 20 30 RENAMEFOLDER = 0 0cc0: 78 32 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 53 x20000;..const S 0cd0: 48 43 4e 45 5f 46 52 45 45 53 50 41 43 45 20 3d HCNE_FREESPACE = 0ce0: 20 30 78 34 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 0x40000;..const 0cf0: 20 53 48 43 4e 45 5f 41 53 53 4f 43 43 48 41 4e SHCNE_ASSOCCHAN 0d00: 47 45 44 20 3d 20 30 78 38 30 30 30 30 30 30 3b GED = 0x8000000; 0d10: 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 45 5f 44 49 ..const SHCNE_DI 0d20: 53 4b 45 56 45 4e 54 53 20 3d 20 30 78 32 33 38 SKEVENTS = 0x238 0d30: 31 46 3b 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 45 1F;..const SHCNE 0d40: 5f 47 4c 4f 42 41 4c 45 56 45 4e 54 53 20 3d 20 _GLOBALEVENTS = 0d50: 30 78 43 30 35 38 31 45 30 3b 0d 0a 63 6f 6e 73 0xC0581E0;..cons 0d60: 74 20 53 48 43 4e 45 5f 41 4c 4c 45 56 45 4e 54 t SHCNE_ALLEVENT 0d70: 53 20 3d 20 30 78 37 46 46 46 46 46 46 46 3b 0d S = 0x7FFFFFFF;. 0d80: 0a 63 6f 6e 73 74 20 53 48 43 4e 45 5f 49 4e 54 .const SHCNE_INT 0d90: 45 52 52 55 50 54 20 3d 20 30 78 38 30 30 30 30 ERRUPT = 0x80000 0da0: 30 30 30 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 48 000;....const SH 0db0: 43 4e 46 5f 49 44 4c 49 53 54 20 3d 20 30 3b 0d CNF_IDLIST = 0;. 0dc0: 0a 63 6f 6e 73 74 20 53 48 43 4e 46 5f 50 41 54 .const SHCNF_PAT 0dd0: 48 41 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 53 HA = 1;..const S 0de0: 48 43 4e 46 5f 50 52 49 4e 54 45 52 41 20 3d 20 HCNF_PRINTERA = 0df0: 32 3b 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 46 5f 2;..const SHCNF_ 0e00: 44 57 4f 52 44 20 3d 20 33 3b 0d 0a 63 6f 6e 73 DWORD = 3;..cons 0e10: 74 20 53 48 43 4e 46 5f 50 41 54 48 57 20 3d 20 t SHCNF_PATHW = 0e20: 35 3b 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 46 5f 5;..const SHCNF_ 0e30: 50 52 49 4e 54 45 52 57 20 3d 20 36 3b 0d 0a 63 PRINTERW = 6;..c 0e40: 6f 6e 73 74 20 53 48 43 4e 46 5f 54 59 50 45 20 onst SHCNF_TYPE 0e50: 3d 20 30 78 46 46 3b 0d 0a 63 6f 6e 73 74 20 53 = 0xFF;..const S 0e60: 48 43 4e 46 5f 46 4c 55 53 48 20 3d 20 30 78 31 HCNF_FLUSH = 0x1 0e70: 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 53 48 43 4e 000;..const SHCN 0e80: 46 5f 46 4c 55 53 48 4e 4f 57 41 49 54 20 3d 20 F_FLUSHNOWAIT = 0e90: 30 78 32 30 30 30 3b 0d 0a 0d 0a 76 65 72 73 69 0x2000;....versi 0ea0: 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 on(Unicode) {... 0eb0: 61 6c 69 61 73 20 53 48 43 4e 46 5f 50 41 54 48 alias SHCNF_PATH 0ec0: 57 20 53 48 43 4e 46 5f 50 41 54 48 3b 0d 0a 09 W SHCNF_PATH;... 0ed0: 61 6c 69 61 73 20 53 48 43 4e 46 5f 50 52 49 4e alias SHCNF_PRIN 0ee0: 54 45 52 57 20 53 48 43 4e 46 5f 50 52 49 4e 54 TERW SHCNF_PRINT 0ef0: 45 52 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 ER;..} else {... 0f00: 61 6c 69 61 73 20 53 48 43 4e 46 5f 50 41 54 48 alias SHCNF_PATH 0f10: 41 20 53 48 43 4e 46 5f 50 41 54 48 3b 0d 0a 09 A SHCNF_PATH;... 0f20: 61 6c 69 61 73 20 53 48 43 4e 46 5f 50 52 49 4e alias SHCNF_PRIN 0f30: 54 45 52 41 20 53 48 43 4e 46 5f 50 52 49 4e 54 TERA SHCNF_PRINT 0f40: 45 52 3b 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 53 ER;..}....enum S 0f50: 46 47 41 4f 46 20 3a 20 44 57 4f 52 44 20 7b 0d FGAOF : DWORD {. 0f60: 0a 09 53 46 47 41 4f 5f 43 41 4e 43 4f 50 59 20 ..SFGAO_CANCOPY 0f70: 20 20 20 20 20 20 20 20 3d 20 44 52 4f 50 45 46 = DROPEF 0f80: 46 45 43 54 2e 44 52 4f 50 45 46 46 45 43 54 5f FECT.DROPEFFECT_ 0f90: 43 4f 50 59 2c 0d 0a 09 53 46 47 41 4f 5f 43 41 COPY,...SFGAO_CA 0fa0: 4e 4d 4f 56 45 20 20 20 20 20 20 20 20 20 3d 20 NMOVE = 0fb0: 44 52 4f 50 45 46 46 45 43 54 2e 44 52 4f 50 45 DROPEFFECT.DROPE 0fc0: 46 46 45 43 54 5f 4d 4f 56 45 2c 0d 0a 09 53 46 FFECT_MOVE,...SF 0fd0: 47 41 4f 5f 43 41 4e 4c 49 4e 4b 20 20 20 20 20 GAO_CANLINK 0fe0: 20 20 20 20 3d 20 44 52 4f 50 45 46 46 45 43 54 = DROPEFFECT 0ff0: 2e 44 52 4f 50 45 46 46 45 43 54 5f 4c 49 4e 4b .DROPEFFECT_LINK 1000: 2c 0d 0a 09 53 46 47 41 4f 5f 43 41 4e 52 45 4e ,...SFGAO_CANREN 1010: 41 4d 45 20 20 20 20 20 20 20 3d 20 30 78 30 30 AME = 0x00 1020: 30 30 30 30 31 30 4c 2c 0d 0a 09 53 46 47 41 4f 000010L,...SFGAO 1030: 5f 43 41 4e 44 45 4c 45 54 45 20 20 20 20 20 20 _CANDELETE 1040: 20 3d 20 30 78 30 30 30 30 30 30 32 30 4c 2c 0d = 0x00000020L,. 1050: 0a 09 53 46 47 41 4f 5f 48 41 53 50 52 4f 50 53 ..SFGAO_HASPROPS 1060: 48 45 45 54 20 20 20 20 3d 20 30 78 30 30 30 30 HEET = 0x0000 1070: 30 30 34 30 4c 2c 0d 0a 09 53 46 47 41 4f 5f 44 0040L,...SFGAO_D 1080: 52 4f 50 54 41 52 47 45 54 20 20 20 20 20 20 3d ROPTARGET = 1090: 20 30 78 30 30 30 30 30 31 30 30 4c 2c 0d 0a 09 0x00000100L,... 10a0: 53 46 47 41 4f 5f 43 41 50 41 42 49 4c 49 54 59 SFGAO_CAPABILITY 10b0: 4d 41 53 4b 20 20 3d 20 30 78 30 30 30 30 30 31 MASK = 0x000001 10c0: 37 37 4c 2c 0d 0a 09 53 46 47 41 4f 5f 49 53 53 77L,...SFGAO_ISS 10d0: 4c 4f 57 20 20 20 20 20 20 20 20 20 20 3d 20 30 LOW = 0 10e0: 78 30 30 30 30 34 30 30 30 4c 2c 0d 0a 09 53 46 x00004000L,...SF 10f0: 47 41 4f 5f 47 48 4f 53 54 45 44 20 20 20 20 20 GAO_GHOSTED 1100: 20 20 20 20 3d 20 30 78 30 30 30 30 38 30 30 30 = 0x00008000 1110: 4c 2c 0d 0a 09 53 46 47 41 4f 5f 4c 49 4e 4b 20 L,...SFGAO_LINK 1120: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0 1130: 30 30 31 30 30 30 30 4c 2c 0d 0a 09 53 46 47 41 0010000L,...SFGA 1140: 4f 5f 53 48 41 52 45 20 20 20 20 20 20 20 20 20 O_SHARE 1150: 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 4c 2c = 0x00020000L, 1160: 0d 0a 09 53 46 47 41 4f 5f 52 45 41 44 4f 4e 4c ...SFGAO_READONL 1170: 59 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 Y = 0x000 1180: 34 30 30 30 30 4c 2c 0d 0a 09 53 46 47 41 4f 5f 40000L,...SFGAO_ 1190: 48 49 44 44 45 4e 20 20 20 20 20 20 20 20 20 20 HIDDEN 11a0: 3d 20 30 78 30 30 30 38 30 30 30 30 4c 2c 0d 0a = 0x00080000L,.. 11b0: 09 53 46 47 41 4f 5f 44 49 53 50 4c 41 59 41 54 .SFGAO_DISPLAYAT 11c0: 54 52 4d 41 53 4b 20 3d 20 28 53 46 47 41 4f 5f TRMASK = (SFGAO_ 11d0: 49 53 53 4c 4f 57 20 7c 20 53 46 47 41 4f 5f 47 ISSLOW | SFGAO_G 11e0: 48 4f 53 54 45 44 20 7c 20 53 46 47 41 4f 5f 4c HOSTED | SFGAO_L 11f0: 49 4e 4b 0d 0a 09 20 20 20 20 20 20 20 20 20 20 INK... 1200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 | 1210: 53 46 47 41 4f 5f 53 48 41 52 45 20 7c 20 53 46 SFGAO_SHARE | SF 1220: 47 41 4f 5f 52 45 41 44 4f 4e 4c 59 20 7c 20 53 GAO_READONLY | S 1230: 46 47 41 4f 5f 48 49 44 44 45 4e 29 2c 0d 0a 09 FGAO_HIDDEN),... 1240: 53 46 47 41 4f 5f 46 49 4c 45 53 59 53 41 4e 43 SFGAO_FILESYSANC 1250: 45 53 54 4f 52 20 3d 20 30 78 31 30 30 30 30 30 ESTOR = 0x100000 1260: 30 30 4c 2c 0d 0a 09 53 46 47 41 4f 5f 46 4f 4c 00L,...SFGAO_FOL 1270: 44 45 52 20 20 20 20 20 20 20 20 20 20 3d 20 30 DER = 0 1280: 78 32 30 30 30 30 30 30 30 4c 2c 0d 0a 09 53 46 x20000000L,...SF 1290: 47 41 4f 5f 46 49 4c 45 53 59 53 54 45 4d 20 20 GAO_FILESYSTEM 12a0: 20 20 20 20 3d 20 30 78 34 30 30 30 30 30 30 30 = 0x40000000 12b0: 4c 2c 0d 0a 09 53 46 47 41 4f 5f 48 41 53 53 55 L,...SFGAO_HASSU 12c0: 42 46 4f 4c 44 45 52 20 20 20 20 3d 20 30 78 38 BFOLDER = 0x8 12d0: 30 30 30 30 30 30 30 4c 2c 0d 0a 09 53 46 47 41 0000000L,...SFGA 12e0: 4f 5f 43 4f 4e 54 45 4e 54 53 4d 41 53 4b 20 20 O_CONTENTSMASK 12f0: 20 20 3d 20 30 78 38 30 30 30 30 30 30 30 4c 2c = 0x80000000L, 1300: 0d 0a 09 53 46 47 41 4f 5f 56 41 4c 49 44 41 54 ...SFGAO_VALIDAT 1310: 45 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 E = 0x010 1320: 30 30 30 30 30 4c 2c 0d 0a 09 53 46 47 41 4f 5f 00000L,...SFGAO_ 1330: 52 45 4d 4f 56 41 42 4c 45 20 20 20 20 20 20 20 REMOVABLE 1340: 3d 20 30 78 30 32 30 30 30 30 30 30 4c 2c 0d 0a = 0x02000000L,.. 1350: 09 53 46 47 41 4f 5f 43 4f 4d 50 52 45 53 53 45 .SFGAO_COMPRESSE 1360: 44 20 20 20 20 20 20 3d 20 30 78 30 34 30 30 30 D = 0x04000 1370: 30 30 30 4c 0d 0a 7d 0d 0a 63 6f 6e 73 74 20 53 000L..}..const S 1380: 54 52 52 45 54 5f 57 53 54 52 20 3d 20 30 3b 0d TRRET_WSTR = 0;. 1390: 0a 63 6f 6e 73 74 20 53 54 52 52 45 54 5f 4f 46 .const STRRET_OF 13a0: 46 53 45 54 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 FSET = 1;..const 13b0: 20 53 54 52 52 45 54 5f 43 53 54 52 20 3d 20 32 STRRET_CSTR = 2 13c0: 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 53 48 ;....enum {...SH 13d0: 47 44 46 49 4c 5f 46 49 4e 44 44 41 54 41 20 3d GDFIL_FINDDATA = 13e0: 20 31 2c 0d 0a 09 53 48 47 44 46 49 4c 5f 4e 45 1,...SHGDFIL_NE 13f0: 54 52 45 53 4f 55 52 43 45 2c 0d 0a 09 53 48 47 TRESOURCE,...SHG 1400: 44 46 49 4c 5f 44 45 53 43 52 49 50 54 49 4f 4e DFIL_DESCRIPTION 1410: 49 44 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d ID..}....enum {. 1420: 0a 09 53 48 44 49 44 5f 52 4f 4f 54 5f 52 45 47 ..SHDID_ROOT_REG 1430: 49 54 45 4d 20 3d 20 31 2c 0d 0a 09 53 48 44 49 ITEM = 1,...SHDI 1440: 44 5f 46 53 5f 46 49 4c 45 2c 0d 0a 09 53 48 44 D_FS_FILE,...SHD 1450: 49 44 5f 46 53 5f 44 49 52 45 43 54 4f 52 59 2c ID_FS_DIRECTORY, 1460: 0d 0a 09 53 48 44 49 44 5f 46 53 5f 4f 54 48 45 ...SHDID_FS_OTHE 1470: 52 2c 0d 0a 09 53 48 44 49 44 5f 43 4f 4d 50 55 R,...SHDID_COMPU 1480: 54 45 52 5f 44 52 49 56 45 33 35 2c 0d 0a 09 53 TER_DRIVE35,...S 1490: 48 44 49 44 5f 43 4f 4d 50 55 54 45 52 5f 44 52 HDID_COMPUTER_DR 14a0: 49 56 45 35 32 35 2c 0d 0a 09 53 48 44 49 44 5f IVE525,...SHDID_ 14b0: 43 4f 4d 50 55 54 45 52 5f 52 45 4d 4f 56 41 42 COMPUTER_REMOVAB 14c0: 4c 45 2c 0d 0a 09 53 48 44 49 44 5f 43 4f 4d 50 LE,...SHDID_COMP 14d0: 55 54 45 52 5f 46 49 58 45 44 2c 0d 0a 09 53 48 UTER_FIXED,...SH 14e0: 44 49 44 5f 43 4f 4d 50 55 54 45 52 5f 4e 45 54 DID_COMPUTER_NET 14f0: 44 52 49 56 45 2c 0d 0a 09 53 48 44 49 44 5f 43 DRIVE,...SHDID_C 1500: 4f 4d 50 55 54 45 52 5f 43 44 52 4f 4d 2c 0d 0a OMPUTER_CDROM,.. 1510: 09 53 48 44 49 44 5f 43 4f 4d 50 55 54 45 52 5f .SHDID_COMPUTER_ 1520: 52 41 4d 44 49 53 4b 2c 0d 0a 09 53 48 44 49 44 RAMDISK,...SHDID 1530: 5f 43 4f 4d 50 55 54 45 52 5f 4f 54 48 45 52 2c _COMPUTER_OTHER, 1540: 0d 0a 09 53 48 44 49 44 5f 4e 45 54 5f 44 4f 4d ...SHDID_NET_DOM 1550: 41 49 4e 2c 0d 0a 09 53 48 44 49 44 5f 4e 45 54 AIN,...SHDID_NET 1560: 5f 53 45 52 56 45 52 2c 0d 0a 09 53 48 44 49 44 _SERVER,...SHDID 1570: 5f 4e 45 54 5f 53 48 41 52 45 2c 0d 0a 09 53 48 _NET_SHARE,...SH 1580: 44 49 44 5f 4e 45 54 5f 52 45 53 54 4f 46 4e 45 DID_NET_RESTOFNE 1590: 54 2c 0d 0a 09 53 48 44 49 44 5f 4e 45 54 5f 4f T,...SHDID_NET_O 15a0: 54 48 45 52 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 THER..}....const 15b0: 20 54 43 48 41 52 5b 5d 20 52 45 47 53 54 52 5f TCHAR[] REGSTR_ 15c0: 50 41 54 48 5f 45 58 50 4c 4f 52 45 52 20 3d 20 PATH_EXPLORER = 15d0: 22 53 6f 66 74 77 61 72 65 5c 5c 4d 69 63 72 6f "Software\\Micro 15e0: 73 6f 66 74 5c 5c 57 69 6e 64 6f 77 73 5c 5c 43 soft\\Windows\\C 15f0: 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 5c 5c 45 urrentVersion\\E 1600: 78 70 6c 6f 72 65 72 22 3b 0d 0a 63 6f 6e 73 74 xplorer";..const 1610: 20 54 43 48 41 52 5b 5d 20 52 45 47 53 54 52 5f TCHAR[] REGSTR_ 1620: 50 41 54 48 5f 53 50 45 43 49 41 4c 5f 46 4f 4c PATH_SPECIAL_FOL 1630: 44 45 52 53 3d 52 45 47 53 54 52 5f 50 41 54 48 DERS=REGSTR_PATH 1640: 5f 45 58 50 4c 4f 52 45 52 20 7e 20 22 5c 5c 53 _EXPLORER ~ "\\S 1650: 68 65 6c 6c 20 46 6f 6c 64 65 72 73 22 3b 0d 0a hell Folders";.. 1660: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 43 53 49 44 4c ..enum {...CSIDL 1670: 5f 44 45 53 4b 54 4f 50 20 20 20 20 20 20 20 20 _DESKTOP 1680: 20 20 20 20 3d 20 20 30 2c 0d 0a 09 43 53 49 44 = 0,...CSID 1690: 4c 5f 49 4e 54 45 52 4e 45 54 2c 0d 0a 09 43 53 L_INTERNET,...CS 16a0: 49 44 4c 5f 50 52 4f 47 52 41 4d 53 2c 0d 0a 09 IDL_PROGRAMS,... 16b0: 43 53 49 44 4c 5f 43 4f 4e 54 52 4f 4c 53 2c 0d CSIDL_CONTROLS,. 16c0: 0a 09 43 53 49 44 4c 5f 50 52 49 4e 54 45 52 53 ..CSIDL_PRINTERS 16d0: 2c 0d 0a 09 43 53 49 44 4c 5f 50 45 52 53 4f 4e ,...CSIDL_PERSON 16e0: 41 4c 2c 0d 0a 09 43 53 49 44 4c 5f 46 41 56 4f AL,...CSIDL_FAVO 16f0: 52 49 54 45 53 2c 0d 0a 09 43 53 49 44 4c 5f 53 RITES,...CSIDL_S 1700: 54 41 52 54 55 50 2c 0d 0a 09 43 53 49 44 4c 5f TARTUP,...CSIDL_ 1710: 52 45 43 45 4e 54 2c 0d 0a 09 43 53 49 44 4c 5f RECENT,...CSIDL_ 1720: 53 45 4e 44 54 4f 2c 0d 0a 09 43 53 49 44 4c 5f SENDTO,...CSIDL_ 1730: 42 49 54 42 55 43 4b 45 54 2c 0d 0a 09 43 53 49 BITBUCKET,...CSI 1740: 44 4c 5f 53 54 41 52 54 4d 45 4e 55 2c 20 20 20 DL_STARTMENU, 1750: 20 20 20 2f 2f 20 3d 20 31 31 0d 0a 09 43 53 49 // = 11...CSI 1760: 44 4c 5f 4d 59 4d 55 53 49 43 20 20 20 20 20 20 DL_MYMUSIC 1770: 20 20 20 20 20 20 3d 20 31 33 2c 0d 0a 09 43 53 = 13,...CS 1780: 49 44 4c 5f 4d 59 56 49 44 45 4f 2c 20 20 20 20 IDL_MYVIDEO, 1790: 20 20 20 20 2f 2f 20 3d 20 31 34 0d 0a 09 43 53 // = 14...CS 17a0: 49 44 4c 5f 44 45 53 4b 54 4f 50 44 49 52 45 43 IDL_DESKTOPDIREC 17b0: 54 4f 52 59 20 20 20 3d 20 31 36 2c 0d 0a 09 43 TORY = 16,...C 17c0: 53 49 44 4c 5f 44 52 49 56 45 53 2c 0d 0a 09 43 SIDL_DRIVES,...C 17d0: 53 49 44 4c 5f 4e 45 54 57 4f 52 4b 2c 0d 0a 09 SIDL_NETWORK,... 17e0: 43 53 49 44 4c 5f 4e 45 54 48 4f 4f 44 2c 0d 0a CSIDL_NETHOOD,.. 17f0: 09 43 53 49 44 4c 5f 46 4f 4e 54 53 2c 0d 0a 09 .CSIDL_FONTS,... 1800: 43 53 49 44 4c 5f 54 45 4d 50 4c 41 54 45 53 2c CSIDL_TEMPLATES, 1810: 0d 0a 09 43 53 49 44 4c 5f 43 4f 4d 4d 4f 4e 5f ...CSIDL_COMMON_ 1820: 53 54 41 52 54 4d 45 4e 55 2c 0d 0a 09 43 53 49 STARTMENU,...CSI 1830: 44 4c 5f 43 4f 4d 4d 4f 4e 5f 50 52 4f 47 52 41 DL_COMMON_PROGRA 1840: 4d 53 2c 0d 0a 09 43 53 49 44 4c 5f 43 4f 4d 4d MS,...CSIDL_COMM 1850: 4f 4e 5f 53 54 41 52 54 55 50 2c 0d 0a 09 43 53 ON_STARTUP,...CS 1860: 49 44 4c 5f 43 4f 4d 4d 4f 4e 5f 44 45 53 4b 54 IDL_COMMON_DESKT 1870: 4f 50 44 49 52 45 43 54 4f 52 59 2c 0d 0a 09 43 OPDIRECTORY,...C 1880: 53 49 44 4c 5f 41 50 50 44 41 54 41 2c 0d 0a 09 SIDL_APPDATA,... 1890: 43 53 49 44 4c 5f 50 52 49 4e 54 48 4f 4f 44 2c CSIDL_PRINTHOOD, 18a0: 0d 0a 09 43 53 49 44 4c 5f 4c 4f 43 41 4c 5f 41 ...CSIDL_LOCAL_A 18b0: 50 50 44 41 54 41 2c 0d 0a 09 43 53 49 44 4c 5f PPDATA,...CSIDL_ 18c0: 41 4c 54 53 54 41 52 54 55 50 2c 0d 0a 09 43 53 ALTSTARTUP,...CS 18d0: 49 44 4c 5f 43 4f 4d 4d 4f 4e 5f 41 4c 54 53 54 IDL_COMMON_ALTST 18e0: 41 52 54 55 50 2c 0d 0a 09 43 53 49 44 4c 5f 43 ARTUP,...CSIDL_C 18f0: 4f 4d 4d 4f 4e 5f 46 41 56 4f 52 49 54 45 53 2c OMMON_FAVORITES, 1900: 0d 0a 09 43 53 49 44 4c 5f 49 4e 54 45 52 4e 45 ...CSIDL_INTERNE 1910: 54 5f 43 41 43 48 45 2c 0d 0a 09 43 53 49 44 4c T_CACHE,...CSIDL 1920: 5f 43 4f 4f 4b 49 45 53 2c 0d 0a 09 43 53 49 44 _COOKIES,...CSID 1930: 4c 5f 48 49 53 54 4f 52 59 2c 0d 0a 09 43 53 49 L_HISTORY,...CSI 1940: 44 4c 5f 43 4f 4d 4d 4f 4e 5f 41 50 50 44 41 54 DL_COMMON_APPDAT 1950: 41 2c 0d 0a 09 43 53 49 44 4c 5f 57 49 4e 44 4f A,...CSIDL_WINDO 1960: 57 53 2c 0d 0a 09 43 53 49 44 4c 5f 53 59 53 54 WS,...CSIDL_SYST 1970: 45 4d 2c 0d 0a 09 43 53 49 44 4c 5f 50 52 4f 47 EM,...CSIDL_PROG 1980: 52 41 4d 5f 46 49 4c 45 53 2c 0d 0a 09 43 53 49 RAM_FILES,...CSI 1990: 44 4c 5f 4d 59 50 49 43 54 55 52 45 53 2c 0d 0a DL_MYPICTURES,.. 19a0: 09 43 53 49 44 4c 5f 50 52 4f 46 49 4c 45 2c 0d .CSIDL_PROFILE,. 19b0: 0a 09 43 53 49 44 4c 5f 53 59 53 54 45 4d 58 38 ..CSIDL_SYSTEMX8 19c0: 36 2c 0d 0a 09 43 53 49 44 4c 5f 50 52 4f 47 52 6,...CSIDL_PROGR 19d0: 41 4d 5f 46 49 4c 45 53 58 38 36 2c 0d 0a 09 43 AM_FILESX86,...C 19e0: 53 49 44 4c 5f 50 52 4f 47 52 41 4d 5f 46 49 4c SIDL_PROGRAM_FIL 19f0: 45 53 5f 43 4f 4d 4d 4f 4e 2c 0d 0a 09 43 53 49 ES_COMMON,...CSI 1a00: 44 4c 5f 50 52 4f 47 52 41 4d 5f 46 49 4c 45 53 DL_PROGRAM_FILES 1a10: 5f 43 4f 4d 4d 4f 4e 58 38 36 2c 0d 0a 09 43 53 _COMMONX86,...CS 1a20: 49 44 4c 5f 43 4f 4d 4d 4f 4e 5f 54 45 4d 50 4c IDL_COMMON_TEMPL 1a30: 41 54 45 53 2c 0d 0a 09 43 53 49 44 4c 5f 43 4f ATES,...CSIDL_CO 1a40: 4d 4d 4f 4e 5f 44 4f 43 55 4d 45 4e 54 53 2c 0d MMON_DOCUMENTS,. 1a50: 0a 09 43 53 49 44 4c 5f 43 4f 4d 4d 4f 4e 5f 41 ..CSIDL_COMMON_A 1a60: 44 4d 49 4e 54 4f 4f 4c 53 2c 0d 0a 09 43 53 49 DMINTOOLS,...CSI 1a70: 44 4c 5f 41 44 4d 49 4e 54 4f 4f 4c 53 2c 0d 0a DL_ADMINTOOLS,.. 1a80: 09 43 53 49 44 4c 5f 43 4f 4e 4e 45 43 54 49 4f .CSIDL_CONNECTIO 1a90: 4e 53 2c 20 20 2f 2f 20 3d 20 34 39 0d 0a 09 43 NS, // = 49...C 1aa0: 53 49 44 4c 5f 43 4f 4d 4d 4f 4e 5f 4d 55 53 49 SIDL_COMMON_MUSI 1ab0: 43 20 20 20 20 20 3d 20 35 33 2c 0d 0a 09 43 53 C = 53,...CS 1ac0: 49 44 4c 5f 43 4f 4d 4d 4f 4e 5f 50 49 43 54 55 IDL_COMMON_PICTU 1ad0: 52 45 53 2c 0d 0a 09 43 53 49 44 4c 5f 43 4f 4d RES,...CSIDL_COM 1ae0: 4d 4f 4e 5f 56 49 44 45 4f 2c 0d 0a 09 43 53 49 MON_VIDEO,...CSI 1af0: 44 4c 5f 52 45 53 4f 55 52 43 45 53 2c 0d 0a 09 DL_RESOURCES,... 1b00: 43 53 49 44 4c 5f 52 45 53 4f 55 52 43 45 53 5f CSIDL_RESOURCES_ 1b10: 4c 4f 43 41 4c 49 5a 45 44 2c 0d 0a 09 43 53 49 LOCALIZED,...CSI 1b20: 44 4c 5f 43 4f 4d 4d 4f 4e 5f 4f 45 4d 5f 4c 49 DL_COMMON_OEM_LI 1b30: 4e 4b 53 2c 0d 0a 09 43 53 49 44 4c 5f 43 44 42 NKS,...CSIDL_CDB 1b40: 55 52 4e 5f 41 52 45 41 2c 20 20 2f 2f 20 3d 20 URN_AREA, // = 1b50: 35 39 0d 0a 09 43 53 49 44 4c 5f 43 4f 4d 50 55 59...CSIDL_COMPU 1b60: 54 45 52 53 4e 45 41 52 4d 45 20 20 3d 20 36 31 TERSNEARME = 61 1b70: 2c 0d 0a 09 43 53 49 44 4c 5f 46 4c 41 47 5f 44 ,...CSIDL_FLAG_D 1b80: 4f 4e 54 5f 56 45 52 49 46 59 20 3d 20 30 78 34 ONT_VERIFY = 0x4 1b90: 30 30 30 2c 0d 0a 09 43 53 49 44 4c 5f 46 4c 41 000,...CSIDL_FLA 1ba0: 47 5f 43 52 45 41 54 45 20 20 20 20 20 20 3d 20 G_CREATE = 1bb0: 30 78 38 30 30 30 2c 0d 0a 09 43 53 49 44 4c 5f 0x8000,...CSIDL_ 1bc0: 46 4c 41 47 5f 4d 41 53 4b 20 20 20 20 20 20 20 FLAG_MASK 1bd0: 20 3d 20 30 78 46 46 30 30 0d 0a 7d 0d 0a 0d 0a = 0xFF00..}.... 1be0: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 0d 0a 09 const TCHAR[]... 1bf0: 43 46 53 54 52 5f 53 48 45 4c 4c 49 44 4c 49 53 CFSTR_SHELLIDLIS 1c00: 54 20 20 20 20 20 20 20 3d 20 22 53 68 65 6c 6c T = "Shell 1c10: 20 49 44 4c 69 73 74 20 41 72 72 61 79 22 2c 0d IDList Array",. 1c20: 0a 09 43 46 53 54 52 5f 53 48 45 4c 4c 49 44 4c ..CFSTR_SHELLIDL 1c30: 49 53 54 4f 46 46 53 45 54 20 3d 20 22 53 68 65 ISTOFFSET = "She 1c40: 6c 6c 20 4f 62 6a 65 63 74 20 4f 66 66 73 65 74 ll Object Offset 1c50: 73 22 2c 0d 0a 09 43 46 53 54 52 5f 4e 45 54 52 s",...CFSTR_NETR 1c60: 45 53 4f 55 52 43 45 53 20 20 20 20 20 20 3d 20 ESOURCES = 1c70: 22 4e 65 74 20 52 65 73 6f 75 72 63 65 22 2c 0d "Net Resource",. 1c80: 0a 09 43 46 53 54 52 5f 46 49 4c 45 43 4f 4e 54 ..CFSTR_FILECONT 1c90: 45 4e 54 53 20 20 20 20 20 20 3d 20 22 46 69 6c ENTS = "Fil 1ca0: 65 43 6f 6e 74 65 6e 74 73 22 2c 0d 0a 09 43 46 eContents",...CF 1cb0: 53 54 52 5f 46 49 4c 45 4e 41 4d 45 41 20 20 20 STR_FILENAMEA 1cc0: 20 20 20 20 20 20 3d 20 22 46 69 6c 65 4e 61 6d = "FileNam 1cd0: 65 22 2c 0d 0a 09 43 46 53 54 52 5f 46 49 4c 45 e",...CFSTR_FILE 1ce0: 4e 41 4d 45 4d 41 50 41 20 20 20 20 20 20 3d 20 NAMEMAPA = 1cf0: 22 46 69 6c 65 4e 61 6d 65 4d 61 70 22 2c 0d 0a "FileNameMap",.. 1d00: 09 43 46 53 54 52 5f 46 49 4c 45 44 45 53 43 52 .CFSTR_FILEDESCR 1d10: 49 50 54 4f 52 41 20 20 20 3d 20 22 46 69 6c 65 IPTORA = "File 1d20: 47 72 6f 75 70 44 65 73 63 72 69 70 74 6f 72 22 GroupDescriptor" 1d30: 2c 0d 0a 09 43 46 53 54 52 5f 49 4e 45 54 55 52 ,...CFSTR_INETUR 1d40: 4c 41 20 20 20 20 20 20 20 20 20 20 3d 20 22 55 LA = "U 1d50: 6e 69 66 6f 72 6d 52 65 73 6f 75 72 63 65 4c 6f niformResourceLo 1d60: 63 61 74 6f 72 22 2c 0d 0a 09 43 46 53 54 52 5f cator",...CFSTR_ 1d70: 53 48 45 4c 4c 55 52 4c 20 20 20 20 20 20 20 20 SHELLURL 1d80: 20 20 3d 20 43 46 53 54 52 5f 49 4e 45 54 55 52 = CFSTR_INETUR 1d90: 4c 41 2c 0d 0a 09 43 46 53 54 52 5f 46 49 4c 45 LA,...CFSTR_FILE 1da0: 4e 41 4d 45 57 20 20 20 20 20 20 20 20 20 3d 20 NAMEW = 1db0: 22 46 69 6c 65 4e 61 6d 65 57 22 2c 0d 0a 09 43 "FileNameW",...C 1dc0: 46 53 54 52 5f 46 49 4c 45 4e 41 4d 45 4d 41 50 FSTR_FILENAMEMAP 1dd0: 57 20 20 20 20 20 20 3d 20 22 46 69 6c 65 4e 61 W = "FileNa 1de0: 6d 65 4d 61 70 57 22 2c 0d 0a 09 43 46 53 54 52 meMapW",...CFSTR 1df0: 5f 46 49 4c 45 44 45 53 43 52 49 50 54 4f 52 57 _FILEDESCRIPTORW 1e00: 20 20 20 3d 20 22 46 69 6c 65 47 72 6f 75 70 44 = "FileGroupD 1e10: 65 73 63 72 69 70 74 6f 72 57 22 2c 0d 0a 09 43 escriptorW",...C 1e20: 46 53 54 52 5f 49 4e 45 54 55 52 4c 57 20 20 20 FSTR_INETURLW 1e30: 20 20 20 20 20 20 20 3d 20 22 55 6e 69 66 6f 72 = "Unifor 1e40: 6d 52 65 73 6f 75 72 63 65 4c 6f 63 61 74 6f 72 mResourceLocator 1e50: 57 22 3b 0d 0a 0d 0a 76 65 72 73 69 6f 6e 28 55 W";....version(U 1e60: 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c 69 61 nicode) {...alia 1e70: 73 20 43 46 53 54 52 5f 46 49 4c 45 4e 41 4d 45 s CFSTR_FILENAME 1e80: 57 20 43 46 53 54 52 5f 46 49 4c 45 4e 41 4d 45 W CFSTR_FILENAME 1e90: 3b 0d 0a 09 61 6c 69 61 73 20 43 46 53 54 52 5f ;...alias CFSTR_ 1ea0: 46 49 4c 45 4e 41 4d 45 4d 41 50 57 20 43 46 53 FILENAMEMAPW CFS 1eb0: 54 52 5f 46 49 4c 45 4e 41 4d 45 4d 41 50 3b 0d TR_FILENAMEMAP;. 1ec0: 0a 09 61 6c 69 61 73 20 43 46 53 54 52 5f 46 49 ..alias CFSTR_FI 1ed0: 4c 45 44 45 53 43 52 49 50 54 4f 52 57 20 43 46 LEDESCRIPTORW CF 1ee0: 53 54 52 5f 46 49 4c 45 44 45 53 43 52 49 50 54 STR_FILEDESCRIPT 1ef0: 4f 52 3b 0d 0a 09 61 6c 69 61 73 20 43 46 53 54 OR;...alias CFST 1f00: 52 5f 49 4e 45 54 55 52 4c 57 20 43 46 53 54 52 R_INETURLW CFSTR 1f10: 5f 49 4e 45 54 55 52 4c 3b 0d 0a 7d 20 65 6c 73 _INETURL;..} els 1f20: 65 20 7b 0d 0a 09 61 6c 69 61 73 20 43 46 53 54 e {...alias CFST 1f30: 52 5f 46 49 4c 45 4e 41 4d 45 41 20 43 46 53 54 R_FILENAMEA CFST 1f40: 52 5f 46 49 4c 45 4e 41 4d 45 3b 0d 0a 09 61 6c R_FILENAME;...al 1f50: 69 61 73 20 43 46 53 54 52 5f 46 49 4c 45 4e 41 ias CFSTR_FILENA 1f60: 4d 45 4d 41 50 41 20 43 46 53 54 52 5f 46 49 4c MEMAPA CFSTR_FIL 1f70: 45 4e 41 4d 45 4d 41 50 3b 0d 0a 09 61 6c 69 61 ENAMEMAP;...alia 1f80: 73 20 43 46 53 54 52 5f 46 49 4c 45 44 45 53 43 s CFSTR_FILEDESC 1f90: 52 49 50 54 4f 52 41 20 43 46 53 54 52 5f 46 49 RIPTORA CFSTR_FI 1fa0: 4c 45 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a 09 LEDESCRIPTOR;... 1fb0: 61 6c 69 61 73 20 43 46 53 54 52 5f 49 4e 45 54 alias CFSTR_INET 1fc0: 55 52 4c 41 20 43 46 53 54 52 5f 49 4e 45 54 55 URLA CFSTR_INETU 1fd0: 52 4c 3b 0d 0a 7d 0d 0a 63 6f 6e 73 74 20 54 43 RL;..}..const TC 1fe0: 48 41 52 5b 5d 0d 0a 09 43 46 53 54 52 5f 50 52 HAR[]...CFSTR_PR 1ff0: 49 4e 54 45 52 47 52 4f 55 50 20 20 20 20 20 20 INTERGROUP 2000: 20 20 3d 20 22 50 72 69 6e 74 65 72 46 72 69 65 = "PrinterFrie 2010: 6e 64 6c 79 4e 61 6d 65 22 2c 0d 0a 09 43 46 53 ndlyName",...CFS 2020: 54 52 5f 49 4e 44 52 41 47 4c 4f 4f 50 20 20 20 TR_INDRAGLOOP 2030: 20 20 20 20 20 20 20 3d 20 22 49 6e 53 68 65 6c = "InShel 2040: 6c 44 72 61 67 4c 6f 6f 70 22 2c 0d 0a 09 43 46 lDragLoop",...CF 2050: 53 54 52 5f 50 41 53 54 45 53 55 43 43 45 45 44 STR_PASTESUCCEED 2060: 45 44 20 20 20 20 20 20 3d 20 22 50 61 73 74 65 ED = "Paste 2070: 20 53 75 63 63 65 65 64 65 64 22 2c 0d 0a 09 43 Succeeded",...C 2080: 46 53 54 52 5f 50 45 52 46 4f 52 4d 45 44 44 52 FSTR_PERFORMEDDR 2090: 4f 50 45 46 46 45 43 54 20 3d 20 22 50 65 72 66 OPEFFECT = "Perf 20a0: 6f 72 6d 65 64 20 44 72 6f 70 45 66 66 65 63 74 ormed DropEffect 20b0: 22 2c 0d 0a 09 43 46 53 54 52 5f 50 52 45 46 45 ",...CFSTR_PREFE 20c0: 52 52 45 44 44 52 4f 50 45 46 46 45 43 54 20 3d RREDDROPEFFECT = 20d0: 20 22 50 72 65 66 65 72 72 65 64 20 44 72 6f 70 "Preferred Drop 20e0: 45 66 66 65 63 74 22 3b 0d 0a 0d 0a 63 6f 6e 73 Effect";....cons 20f0: 74 20 43 4d 46 5f 4e 4f 52 4d 41 4c 3d 30 3b 0d t CMF_NORMAL=0;. 2100: 0a 63 6f 6e 73 74 20 43 4d 46 5f 44 45 46 41 55 .const CMF_DEFAU 2110: 4c 54 4f 4e 4c 59 3d 31 3b 0d 0a 63 6f 6e 73 74 LTONLY=1;..const 2120: 20 43 4d 46 5f 56 45 52 42 53 4f 4e 4c 59 3d 32 CMF_VERBSONLY=2 2130: 3b 0d 0a 63 6f 6e 73 74 20 43 4d 46 5f 45 58 50 ;..const CMF_EXP 2140: 4c 4f 52 45 3d 34 3b 0d 0a 63 6f 6e 73 74 20 43 LORE=4;..const C 2150: 4d 46 5f 4e 4f 56 45 52 42 53 3d 38 3b 0d 0a 63 MF_NOVERBS=8;..c 2160: 6f 6e 73 74 20 43 4d 46 5f 43 41 4e 52 45 4e 41 onst CMF_CANRENA 2170: 4d 45 3d 31 36 3b 0d 0a 63 6f 6e 73 74 20 43 4d ME=16;..const CM 2180: 46 5f 4e 4f 44 45 46 41 55 4c 54 3d 33 32 3b 0d F_NODEFAULT=32;. 2190: 0a 63 6f 6e 73 74 20 43 4d 46 5f 49 4e 43 4c 55 .const CMF_INCLU 21a0: 44 45 53 54 41 54 49 43 3d 36 34 3b 0d 0a 63 6f DESTATIC=64;..co 21b0: 6e 73 74 20 43 4d 46 5f 52 45 53 45 52 56 45 44 nst CMF_RESERVED 21c0: 3d 30 78 66 66 66 66 30 30 30 30 3b 0d 0a 63 6f =0xffff0000;..co 21d0: 6e 73 74 20 47 43 53 5f 56 45 52 42 41 3d 30 3b nst GCS_VERBA=0; 21e0: 0d 0a 63 6f 6e 73 74 20 47 43 53 5f 48 45 4c 50 ..const GCS_HELP 21f0: 54 45 58 54 41 3d 31 3b 0d 0a 63 6f 6e 73 74 20 TEXTA=1;..const 2200: 47 43 53 5f 56 41 4c 49 44 41 54 45 41 3d 32 3b GCS_VALIDATEA=2; 2210: 0d 0a 63 6f 6e 73 74 20 47 43 53 5f 56 45 52 42 ..const GCS_VERB 2220: 57 3d 34 3b 0d 0a 63 6f 6e 73 74 20 47 43 53 5f W=4;..const GCS_ 2230: 48 45 4c 50 54 45 58 54 57 3d 35 3b 0d 0a 63 6f HELPTEXTW=5;..co 2240: 6e 73 74 20 47 43 53 5f 56 41 4c 49 44 41 54 45 nst GCS_VALIDATE 2250: 57 3d 36 3b 0d 0a 63 6f 6e 73 74 20 47 43 53 5f W=6;..const GCS_ 2260: 55 4e 49 43 4f 44 45 3d 34 3b 0d 0a 0d 0a 76 65 UNICODE=4;....ve 2270: 72 73 69 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b rsion(Unicode) { 2280: 0d 0a 09 61 6c 69 61 73 20 47 43 53 5f 56 45 52 ...alias GCS_VER 2290: 42 57 20 47 43 53 5f 56 45 52 42 3b 0d 0a 09 61 BW GCS_VERB;...a 22a0: 6c 69 61 73 20 47 43 53 5f 48 45 4c 50 54 45 58 lias GCS_HELPTEX 22b0: 54 57 20 47 43 53 5f 48 45 4c 50 54 45 58 54 3b TW GCS_HELPTEXT; 22c0: 0d 0a 09 61 6c 69 61 73 20 47 43 53 5f 56 41 4c ...alias GCS_VAL 22d0: 49 44 41 54 45 57 20 47 43 53 5f 56 41 4c 49 44 IDATEW GCS_VALID 22e0: 41 54 45 3b 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a ATE;..} else {.. 22f0: 09 61 6c 69 61 73 20 47 43 53 5f 56 45 52 42 41 .alias GCS_VERBA 2300: 20 47 43 53 5f 56 45 52 42 3b 0d 0a 09 61 6c 69 GCS_VERB;...ali 2310: 61 73 20 47 43 53 5f 48 45 4c 50 54 45 58 54 41 as GCS_HELPTEXTA 2320: 20 47 43 53 5f 48 45 4c 50 54 45 58 54 3b 0d 0a GCS_HELPTEXT;.. 2330: 09 61 6c 69 61 73 20 47 43 53 5f 56 41 4c 49 44 .alias GCS_VALID 2340: 41 54 45 41 20 47 43 53 5f 56 41 4c 49 44 41 54 ATEA GCS_VALIDAT 2350: 45 3b 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 54 E;..}....const T 2360: 43 48 41 52 5b 5d 0d 0a 09 43 4d 44 53 54 52 5f CHAR[]...CMDSTR_ 2370: 4e 45 57 46 4f 4c 44 45 52 20 20 20 3d 20 22 4e NEWFOLDER = "N 2380: 65 77 46 6f 6c 64 65 72 22 2c 0d 0a 09 43 4d 44 ewFolder",...CMD 2390: 53 54 52 5f 56 49 45 57 4c 49 53 54 20 20 20 20 STR_VIEWLIST 23a0: 3d 20 22 56 69 65 77 4c 69 73 74 22 2c 0d 0a 09 = "ViewList",... 23b0: 43 4d 44 53 54 52 5f 56 49 45 57 44 45 54 41 49 CMDSTR_VIEWDETAI 23c0: 4c 53 20 3d 20 22 56 69 65 77 44 65 74 61 69 6c LS = "ViewDetail 23d0: 73 22 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 43 4d 49 s";....const CMI 23e0: 43 5f 4d 41 53 4b 5f 48 4f 54 4b 45 59 20 20 20 C_MASK_HOTKEY 23f0: 20 20 3d 20 53 45 45 5f 4d 41 53 4b 5f 48 4f 54 = SEE_MASK_HOT 2400: 4b 45 59 3b 0d 0a 63 6f 6e 73 74 20 43 4d 49 43 KEY;..const CMIC 2410: 5f 4d 41 53 4b 5f 49 43 4f 4e 20 20 20 20 20 20 _MASK_ICON 2420: 20 3d 20 53 45 45 5f 4d 41 53 4b 5f 49 43 4f 4e = SEE_MASK_ICON 2430: 3b 0d 0a 63 6f 6e 73 74 20 43 4d 49 43 5f 4d 41 ;..const CMIC_MA 2440: 53 4b 5f 46 4c 41 47 5f 4e 4f 5f 55 49 20 3d 20 SK_FLAG_NO_UI = 2450: 53 45 45 5f 4d 41 53 4b 5f 46 4c 41 47 5f 4e 4f SEE_MASK_FLAG_NO 2460: 5f 55 49 3b 0d 0a 63 6f 6e 73 74 20 43 4d 49 43 _UI;..const CMIC 2470: 5f 4d 41 53 4b 5f 4d 4f 44 41 4c 20 20 20 20 20 _MASK_MODAL 2480: 20 3d 20 30 78 38 30 30 30 30 30 30 30 3b 0d 0a = 0x80000000;.. 2490: 2f 2f 20 54 4f 44 4f 3a 20 54 68 69 73 20 69 73 // TODO: This is 24a0: 6e 27 74 20 64 65 66 69 6e 65 64 20 61 6e 79 77 n't defined anyw 24b0: 68 65 72 65 20 69 6e 20 4d 69 6e 47 57 2e 0d 0a here in MinGW... 24c0: 2f 2f 63 6f 6e 73 74 20 43 4d 49 43 5f 56 41 4c //const CMIC_VAL 24d0: 49 44 5f 53 45 45 5f 46 4c 41 47 53 3d 53 45 45 ID_SEE_FLAGS=SEE 24e0: 5f 56 41 4c 49 44 5f 43 4d 49 43 5f 46 4c 41 47 _VALID_CMIC_FLAG 24f0: 53 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 47 49 4c 5f S;....const GIL_ 2500: 4f 50 45 4e 49 43 4f 4e 20 3d 20 31 3b 0d 0a 63 OPENICON = 1;..c 2510: 6f 6e 73 74 20 47 49 4c 5f 46 4f 52 53 48 45 4c onst GIL_FORSHEL 2520: 4c 20 3d 20 32 3b 0d 0a 63 6f 6e 73 74 20 47 49 L = 2;..const GI 2530: 4c 5f 53 49 4d 55 4c 41 54 45 44 4f 43 20 3d 20 L_SIMULATEDOC = 2540: 31 3b 0d 0a 63 6f 6e 73 74 20 47 49 4c 5f 50 45 1;..const GIL_PE 2550: 52 49 4e 53 54 41 4e 43 45 20 3d 20 32 3b 0d 0a RINSTANCE = 2;.. 2560: 63 6f 6e 73 74 20 47 49 4c 5f 50 45 52 43 4c 41 const GIL_PERCLA 2570: 53 53 20 3d 20 34 3b 0d 0a 63 6f 6e 73 74 20 47 SS = 4;..const G 2580: 49 4c 5f 4e 4f 54 46 49 4c 45 4e 41 4d 45 20 3d IL_NOTFILENAME = 2590: 20 38 3b 0d 0a 63 6f 6e 73 74 20 47 49 4c 5f 44 8;..const GIL_D 25a0: 4f 4e 54 43 41 43 48 45 20 3d 20 31 36 3b 0d 0a ONTCACHE = 16;.. 25b0: 0d 0a 63 6f 6e 73 74 20 46 56 53 49 46 5f 52 45 ..const FVSIF_RE 25c0: 43 54 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 46 CT = 1;..const F 25d0: 56 53 49 46 5f 50 49 4e 4e 45 44 20 3d 20 32 3b VSIF_PINNED = 2; 25e0: 0d 0a 63 6f 6e 73 74 20 46 56 53 49 46 5f 4e 45 ..const FVSIF_NE 25f0: 57 46 41 49 4c 45 44 20 3d 20 30 78 38 30 30 30 WFAILED = 0x8000 2600: 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 46 56 53 49 000;..const FVSI 2610: 46 5f 4e 45 57 46 49 4c 45 20 3d 20 30 78 38 30 F_NEWFILE = 0x80 2620: 30 30 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 46 000000;..const F 2630: 56 53 49 46 5f 43 41 4e 56 49 45 57 49 54 20 3d VSIF_CANVIEWIT = 2640: 20 30 78 34 30 30 30 30 30 30 30 3b 0d 0a 0d 0a 0x40000000;.... 2650: 63 6f 6e 73 74 20 43 44 42 4f 53 43 5f 53 45 54 const CDBOSC_SET 2660: 46 4f 43 55 53 20 3d 20 30 3b 0d 0a 63 6f 6e 73 FOCUS = 0;..cons 2670: 74 20 43 44 42 4f 53 43 5f 4b 49 4c 4c 46 4f 43 t CDBOSC_KILLFOC 2680: 55 53 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 43 US = 1;..const C 2690: 44 42 4f 53 43 5f 53 45 4c 43 48 41 4e 47 45 20 DBOSC_SELCHANGE 26a0: 3d 20 32 3b 0d 0a 63 6f 6e 73 74 20 43 44 42 4f = 2;..const CDBO 26b0: 53 43 5f 52 45 4e 41 4d 45 20 3d 20 33 3b 0d 0a SC_RENAME = 3;.. 26c0: 0d 0a 63 6f 6e 73 74 20 46 43 49 44 4d 5f 53 48 ..const FCIDM_SH 26d0: 56 49 45 57 46 49 52 53 54 20 3d 20 30 3b 0d 0a VIEWFIRST = 0;.. 26e0: 63 6f 6e 73 74 20 46 43 49 44 4d 5f 53 48 56 49 const FCIDM_SHVI 26f0: 45 57 4c 41 53 54 20 3d 20 30 78 37 66 66 66 3b EWLAST = 0x7fff; 2700: 0d 0a 63 6f 6e 73 74 20 46 43 49 44 4d 5f 42 52 ..const FCIDM_BR 2710: 4f 57 53 45 52 46 49 52 53 54 20 3d 20 30 78 61 OWSERFIRST = 0xa 2720: 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 46 43 49 44 000;..const FCID 2730: 4d 5f 42 52 4f 57 53 45 52 4c 41 53 54 20 3d 20 M_BROWSERLAST = 2740: 30 78 62 66 30 30 3b 0d 0a 63 6f 6e 73 74 20 46 0xbf00;..const F 2750: 43 49 44 4d 5f 47 4c 4f 42 41 4c 46 49 52 53 54 CIDM_GLOBALFIRST 2760: 20 3d 20 30 78 38 30 30 30 3b 0d 0a 63 6f 6e 73 = 0x8000;..cons 2770: 74 20 46 43 49 44 4d 5f 47 4c 4f 42 41 4c 4c 41 t FCIDM_GLOBALLA 2780: 53 54 20 3d 20 30 78 39 66 66 66 3b 0d 0a 63 6f ST = 0x9fff;..co 2790: 6e 73 74 20 46 43 49 44 4d 5f 4d 45 4e 55 5f 46 nst FCIDM_MENU_F 27a0: 49 4c 45 20 3d 20 46 43 49 44 4d 5f 47 4c 4f 42 ILE = FCIDM_GLOB 27b0: 41 4c 46 49 52 53 54 3b 0d 0a 63 6f 6e 73 74 20 ALFIRST;..const 27c0: 46 43 49 44 4d 5f 4d 45 4e 55 5f 45 44 49 54 20 FCIDM_MENU_EDIT 27d0: 3d 20 46 43 49 44 4d 5f 47 4c 4f 42 41 4c 46 49 = FCIDM_GLOBALFI 27e0: 52 53 54 2b 30 78 30 30 34 30 3b 0d 0a 63 6f 6e RST+0x0040;..con 27f0: 73 74 20 46 43 49 44 4d 5f 4d 45 4e 55 5f 56 49 st FCIDM_MENU_VI 2800: 45 57 20 3d 20 46 43 49 44 4d 5f 47 4c 4f 42 41 EW = FCIDM_GLOBA 2810: 4c 46 49 52 53 54 2b 30 78 30 30 38 30 3b 0d 0a LFIRST+0x0080;.. 2820: 63 6f 6e 73 74 20 46 43 49 44 4d 5f 4d 45 4e 55 const FCIDM_MENU 2830: 5f 56 49 45 57 5f 53 45 50 5f 4f 50 54 49 4f 4e _VIEW_SEP_OPTION 2840: 53 20 3d 20 46 43 49 44 4d 5f 47 4c 4f 42 41 4c S = FCIDM_GLOBAL 2850: 46 49 52 53 54 2b 30 78 30 30 38 31 3b 0d 0a 63 FIRST+0x0081;..c 2860: 6f 6e 73 74 20 46 43 49 44 4d 5f 4d 45 4e 55 5f onst FCIDM_MENU_ 2870: 54 4f 4f 4c 53 20 3d 20 46 43 49 44 4d 5f 47 4c TOOLS = FCIDM_GL 2880: 4f 42 41 4c 46 49 52 53 54 2b 30 78 30 30 63 30 OBALFIRST+0x00c0 2890: 3b 0d 0a 63 6f 6e 73 74 20 46 43 49 44 4d 5f 4d ;..const FCIDM_M 28a0: 45 4e 55 5f 54 4f 4f 4c 53 5f 53 45 50 5f 47 4f ENU_TOOLS_SEP_GO 28b0: 54 4f 20 3d 20 46 43 49 44 4d 5f 47 4c 4f 42 41 TO = FCIDM_GLOBA 28c0: 4c 46 49 52 53 54 2b 30 78 30 30 63 31 3b 0d 0a LFIRST+0x00c1;.. 28d0: 63 6f 6e 73 74 20 46 43 49 44 4d 5f 4d 45 4e 55 const FCIDM_MENU 28e0: 5f 48 45 4c 50 20 3d 20 46 43 49 44 4d 5f 47 4c _HELP = FCIDM_GL 28f0: 4f 42 41 4c 46 49 52 53 54 2b 30 78 30 31 30 30 OBALFIRST+0x0100 2900: 3b 0d 0a 63 6f 6e 73 74 20 46 43 49 44 4d 5f 4d ;..const FCIDM_M 2910: 45 4e 55 5f 46 49 4e 44 20 3d 20 46 43 49 44 4d ENU_FIND = FCIDM 2920: 5f 47 4c 4f 42 41 4c 46 49 52 53 54 2b 30 78 30 _GLOBALFIRST+0x0 2930: 31 34 30 3b 0d 0a 63 6f 6e 73 74 20 46 43 49 44 140;..const FCID 2940: 4d 5f 4d 45 4e 55 5f 45 58 50 4c 4f 52 45 20 3d M_MENU_EXPLORE = 2950: 20 46 43 49 44 4d 5f 47 4c 4f 42 41 4c 46 49 52 FCIDM_GLOBALFIR 2960: 53 54 2b 30 78 30 31 35 30 3b 0d 0a 63 6f 6e 73 ST+0x0150;..cons 2970: 74 20 46 43 49 44 4d 5f 4d 45 4e 55 5f 46 41 56 t FCIDM_MENU_FAV 2980: 4f 52 49 54 45 53 20 3d 20 46 43 49 44 4d 5f 47 ORITES = FCIDM_G 2990: 4c 4f 42 41 4c 46 49 52 53 54 2b 30 78 30 31 37 LOBALFIRST+0x017 29a0: 30 3b 0d 0a 63 6f 6e 73 74 20 46 43 49 44 4d 5f 0;..const FCIDM_ 29b0: 54 4f 4f 4c 42 41 52 20 3d 20 46 43 49 44 4d 5f TOOLBAR = FCIDM_ 29c0: 42 52 4f 57 53 45 52 46 49 52 53 54 3b 0d 0a 63 BROWSERFIRST;..c 29d0: 6f 6e 73 74 20 46 43 49 44 4d 5f 53 54 41 54 55 onst FCIDM_STATU 29e0: 53 20 3d 20 46 43 49 44 4d 5f 42 52 4f 57 53 45 S = FCIDM_BROWSE 29f0: 52 46 49 52 53 54 2b 31 3b 0d 0a 0d 0a 63 6f 6e RFIRST+1;....con 2a00: 73 74 20 53 42 53 50 5f 44 45 46 42 52 4f 57 53 st SBSP_DEFBROWS 2a10: 45 52 20 3d 20 30 3b 0d 0a 63 6f 6e 73 74 20 53 ER = 0;..const S 2a20: 42 53 50 5f 53 41 4d 45 42 52 4f 57 53 45 52 20 BSP_SAMEBROWSER 2a30: 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 53 42 53 50 = 1;..const SBSP 2a40: 5f 4e 45 57 42 52 4f 57 53 45 52 20 3d 20 32 3b _NEWBROWSER = 2; 2a50: 0d 0a 63 6f 6e 73 74 20 53 42 53 50 5f 44 45 46 ..const SBSP_DEF 2a60: 4d 4f 44 45 20 3d 20 30 3b 0d 0a 63 6f 6e 73 74 MODE = 0;..const 2a70: 20 53 42 53 50 5f 4f 50 45 4e 4d 4f 44 45 20 3d SBSP_OPENMODE = 2a80: 20 31 36 3b 0d 0a 63 6f 6e 73 74 20 53 42 53 50 16;..const SBSP 2a90: 5f 45 58 50 4c 4f 52 45 4d 4f 44 45 20 3d 20 33 _EXPLOREMODE = 3 2aa0: 32 3b 0d 0a 63 6f 6e 73 74 20 53 42 53 50 5f 41 2;..const SBSP_A 2ab0: 42 53 4f 4c 55 54 45 20 3d 20 30 3b 0d 0a 63 6f BSOLUTE = 0;..co 2ac0: 6e 73 74 20 53 42 53 50 5f 52 45 4c 41 54 49 56 nst SBSP_RELATIV 2ad0: 45 20 3d 20 30 78 31 30 30 30 3b 0d 0a 63 6f 6e E = 0x1000;..con 2ae0: 73 74 20 53 42 53 50 5f 50 41 52 45 4e 54 20 3d st SBSP_PARENT = 2af0: 20 30 78 32 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 0x2000;..const 2b00: 53 42 53 50 5f 49 4e 49 54 49 41 54 45 44 42 59 SBSP_INITIATEDBY 2b10: 48 4c 49 4e 4b 46 52 41 4d 45 20 3d 20 30 78 38 HLINKFRAME = 0x8 2b20: 30 30 30 30 30 30 30 3b 0d 0a 63 6f 6e 73 74 20 0000000;..const 2b30: 53 42 53 50 5f 52 45 44 49 52 45 43 54 20 3d 20 SBSP_REDIRECT = 2b40: 30 78 34 30 30 30 30 30 30 30 3b 0d 0a 0d 0a 65 0x40000000;....e 2b50: 6e 75 6d 20 7b 0d 0a 09 46 43 57 5f 53 54 41 54 num {...FCW_STAT 2b60: 55 53 3d 31 2c 0d 0a 09 46 43 57 5f 54 4f 4f 4c US=1,...FCW_TOOL 2b70: 42 41 52 2c 0d 0a 09 46 43 57 5f 54 52 45 45 0d BAR,...FCW_TREE. 2b80: 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 46 43 54 5f .}....const FCT_ 2b90: 4d 45 52 47 45 3d 31 3b 0d 0a 63 6f 6e 73 74 20 MERGE=1;..const 2ba0: 46 43 54 5f 43 4f 4e 46 49 47 41 42 4c 45 3d 32 FCT_CONFIGABLE=2 2bb0: 3b 0d 0a 63 6f 6e 73 74 20 46 43 54 5f 41 44 44 ;..const FCT_ADD 2bc0: 54 4f 45 4e 44 3d 34 3b 0d 0a 0d 0a 63 6f 6e 73 TOEND=4;....cons 2bd0: 74 20 53 56 53 49 5f 44 45 53 45 4c 45 43 54 3d t SVSI_DESELECT= 2be0: 30 3b 0d 0a 63 6f 6e 73 74 20 53 56 53 49 5f 53 0;..const SVSI_S 2bf0: 45 4c 45 43 54 3d 31 3b 0d 0a 63 6f 6e 73 74 20 ELECT=1;..const 2c00: 53 56 53 49 5f 45 44 49 54 3d 33 3b 0d 0a 63 6f SVSI_EDIT=3;..co 2c10: 6e 73 74 20 53 56 53 49 5f 44 45 53 45 4c 45 43 nst SVSI_DESELEC 2c20: 54 4f 54 48 45 52 53 3d 34 3b 0d 0a 63 6f 6e 73 TOTHERS=4;..cons 2c30: 74 20 53 56 53 49 5f 45 4e 53 55 52 45 56 49 53 t SVSI_ENSUREVIS 2c40: 49 42 4c 45 3d 38 3b 0d 0a 63 6f 6e 73 74 20 53 IBLE=8;..const S 2c50: 56 53 49 5f 46 4f 43 55 53 45 44 3d 31 36 3b 0d VSI_FOCUSED=16;. 2c60: 0a 0d 0a 63 6f 6e 73 74 20 53 56 47 49 4f 5f 42 ...const SVGIO_B 2c70: 41 43 4b 47 52 4f 55 4e 44 3d 30 3b 0d 0a 63 6f ACKGROUND=0;..co 2c80: 6e 73 74 20 53 56 47 49 4f 5f 53 45 4c 45 43 54 nst SVGIO_SELECT 2c90: 49 4f 4e 3d 31 3b 0d 0a 63 6f 6e 73 74 20 53 56 ION=1;..const SV 2ca0: 47 49 4f 5f 41 4c 4c 56 49 45 57 3d 32 3b 0d 0a GIO_ALLVIEW=2;.. 2cb0: 0d 0a 63 6f 6e 73 74 20 55 49 4e 54 20 53 56 32 ..const UINT SV2 2cc0: 47 56 5f 43 55 52 52 45 4e 54 56 49 45 57 3d 2d GV_CURRENTVIEW=- 2cd0: 31 3b 0d 0a 63 6f 6e 73 74 20 55 49 4e 54 20 53 1;..const UINT S 2ce0: 56 32 47 56 5f 44 45 46 41 55 4c 54 56 49 45 57 V2GV_DEFAULTVIEW 2cf0: 3d 2d 32 3b 0d 0a 0d 0a 61 6c 69 61 73 20 44 57 =-2;....alias DW 2d00: 4f 52 44 20 53 48 47 44 4e 46 3b 0d 0a 0d 0a 73 ORD SHGDNF;....s 2d10: 74 72 75 63 74 20 43 49 44 41 20 7b 0d 0a 09 55 truct CIDA {...U 2d20: 49 4e 54 20 20 20 20 63 69 64 6c 3b 0d 0a 09 55 INT cidl;...U 2d30: 49 4e 54 5b 31 5d 20 61 6f 66 66 73 65 74 3b 0d INT[1] aoffset;. 2d40: 0a 7d 0d 0a 61 6c 69 61 73 20 43 49 44 41 2a 20 .}..alias CIDA* 2d50: 4c 50 49 44 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 LPIDA;....struct 2d60: 20 53 48 49 54 45 4d 49 44 20 7b 0d 0a 09 55 53 SHITEMID {...US 2d70: 48 4f 52 54 20 20 63 62 3b 0d 0a 09 42 59 54 45 HORT cb;...BYTE 2d80: 5b 31 5d 20 61 62 49 44 3b 0d 0a 7d 0d 0a 61 6c [1] abID;..}..al 2d90: 69 61 73 20 53 48 49 54 45 4d 49 44 2a 20 20 20 ias SHITEMID* 2da0: 20 20 20 20 20 4c 50 53 48 49 54 45 4d 49 44 3b LPSHITEMID; 2db0: 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 74 28 53 48 ..alias const(SH 2dc0: 49 54 45 4d 49 44 29 2a 20 4c 50 43 53 48 49 54 ITEMID)* LPCSHIT 2dd0: 45 4d 49 44 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 EMID;....struct 2de0: 49 54 45 4d 49 44 4c 49 53 54 20 7b 0d 0a 09 53 ITEMIDLIST {...S 2df0: 48 49 54 45 4d 49 44 20 6d 6b 69 64 3b 0d 0a 7d HITEMID mkid;..} 2e00: 0d 0a 61 6c 69 61 73 20 49 54 45 4d 49 44 4c 49 ..alias ITEMIDLI 2e10: 53 54 2a 20 20 20 20 20 20 20 20 4c 50 49 54 45 ST* LPITE 2e20: 4d 49 44 4c 49 53 54 3b 0d 0a 61 6c 69 61 73 20 MIDLIST;..alias 2e30: 63 6f 6e 73 74 28 49 54 45 4d 49 44 4c 49 53 54 const(ITEMIDLIST 2e40: 29 2a 20 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 )* LPCITEMIDLIST 2e50: 3b 0d 0a 0d 0a 61 6c 69 61 73 20 69 6e 74 20 66 ;....alias int f 2e60: 75 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 49 unction(HWND, UI 2e70: 4e 54 2c 20 4c 50 41 52 41 4d 2c 20 4c 50 41 52 NT, LPARAM, LPAR 2e80: 41 4d 29 20 42 46 46 43 41 4c 4c 42 41 43 4b 3b AM) BFFCALLBACK; 2e90: 0d 0a 0d 0a 73 74 72 75 63 74 20 42 52 4f 57 53 ....struct BROWS 2ea0: 45 49 4e 46 4f 41 20 7b 0d 0a 09 48 57 4e 44 20 EINFOA {...HWND 2eb0: 20 20 20 20 20 20 20 20 20 68 77 6e 64 4f 77 6e hwndOwn 2ec0: 65 72 3b 0d 0a 09 4c 50 43 49 54 45 4d 49 44 4c er;...LPCITEMIDL 2ed0: 49 53 54 20 70 69 64 6c 52 6f 6f 74 3b 0d 0a 09 IST pidlRoot;... 2ee0: 4c 50 53 54 52 20 20 20 20 20 20 20 20 20 70 73 LPSTR ps 2ef0: 7a 44 69 73 70 6c 61 79 4e 61 6d 65 3b 0d 0a 09 zDisplayName;... 2f00: 4c 50 43 53 54 52 20 20 20 20 20 20 20 20 6c 70 LPCSTR lp 2f10: 73 7a 54 69 74 6c 65 3b 0d 0a 09 55 49 4e 54 20 szTitle;...UINT 2f20: 20 20 20 20 20 20 20 20 20 75 6c 46 6c 61 67 73 ulFlags 2f30: 3b 0d 0a 09 42 46 46 43 41 4c 4c 42 41 43 4b 20 ;...BFFCALLBACK 2f40: 20 20 6c 70 66 6e 3b 0d 0a 09 4c 50 41 52 41 4d lpfn;...LPARAM 2f50: 20 20 20 20 20 20 20 20 6c 50 61 72 61 6d 3b 0d lParam;. 2f60: 0a 09 69 6e 74 20 20 20 20 20 20 20 20 20 20 20 ..int 2f70: 69 49 6d 61 67 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 iImage;..}..alia 2f80: 73 20 42 52 4f 57 53 45 49 4e 46 4f 41 2a 20 50 s BROWSEINFOA* P 2f90: 42 52 4f 57 53 45 49 4e 46 4f 41 2c 20 4c 50 42 BROWSEINFOA, LPB 2fa0: 52 4f 57 53 45 49 4e 46 4f 41 3b 0d 0a 0d 0a 73 ROWSEINFOA;....s 2fb0: 74 72 75 63 74 20 42 52 4f 57 53 45 49 4e 46 4f truct BROWSEINFO 2fc0: 57 20 7b 0d 0a 09 48 57 4e 44 20 20 20 20 20 20 W {...HWND 2fd0: 20 20 20 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a hwndOwner;.. 2fe0: 09 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 20 70 .LPCITEMIDLIST p 2ff0: 69 64 6c 52 6f 6f 74 3b 0d 0a 09 4c 50 57 53 54 idlRoot;...LPWST 3000: 52 20 20 20 20 20 20 20 20 70 73 7a 44 69 73 70 R pszDisp 3010: 6c 61 79 4e 61 6d 65 3b 0d 0a 09 4c 50 43 57 53 layName;...LPCWS 3020: 54 52 20 20 20 20 20 20 20 6c 70 73 7a 54 69 74 TR lpszTit 3030: 6c 65 3b 0d 0a 09 55 49 4e 54 20 20 20 20 20 20 le;...UINT 3040: 20 20 20 20 75 6c 46 6c 61 67 73 3b 0d 0a 09 42 ulFlags;...B 3050: 46 46 43 41 4c 4c 42 41 43 4b 20 20 20 6c 70 66 FFCALLBACK lpf 3060: 6e 3b 0d 0a 09 4c 50 41 52 41 4d 20 20 20 20 20 n;...LPARAM 3070: 20 20 20 6c 50 61 72 61 6d 3b 0d 0a 09 69 6e 74 lParam;...int 3080: 20 20 20 20 20 20 20 20 20 20 20 69 49 6d 61 67 iImag 3090: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 42 52 4f e;..}..alias BRO 30a0: 57 53 45 49 4e 46 4f 57 2a 20 50 42 52 4f 57 53 WSEINFOW* PBROWS 30b0: 45 49 4e 46 4f 57 2c 20 4c 50 42 52 4f 57 53 45 EINFOW, LPBROWSE 30c0: 49 4e 46 4f 57 3b 0d 0a 0d 0a 73 74 72 75 63 74 INFOW;....struct 30d0: 20 43 4d 49 4e 56 4f 4b 45 43 4f 4d 4d 41 4e 44 CMINVOKECOMMAND 30e0: 49 4e 46 4f 20 7b 0d 0a 09 44 57 4f 52 44 20 63 INFO {...DWORD c 30f0: 62 53 69 7a 65 20 3d 20 74 68 69 73 2e 73 69 7a bSize = this.siz 3100: 65 6f 66 3b 0d 0a 09 44 57 4f 52 44 20 66 4d 61 eof;...DWORD fMa 3110: 73 6b 3b 0d 0a 09 48 57 4e 44 20 68 77 6e 64 3b sk;...HWND hwnd; 3120: 0d 0a 09 4c 50 43 53 54 52 20 6c 70 56 65 72 62 ...LPCSTR lpVerb 3130: 3b 0d 0a 09 4c 50 43 53 54 52 20 6c 70 50 61 72 ;...LPCSTR lpPar 3140: 61 6d 65 74 65 72 73 3b 0d 0a 09 4c 50 43 53 54 ameters;...LPCST 3150: 52 20 6c 70 44 69 72 65 63 74 6f 72 79 3b 0d 0a R lpDirectory;.. 3160: 09 69 6e 74 20 6e 53 68 6f 77 3b 0d 0a 09 44 57 .int nShow;...DW 3170: 4f 52 44 20 64 77 48 6f 74 4b 65 79 3b 0d 0a 09 ORD dwHotKey;... 3180: 48 41 4e 44 4c 45 20 68 49 63 6f 6e 3b 0d 0a 7d HANDLE hIcon;..} 3190: 0d 0a 61 6c 69 61 73 20 43 4d 49 4e 56 4f 4b 45 ..alias CMINVOKE 31a0: 43 4f 4d 4d 41 4e 44 49 4e 46 4f 2a 20 4c 50 43 COMMANDINFO* LPC 31b0: 4d 49 4e 56 4f 4b 45 43 4f 4d 4d 41 4e 44 49 4e MINVOKECOMMANDIN 31c0: 46 4f 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 44 52 FO;....struct DR 31d0: 4f 50 46 49 4c 45 53 20 7b 0d 0a 09 44 57 4f 52 OPFILES {...DWOR 31e0: 44 20 70 46 69 6c 65 73 3b 0d 0a 09 50 4f 49 4e D pFiles;...POIN 31f0: 54 20 70 74 3b 0d 0a 09 42 4f 4f 4c 20 66 4e 43 T pt;...BOOL fNC 3200: 3b 0d 0a 09 42 4f 4f 4c 20 66 57 69 64 65 3b 0d ;...BOOL fWide;. 3210: 0a 7d 0d 0a 61 6c 69 61 73 20 44 52 4f 50 46 49 .}..alias DROPFI 3220: 4c 45 53 2a 20 4c 50 44 52 4f 50 46 49 4c 45 53 LES* LPDROPFILES 3230: 3b 0d 0a 0d 0a 65 6e 75 6d 20 53 48 47 4e 4f 20 ;....enum SHGNO 3240: 7b 0d 0a 09 53 48 47 44 4e 5f 4e 4f 52 4d 41 4c {...SHGDN_NORMAL 3250: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 = 0 3260: 2c 0d 0a 09 53 48 47 44 4e 5f 49 4e 46 4f 4c 44 ,...SHGDN_INFOLD 3270: 45 52 2c 0d 0a 09 53 48 47 44 4e 5f 46 4f 52 45 ER,...SHGDN_FORE 3280: 44 49 54 49 4e 47 20 20 20 20 20 20 20 20 20 3d DITING = 3290: 20 30 78 31 30 30 30 2c 0d 0a 09 53 48 47 44 4e 0x1000,...SHGDN 32a0: 5f 49 4e 43 4c 55 44 45 5f 4e 4f 4e 46 49 4c 45 _INCLUDE_NONFILE 32b0: 53 59 53 20 3d 20 30 78 32 30 30 30 2c 0d 0a 09 SYS = 0x2000,... 32c0: 53 48 47 44 4e 5f 46 4f 52 41 44 44 52 45 53 53 SHGDN_FORADDRESS 32d0: 42 41 52 20 20 20 20 20 20 3d 20 30 78 34 30 30 BAR = 0x400 32e0: 30 2c 0d 0a 09 53 48 47 44 4e 5f 46 4f 52 50 41 0,...SHGDN_FORPA 32f0: 52 53 49 4e 47 20 20 20 20 20 20 20 20 20 3d 20 RSING = 3300: 30 78 38 30 30 30 0d 0a 7d 0d 0a 0d 0a 65 6e 75 0x8000..}....enu 3310: 6d 20 53 48 43 4f 4e 54 46 20 7b 0d 0a 09 53 48 m SHCONTF {...SH 3320: 43 4f 4e 54 46 5f 46 4f 4c 44 45 52 53 20 20 20 CONTF_FOLDERS 3330: 20 20 20 20 20 20 20 20 20 3d 20 33 32 2c 0d 0a = 32,.. 3340: 09 53 48 43 4f 4e 54 46 5f 4e 4f 4e 46 4f 4c 44 .SHCONTF_NONFOLD 3350: 45 52 53 20 20 20 20 20 20 20 20 20 3d 20 36 34 ERS = 64 3360: 2c 0d 0a 09 53 48 43 4f 4e 54 46 5f 49 4e 43 4c ,...SHCONTF_INCL 3370: 55 44 45 48 49 44 44 45 4e 20 20 20 20 20 20 3d UDEHIDDEN = 3380: 20 31 32 38 2c 0d 0a 09 53 48 43 4f 4e 54 46 5f 128,...SHCONTF_ 3390: 49 4e 49 54 5f 4f 4e 5f 46 49 52 53 54 5f 4e 45 INIT_ON_FIRST_NE 33a0: 58 54 20 3d 20 32 35 36 2c 0d 0a 09 53 48 43 4f XT = 256,...SHCO 33b0: 4e 54 46 5f 4e 45 54 50 52 49 4e 54 45 52 53 52 NTF_NETPRINTERSR 33c0: 43 48 20 20 20 20 20 3d 20 35 31 32 2c 0d 0a 09 CH = 512,... 33d0: 53 48 43 4f 4e 54 46 5f 53 48 41 52 45 41 42 4c SHCONTF_SHAREABL 33e0: 45 20 20 20 20 20 20 20 20 20 20 3d 20 31 30 32 E = 102 33f0: 34 2c 0d 0a 09 53 48 43 4f 4e 54 46 5f 53 54 4f 4,...SHCONTF_STO 3400: 52 41 47 45 20 20 20 20 20 20 20 20 20 20 20 20 RAGE 3410: 3d 20 32 30 34 38 0d 0a 7d 0d 0a 0d 0a 73 74 72 = 2048..}....str 3420: 75 63 74 20 53 54 52 52 45 54 20 7b 0d 0a 09 55 uct STRRET {...U 3430: 49 4e 54 20 75 54 79 70 65 3b 0d 0a 09 75 6e 69 INT uType;...uni 3440: 6f 6e 20 7b 0d 0a 09 09 4c 50 57 53 54 52 20 70 on {....LPWSTR p 3450: 4f 6c 65 53 74 72 3b 0d 0a 09 09 55 49 4e 54 20 OleStr;....UINT 3460: 75 4f 66 66 73 65 74 3b 0d 0a 09 09 63 68 61 72 uOffset;....char 3470: 5b 4d 41 58 5f 50 41 54 48 5d 20 63 53 74 72 3b [MAX_PATH] cStr; 3480: 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 ...}..}..alias S 3490: 54 52 52 45 54 2a 20 4c 50 53 54 52 52 45 54 3b TRRET* LPSTRRET; 34a0: 0d 0a 0d 0a 65 6e 75 6d 20 46 44 5f 46 4c 41 47 ....enum FD_FLAG 34b0: 53 20 7b 0d 0a 09 46 44 5f 43 4c 53 49 44 20 20 S {...FD_CLSID 34c0: 20 20 20 20 3d 20 31 2c 0d 0a 09 46 44 5f 53 49 = 1,...FD_SI 34d0: 5a 45 50 4f 49 4e 54 20 20 3d 20 32 2c 0d 0a 09 ZEPOINT = 2,... 34e0: 46 44 5f 41 54 54 52 49 42 55 54 45 53 20 3d 20 FD_ATTRIBUTES = 34f0: 34 2c 0d 0a 09 46 44 5f 43 52 45 41 54 45 54 49 4,...FD_CREATETI 3500: 4d 45 20 3d 20 38 2c 0d 0a 09 46 44 5f 41 43 43 ME = 8,...FD_ACC 3510: 45 53 53 54 49 4d 45 20 3d 20 31 36 2c 0d 0a 09 ESSTIME = 16,... 3520: 46 44 5f 57 52 49 54 45 53 54 49 4d 45 20 3d 20 FD_WRITESTIME = 3530: 33 32 2c 0d 0a 09 46 44 5f 46 49 4c 45 53 49 5a 32,...FD_FILESIZ 3540: 45 20 20 20 3d 20 36 34 2c 0d 0a 09 46 44 5f 4c E = 64,...FD_L 3550: 49 4e 4b 55 49 20 20 20 20 20 3d 20 30 78 38 30 INKUI = 0x80 3560: 30 30 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 00..}....struct 3570: 46 49 4c 45 44 45 53 43 52 49 50 54 4f 52 41 20 FILEDESCRIPTORA 3580: 7b 0d 0a 09 44 57 4f 52 44 20 64 77 46 6c 61 67 {...DWORD dwFlag 3590: 73 3b 0d 0a 09 43 4c 53 49 44 20 63 6c 73 69 64 s;...CLSID clsid 35a0: 3b 0d 0a 09 53 49 5a 45 4c 20 73 69 7a 65 6c 3b ;...SIZEL sizel; 35b0: 0d 0a 09 50 4f 49 4e 54 4c 20 70 6f 69 6e 74 6c ...POINTL pointl 35c0: 3b 0d 0a 09 44 57 4f 52 44 20 64 77 46 69 6c 65 ;...DWORD dwFile 35d0: 41 74 74 72 69 62 75 74 65 73 3b 0d 0a 09 46 49 Attributes;...FI 35e0: 4c 45 54 49 4d 45 20 66 74 43 72 65 61 74 69 6f LETIME ftCreatio 35f0: 6e 54 69 6d 65 3b 0d 0a 09 46 49 4c 45 54 49 4d nTime;...FILETIM 3600: 45 20 66 74 4c 61 73 74 41 63 63 65 73 73 54 69 E ftLastAccessTi 3610: 6d 65 3b 0d 0a 09 46 49 4c 45 54 49 4d 45 20 66 me;...FILETIME f 3620: 74 4c 61 73 74 57 72 69 74 65 54 69 6d 65 3b 0d tLastWriteTime;. 3630: 0a 09 44 57 4f 52 44 20 6e 46 69 6c 65 53 69 7a ..DWORD nFileSiz 3640: 65 48 69 67 68 3b 0d 0a 09 44 57 4f 52 44 20 6e eHigh;...DWORD n 3650: 46 69 6c 65 53 69 7a 65 4c 6f 77 3b 0d 0a 09 43 FileSizeLow;...C 3660: 48 41 52 5b 4d 41 58 5f 50 41 54 48 5d 20 63 46 HAR[MAX_PATH] cF 3670: 69 6c 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 ileName;..}..ali 3680: 61 73 20 46 49 4c 45 44 45 53 43 52 49 50 54 4f as FILEDESCRIPTO 3690: 52 41 2a 20 4c 50 46 49 4c 45 44 45 53 43 52 49 RA* LPFILEDESCRI 36a0: 50 54 4f 52 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 PTORA;....struct 36b0: 20 46 49 4c 45 44 45 53 43 52 49 50 54 4f 52 57 FILEDESCRIPTORW 36c0: 20 7b 0d 0a 09 44 57 4f 52 44 20 64 77 46 6c 61 {...DWORD dwFla 36d0: 67 73 3b 0d 0a 09 43 4c 53 49 44 20 63 6c 73 69 gs;...CLSID clsi 36e0: 64 3b 0d 0a 09 53 49 5a 45 4c 20 73 69 7a 65 6c d;...SIZEL sizel 36f0: 3b 0d 0a 09 50 4f 49 4e 54 4c 20 70 6f 69 6e 74 ;...POINTL point 3700: 6c 3b 0d 0a 09 44 57 4f 52 44 20 64 77 46 69 6c l;...DWORD dwFil 3710: 65 41 74 74 72 69 62 75 74 65 73 3b 0d 0a 09 46 eAttributes;...F 3720: 49 4c 45 54 49 4d 45 20 66 74 43 72 65 61 74 69 ILETIME ftCreati 3730: 6f 6e 54 69 6d 65 3b 0d 0a 09 46 49 4c 45 54 49 onTime;...FILETI 3740: 4d 45 20 66 74 4c 61 73 74 41 63 63 65 73 73 54 ME ftLastAccessT 3750: 69 6d 65 3b 0d 0a 09 46 49 4c 45 54 49 4d 45 20 ime;...FILETIME 3760: 66 74 4c 61 73 74 57 72 69 74 65 54 69 6d 65 3b ftLastWriteTime; 3770: 0d 0a 09 44 57 4f 52 44 20 6e 46 69 6c 65 53 69 ...DWORD nFileSi 3780: 7a 65 48 69 67 68 3b 0d 0a 09 44 57 4f 52 44 20 zeHigh;...DWORD 3790: 6e 46 69 6c 65 53 69 7a 65 4c 6f 77 3b 0d 0a 09 nFileSizeLow;... 37a0: 57 43 48 41 52 5b 4d 41 58 5f 50 41 54 48 5d 20 WCHAR[MAX_PATH] 37b0: 63 46 69 6c 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 cFileName;..}..a 37c0: 6c 69 61 73 20 46 49 4c 45 44 45 53 43 52 49 50 lias FILEDESCRIP 37d0: 54 4f 52 57 2a 20 4c 50 46 49 4c 45 44 45 53 43 TORW* LPFILEDESC 37e0: 52 49 50 54 4f 52 57 3b 0d 0a 0d 0a 73 74 72 75 RIPTORW;....stru 37f0: 63 74 20 46 49 4c 45 47 52 4f 55 50 44 45 53 43 ct FILEGROUPDESC 3800: 52 49 50 54 4f 52 41 20 7b 0d 0a 09 55 49 4e 54 RIPTORA {...UINT 3810: 20 63 49 74 65 6d 73 3b 0d 0a 09 46 49 4c 45 44 cItems;...FILED 3820: 45 53 43 52 49 50 54 4f 52 41 5b 31 5d 20 66 67 ESCRIPTORA[1] fg 3830: 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 46 49 4c d;..}..alias FIL 3840: 45 47 52 4f 55 50 44 45 53 43 52 49 50 54 4f 52 EGROUPDESCRIPTOR 3850: 41 2a 20 4c 50 46 49 4c 45 47 52 4f 55 50 44 45 A* LPFILEGROUPDE 3860: 53 43 52 49 50 54 4f 52 41 3b 0d 0a 0d 0a 73 74 SCRIPTORA;....st 3870: 72 75 63 74 20 46 49 4c 45 47 52 4f 55 50 44 45 ruct FILEGROUPDE 3880: 53 43 52 49 50 54 4f 52 57 20 7b 0d 0a 09 55 49 SCRIPTORW {...UI 3890: 4e 54 20 63 49 74 65 6d 73 3b 0d 0a 09 46 49 4c NT cItems;...FIL 38a0: 45 44 45 53 43 52 49 50 54 4f 52 57 5b 31 5d 20 EDESCRIPTORW[1] 38b0: 66 67 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 46 fgd;..}..alias F 38c0: 49 4c 45 47 52 4f 55 50 44 45 53 43 52 49 50 54 ILEGROUPDESCRIPT 38d0: 4f 52 57 2a 20 4c 50 46 49 4c 45 47 52 4f 55 50 ORW* LPFILEGROUP 38e0: 44 45 53 43 52 49 50 54 4f 52 57 3b 0d 0a 0d 0a DESCRIPTORW;.... 38f0: 65 6e 75 6d 20 53 4c 52 5f 46 4c 41 47 53 20 7b enum SLR_FLAGS { 3900: 0d 0a 09 53 4c 52 5f 4e 4f 5f 55 49 20 20 20 20 ...SLR_NO_UI 3910: 20 20 3d 20 31 2c 0d 0a 09 53 4c 52 5f 41 4e 59 = 1,...SLR_ANY 3920: 5f 4d 41 54 43 48 20 20 3d 20 32 2c 0d 0a 09 53 _MATCH = 2,...S 3930: 4c 52 5f 55 50 44 41 54 45 20 20 20 20 20 3d 20 LR_UPDATE = 3940: 34 2c 0d 0a 09 53 4c 52 5f 4e 4f 55 50 44 41 54 4,...SLR_NOUPDAT 3950: 45 20 20 20 3d 20 38 2c 0d 0a 09 53 4c 52 5f 4e E = 8,...SLR_N 3960: 4f 53 45 41 52 43 48 20 20 20 3d 20 31 36 2c 0d OSEARCH = 16,. 3970: 0a 09 53 4c 52 5f 4e 4f 54 52 41 43 4b 20 20 20 ..SLR_NOTRACK 3980: 20 3d 20 33 32 2c 0d 0a 09 53 4c 52 5f 4e 4f 4c = 32,...SLR_NOL 3990: 49 4e 4b 49 4e 46 4f 20 3d 20 36 34 2c 0d 0a 09 INKINFO = 64,... 39a0: 53 4c 52 5f 49 4e 56 4f 4b 45 5f 4d 53 49 20 3d SLR_INVOKE_MSI = 39b0: 20 31 32 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 128..}....enum 39c0: 53 4c 47 50 5f 46 4c 41 47 53 20 7b 0d 0a 09 53 SLGP_FLAGS {...S 39d0: 4c 47 50 5f 53 48 4f 52 54 50 41 54 48 3d 31 2c LGP_SHORTPATH=1, 39e0: 0d 0a 09 53 4c 47 50 5f 55 4e 43 50 52 49 4f 52 ...SLGP_UNCPRIOR 39f0: 49 54 59 3d 32 2c 0d 0a 09 53 4c 47 50 5f 52 41 ITY=2,...SLGP_RA 3a00: 57 50 41 54 48 3d 34 0d 0a 7d 0d 0a 0d 0a 61 6c WPATH=4..}....al 3a10: 69 61 73 20 50 42 59 54 45 20 4c 50 56 49 45 57 ias PBYTE LPVIEW 3a20: 53 45 54 54 49 4e 47 53 3b 0d 0a 0d 0a 65 6e 75 SETTINGS;....enu 3a30: 6d 20 46 4f 4c 44 45 52 46 4c 41 47 53 20 7b 0d m FOLDERFLAGS {. 3a40: 0a 09 46 57 46 5f 41 55 54 4f 41 52 52 41 4e 47 ..FWF_AUTOARRANG 3a50: 45 20 20 20 20 20 20 20 20 20 3d 20 31 2c 0d 0a E = 1,.. 3a60: 09 46 57 46 5f 41 42 42 52 45 56 49 41 54 45 44 .FWF_ABBREVIATED 3a70: 4e 41 4d 45 53 20 20 20 20 3d 20 32 2c 0d 0a 09 NAMES = 2,... 3a80: 46 57 46 5f 53 4e 41 50 54 4f 47 52 49 44 20 20 FWF_SNAPTOGRID 3a90: 20 20 20 20 20 20 20 20 3d 20 34 2c 0d 0a 09 46 = 4,...F 3aa0: 57 46 5f 4f 57 4e 45 52 44 41 54 41 20 20 20 20 WF_OWNERDATA 3ab0: 20 20 20 20 20 20 20 3d 20 38 2c 0d 0a 09 46 57 = 8,...FW 3ac0: 46 5f 42 45 53 54 46 49 54 57 49 4e 44 4f 57 20 F_BESTFITWINDOW 3ad0: 20 20 20 20 20 20 3d 20 31 36 2c 0d 0a 09 46 57 = 16,...FW 3ae0: 46 5f 44 45 53 4b 54 4f 50 20 20 20 20 20 20 20 F_DESKTOP 3af0: 20 20 20 20 20 20 3d 20 33 32 2c 0d 0a 09 46 57 = 32,...FW 3b00: 46 5f 53 49 4e 47 4c 45 53 45 4c 20 20 20 20 20 F_SINGLESEL 3b10: 20 20 20 20 20 20 3d 20 36 34 2c 0d 0a 09 46 57 = 64,...FW 3b20: 46 5f 4e 4f 53 55 42 46 4f 4c 44 45 52 53 20 20 F_NOSUBFOLDERS 3b30: 20 20 20 20 20 20 3d 20 31 32 38 2c 0d 0a 09 46 = 128,...F 3b40: 57 46 5f 54 52 41 4e 53 50 41 52 45 4e 54 20 20 WF_TRANSPARENT 3b50: 20 20 20 20 20 20 20 3d 20 32 35 36 2c 0d 0a 09 = 256,... 3b60: 46 57 46 5f 4e 4f 43 4c 49 45 4e 54 45 44 47 45 FWF_NOCLIENTEDGE 3b70: 20 20 20 20 20 20 20 20 3d 20 35 31 32 2c 0d 0a = 512,.. 3b80: 09 46 57 46 5f 4e 4f 53 43 52 4f 4c 4c 20 20 20 .FWF_NOSCROLL 3b90: 20 20 20 20 20 20 20 20 20 3d 20 30 78 34 30 30 = 0x400 3ba0: 2c 0d 0a 09 46 57 46 5f 41 4c 49 47 4e 4c 45 46 ,...FWF_ALIGNLEF 3bb0: 54 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 T = 0x 3bc0: 38 30 30 2c 0d 0a 09 46 57 46 5f 53 49 4e 47 4c 800,...FWF_SINGL 3bd0: 45 43 4c 49 43 4b 41 43 54 49 56 41 54 45 20 3d ECLICKACTIVATE = 3be0: 20 30 78 38 30 30 30 0d 0a 7d 0d 0a 0d 0a 65 6e 0x8000..}....en 3bf0: 75 6d 20 46 4f 4c 44 45 52 56 49 45 57 4d 4f 44 um FOLDERVIEWMOD 3c00: 45 20 7b 0d 0a 09 46 56 4d 5f 49 43 4f 4e 20 20 E {...FVM_ICON 3c10: 20 20 20 20 3d 20 31 2c 0d 0a 09 46 56 4d 5f 53 = 1,...FVM_S 3c20: 4d 41 4c 4c 49 43 4f 4e 2c 0d 0a 09 46 56 4d 5f MALLICON,...FVM_ 3c30: 4c 49 53 54 2c 0d 0a 09 46 56 4d 5f 44 45 54 41 LIST,...FVM_DETA 3c40: 49 4c 53 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 ILS..}....struct 3c50: 20 46 4f 4c 44 45 52 53 45 54 54 49 4e 47 53 20 FOLDERSETTINGS 3c60: 7b 0d 0a 09 55 49 4e 54 20 56 69 65 77 4d 6f 64 {...UINT ViewMod 3c70: 65 3b 0d 0a 09 55 49 4e 54 20 66 46 6c 61 67 73 e;...UINT fFlags 3c80: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 46 4f 4c 44 ;..}..alias FOLD 3c90: 45 52 53 45 54 54 49 4e 47 53 2a 20 20 20 20 20 ERSETTINGS* 3ca0: 20 20 20 4c 50 46 4f 4c 44 45 52 53 45 54 54 49 LPFOLDERSETTI 3cb0: 4e 47 53 3b 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 NGS;..alias cons 3cc0: 74 28 46 4f 4c 44 45 52 53 45 54 54 49 4e 47 53 t(FOLDERSETTINGS 3cd0: 29 2a 20 4c 50 43 46 4f 4c 44 45 52 53 45 54 54 )* LPCFOLDERSETT 3ce0: 49 4e 47 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 INGS;....struct 3cf0: 46 56 53 48 4f 57 49 4e 46 4f 20 7b 0d 0a 09 44 FVSHOWINFO {...D 3d00: 57 4f 52 44 20 63 62 53 69 7a 65 20 3d 20 74 68 WORD cbSize = th 3d10: 69 73 2e 73 69 7a 65 6f 66 3b 0d 0a 09 48 57 4e is.sizeof;...HWN 3d20: 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 09 69 D hwndOwner;...i 3d30: 6e 74 20 69 53 68 6f 77 3b 0d 0a 09 44 57 4f 52 nt iShow;...DWOR 3d40: 44 20 64 77 46 6c 61 67 73 3b 0d 0a 09 52 45 43 D dwFlags;...REC 3d50: 54 20 72 65 63 74 3b 0d 0a 09 4c 50 55 4e 4b 4e T rect;...LPUNKN 3d60: 4f 57 4e 20 70 75 6e 6b 52 65 6c 3b 0d 0a 09 4f OWN punkRel;...O 3d70: 4c 45 43 48 41 52 5b 4d 41 58 5f 50 41 54 48 5d LECHAR[MAX_PATH] 3d80: 20 73 74 72 4e 65 77 46 69 6c 65 3b 0d 0a 7d 0d strNewFile;..}. 3d90: 0a 61 6c 69 61 73 20 46 56 53 48 4f 57 49 4e 46 .alias FVSHOWINF 3da0: 4f 2a 20 4c 50 46 56 53 48 4f 57 49 4e 46 4f 3b O* LPFVSHOWINFO; 3db0: 0d 0a 0d 0a 73 74 72 75 63 74 20 4e 52 45 53 41 ....struct NRESA 3dc0: 52 52 41 59 20 7b 0d 0a 09 55 49 4e 54 20 63 49 RRAY {...UINT cI 3dd0: 74 65 6d 73 3b 0d 0a 09 4e 45 54 52 45 53 4f 55 tems;...NETRESOU 3de0: 52 43 45 5b 31 5d 20 6e 72 3b 0d 0a 7d 0d 0a 61 RCE[1] nr;..}..a 3df0: 6c 69 61 73 20 4e 52 45 53 41 52 52 41 59 2a 20 lias NRESARRAY* 3e00: 4c 50 4e 52 45 53 41 52 52 41 59 3b 0d 0a 0d 0a LPNRESARRAY;.... 3e10: 65 6e 75 6d 20 7b 0d 0a 09 53 42 53 43 5f 48 49 enum {...SBSC_HI 3e20: 44 45 2c 0d 0a 09 53 42 53 43 5f 53 48 4f 57 2c DE,...SBSC_SHOW, 3e30: 0d 0a 09 53 42 53 43 5f 54 4f 47 47 4c 45 2c 0d ...SBSC_TOGGLE,. 3e40: 0a 09 53 42 53 43 5f 51 55 45 52 59 0d 0a 7d 0d ..SBSC_QUERY..}. 3e50: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 53 42 43 4d ...enum {...SBCM 3e60: 44 49 44 5f 45 4e 41 42 4c 45 53 48 4f 57 54 52 DID_ENABLESHOWTR 3e70: 45 45 2c 0d 0a 09 53 42 43 4d 44 49 44 5f 53 48 EE,...SBCMDID_SH 3e80: 4f 57 43 4f 4e 54 52 4f 4c 2c 0d 0a 09 53 42 43 OWCONTROL,...SBC 3e90: 4d 44 49 44 5f 43 41 4e 43 45 4c 4e 41 56 49 47 MDID_CANCELNAVIG 3ea0: 41 54 49 4f 4e 2c 0d 0a 09 53 42 43 4d 44 49 44 ATION,...SBCMDID 3eb0: 5f 4d 41 59 53 41 56 45 43 48 41 4e 47 45 53 2c _MAYSAVECHANGES, 3ec0: 0d 0a 09 53 42 43 4d 44 49 44 5f 53 45 54 48 4c ...SBCMDID_SETHL 3ed0: 49 4e 4b 46 52 41 4d 45 2c 0d 0a 09 53 42 43 4d INKFRAME,...SBCM 3ee0: 44 49 44 5f 45 4e 41 42 4c 45 53 54 4f 50 2c 0d DID_ENABLESTOP,. 3ef0: 0a 09 53 42 43 4d 44 49 44 5f 4f 50 54 49 4f 4e ..SBCMDID_OPTION 3f00: 53 0d 0a 7d 0d 0a 65 6e 75 6d 20 53 56 55 49 41 S..}..enum SVUIA 3f10: 5f 53 54 41 54 55 53 20 7b 0d 0a 09 53 56 55 49 _STATUS {...SVUI 3f20: 41 5f 44 45 41 43 54 49 56 41 54 45 2c 0d 0a 09 A_DEACTIVATE,... 3f30: 53 56 55 49 41 5f 41 43 54 49 56 41 54 45 5f 4e SVUIA_ACTIVATE_N 3f40: 4f 46 4f 43 55 53 2c 0d 0a 09 53 56 55 49 41 5f OFOCUS,...SVUIA_ 3f50: 41 43 54 49 56 41 54 45 5f 46 4f 43 55 53 2c 0d ACTIVATE_FOCUS,. 3f60: 0a 09 53 56 55 49 41 5f 49 4e 50 4c 41 43 45 41 ..SVUIA_INPLACEA 3f70: 43 54 49 56 41 54 45 0d 0a 7d 0d 0a 0d 0a 73 74 CTIVATE..}....st 3f80: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f atic if (_WIN32_ 3f90: 49 45 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d 0a IE >= 0x500) {.. 3fa0: 0d 0a 09 73 74 72 75 63 74 20 45 58 54 52 41 53 ...struct EXTRAS 3fb0: 45 41 52 43 48 0d 0a 09 20 7b 0d 0a 09 09 47 55 EARCH... {....GU 3fc0: 49 44 20 67 75 69 64 53 65 61 72 63 68 3b 0d 0a ID guidSearch;.. 3fd0: 09 09 57 43 48 41 52 5b 38 30 5d 20 77 73 7a 46 ..WCHAR[80] wszF 3fe0: 72 69 65 6e 64 6c 79 4e 61 6d 65 3b 0d 0a 09 09 riendlyName;.... 3ff0: 57 43 48 41 52 5b 32 30 38 34 5d 20 77 73 7a 55 WCHAR[2084] wszU 4000: 72 6c 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 rl;...}...alias 4010: 45 58 54 52 41 53 45 41 52 43 48 2a 20 4c 50 45 EXTRASEARCH* LPE 4020: 58 54 52 41 53 45 41 52 43 48 3b 0d 0a 0d 0a 09 XTRASEARCH;..... 4030: 61 6c 69 61 73 20 44 57 4f 52 44 20 53 48 43 4f alias DWORD SHCO 4040: 4c 53 54 41 54 45 46 3b 0d 0a 0d 0a 09 73 74 72 LSTATEF;.....str 4050: 75 63 74 20 53 48 43 4f 4c 55 4d 4e 49 44 20 7b uct SHCOLUMNID { 4060: 0d 0a 09 09 47 55 49 44 20 66 6d 74 69 64 3b 0d ....GUID fmtid;. 4070: 0a 09 09 44 57 4f 52 44 20 70 69 64 3b 0d 0a 09 ...DWORD pid;... 4080: 7d 0d 0a 09 61 6c 69 61 73 20 53 48 43 4f 4c 55 }...alias SHCOLU 4090: 4d 4e 49 44 2a 20 20 20 20 20 20 20 20 4c 50 53 MNID* LPS 40a0: 48 43 4f 4c 55 4d 4e 49 44 3b 0d 0a 09 61 6c 69 HCOLUMNID;...ali 40b0: 61 73 20 63 6f 6e 73 74 28 53 48 43 4f 4c 55 4d as const(SHCOLUM 40c0: 4e 49 44 29 2a 20 4c 50 43 53 48 43 4f 4c 55 4d NID)* LPCSHCOLUM 40d0: 4e 49 44 3b 0d 0a 0d 0a 09 73 74 72 75 63 74 20 NID;.....struct 40e0: 53 48 45 4c 4c 44 45 54 41 49 4c 53 20 7b 0d 0a SHELLDETAILS {.. 40f0: 09 09 69 6e 74 20 66 6d 74 3b 0d 0a 09 09 69 6e ..int fmt;....in 4100: 74 20 63 78 43 68 61 72 3b 0d 0a 09 09 53 54 52 t cxChar;....STR 4110: 52 45 54 20 73 74 72 3b 0d 0a 09 7d 0d 0a 09 61 RET str;...}...a 4120: 6c 69 61 73 20 53 48 45 4c 4c 44 45 54 41 49 4c lias SHELLDETAIL 4130: 53 2a 20 4c 50 53 48 45 4c 4c 44 45 54 41 49 4c S* LPSHELLDETAIL 4140: 53 3b 0d 0a 0d 0a 09 73 74 72 75 63 74 20 50 45 S;.....struct PE 4150: 52 53 49 53 54 5f 46 4f 4c 44 45 52 5f 54 41 52 RSIST_FOLDER_TAR 4160: 47 45 54 5f 49 4e 46 4f 0d 0a 09 20 7b 0d 0a 09 GET_INFO... {... 4170: 09 4c 50 49 54 45 4d 49 44 4c 49 53 54 20 70 69 .LPITEMIDLIST pi 4180: 64 6c 54 61 72 67 65 74 46 6f 6c 64 65 72 3b 0d dlTargetFolder;. 4190: 0a 09 09 57 43 48 41 52 5b 4d 41 58 5f 50 41 54 ...WCHAR[MAX_PAT 41a0: 48 5d 20 73 7a 54 61 72 67 65 74 50 61 72 73 69 H] szTargetParsi 41b0: 6e 67 4e 61 6d 65 3b 0d 0a 09 09 57 43 48 41 52 ngName;....WCHAR 41c0: 5b 4d 41 58 5f 50 41 54 48 5d 20 73 7a 4e 65 74 [MAX_PATH] szNet 41d0: 77 6f 72 6b 50 72 6f 76 69 64 65 72 3b 0d 0a 09 workProvider;... 41e0: 09 44 57 4f 52 44 20 64 77 41 74 74 72 69 62 75 .DWORD dwAttribu 41f0: 74 65 73 3b 0d 0a 09 09 69 6e 74 20 63 73 69 64 tes;....int csid 4200: 6c 3b 0d 0a 09 7d 0d 0a 0d 0a 09 65 6e 75 6d 20 l;...}.....enum 4210: 53 48 47 46 50 5f 54 59 50 45 20 7b 0d 0a 09 09 SHGFP_TYPE {.... 4220: 53 48 47 46 50 5f 54 59 50 45 5f 43 55 52 52 45 SHGFP_TYPE_CURRE 4230: 4e 54 20 3d 20 30 2c 0d 0a 09 09 53 48 47 46 50 NT = 0,....SHGFP 4240: 5f 54 59 50 45 5f 44 45 46 41 55 4c 54 20 3d 20 _TYPE_DEFAULT = 4250: 31 2c 0d 0a 09 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 69 1,...}....}....i 4260: 6e 74 65 72 66 61 63 65 20 49 45 6e 75 6d 49 44 nterface IEnumID 4270: 4c 69 73 74 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 List : IUnknown 4280: 7b 0d 0a 09 48 52 45 53 55 4c 54 20 4e 65 78 74 {...HRESULT Next 4290: 28 55 4c 4f 4e 47 2c 20 4c 50 49 54 45 4d 49 44 (ULONG, LPITEMID 42a0: 4c 49 53 54 2a 2c 20 55 4c 4f 4e 47 2a 29 3b 0d LIST*, ULONG*);. 42b0: 0a 09 48 52 45 53 55 4c 54 20 53 6b 69 70 28 55 ..HRESULT Skip(U 42c0: 4c 4f 4e 47 29 3b 0d 0a 09 48 52 45 53 55 4c 54 LONG);...HRESULT 42d0: 20 52 65 73 65 74 28 29 3b 0d 0a 09 48 52 45 53 Reset();...HRES 42e0: 55 4c 54 20 43 6c 6f 6e 65 28 49 45 6e 75 6d 49 ULT Clone(IEnumI 42f0: 44 4c 69 73 74 2a 29 3b 0d 0a 7d 0d 0a 61 6c 69 DList*);..}..ali 4300: 61 73 20 49 45 6e 75 6d 49 44 4c 69 73 74 20 4c as IEnumIDList L 4310: 50 45 4e 55 4d 49 44 4c 49 53 54 3b 0d 0a 0d 0a PENUMIDLIST;.... 4320: 69 6e 74 65 72 66 61 63 65 20 49 4f 62 6a 4d 67 interface IObjMg 4330: 72 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a r : IUnknown {.. 4340: 09 48 52 45 53 55 4c 54 20 41 70 70 65 6e 64 28 .HRESULT Append( 4350: 49 55 6e 6b 6e 6f 77 6e 29 3b 0d 0a 09 48 52 45 IUnknown);...HRE 4360: 53 55 4c 54 20 52 65 6d 6f 76 65 28 49 55 6e 6b SULT Remove(IUnk 4370: 6e 6f 77 6e 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 nown);..}....int 4380: 65 72 66 61 63 65 20 49 43 6f 6e 74 65 78 74 4d erface IContextM 4390: 65 6e 75 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b enu : IUnknown { 43a0: 0d 0a 09 48 52 45 53 55 4c 54 20 51 75 65 72 79 ...HRESULT Query 43b0: 43 6f 6e 74 65 78 74 4d 65 6e 75 28 48 4d 45 4e ContextMenu(HMEN 43c0: 55 2c 20 55 49 4e 54 2c 20 55 49 4e 54 2c 20 55 U, UINT, UINT, U 43d0: 49 4e 54 2c 20 55 49 4e 54 29 3b 0d 0a 09 48 52 INT, UINT);...HR 43e0: 45 53 55 4c 54 20 49 6e 76 6f 6b 65 43 6f 6d 6d ESULT InvokeComm 43f0: 61 6e 64 28 4c 50 43 4d 49 4e 56 4f 4b 45 43 4f and(LPCMINVOKECO 4400: 4d 4d 41 4e 44 49 4e 46 4f 29 3b 0d 0a 09 48 52 MMANDINFO);...HR 4410: 45 53 55 4c 54 20 47 65 74 43 6f 6d 6d 61 6e 64 ESULT GetCommand 4420: 53 74 72 69 6e 67 28 55 49 4e 54 2c 20 55 49 4e String(UINT, UIN 4430: 54 2c 20 50 55 49 4e 54 2c 20 4c 50 53 54 52 2c T, PUINT, LPSTR, 4440: 20 55 49 4e 54 29 3b 0d 0a 7d 0d 0a 61 6c 69 61 UINT);..}..alia 4450: 73 20 49 43 6f 6e 74 65 78 74 4d 65 6e 75 20 4c s IContextMenu L 4460: 50 43 4f 4e 54 45 58 54 4d 45 4e 55 3b 0d 0a 0d PCONTEXTMENU;... 4470: 0a 69 6e 74 65 72 66 61 63 65 20 49 43 6f 6e 74 .interface ICont 4480: 65 78 74 4d 65 6e 75 32 20 3a 20 49 43 6f 6e 74 extMenu2 : ICont 4490: 65 78 74 4d 65 6e 75 20 7b 0d 0a 09 48 52 45 53 extMenu {...HRES 44a0: 55 4c 54 20 48 61 6e 64 6c 65 4d 65 6e 75 4d 73 ULT HandleMenuMs 44b0: 67 28 55 49 4e 54 2c 20 57 50 41 52 41 4d 2c 20 g(UINT, WPARAM, 44c0: 4c 50 41 52 41 4d 29 3b 0d 0a 7d 3b 0d 0a 61 6c LPARAM);..};..al 44d0: 69 61 73 20 49 43 6f 6e 74 65 78 74 4d 65 6e 75 ias IContextMenu 44e0: 32 20 4c 50 43 4f 4e 54 45 58 54 4d 45 4e 55 32 2 LPCONTEXTMENU2 44f0: 3b 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 ;....static if ( 4500: 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 _WIN32_IE >= 0x5 4510: 30 30 29 20 7b 0d 0a 09 61 6c 69 67 6e 28 38 29 00) {...align(8) 4520: 20 7b 0d 0a 09 09 73 74 72 75 63 74 20 53 48 43 {....struct SHC 4530: 4f 4c 55 4d 4e 49 4e 49 54 20 7b 0d 0a 09 09 09 OLUMNINIT {..... 4540: 55 4c 4f 4e 47 20 64 77 46 6c 61 67 73 3b 0d 0a ULONG dwFlags;.. 4550: 09 09 09 55 4c 4f 4e 47 20 64 77 52 65 73 65 72 ...ULONG dwReser 4560: 76 65 64 3b 0d 0a 09 09 09 57 43 48 41 52 5b 4d ved;.....WCHAR[M 4570: 41 58 5f 50 41 54 48 5d 20 77 73 7a 46 6f 6c 64 AX_PATH] wszFold 4580: 65 72 3b 0d 0a 09 09 7d 0d 0a 09 09 61 6c 69 61 er;....}....alia 4590: 73 20 53 48 43 4f 4c 55 4d 4e 49 4e 49 54 2a 20 s SHCOLUMNINIT* 45a0: 20 20 20 20 20 20 20 4c 50 53 48 43 4f 4c 55 4d LPSHCOLUM 45b0: 4e 49 4e 49 54 3b 0d 0a 09 09 61 6c 69 61 73 20 NINIT;....alias 45c0: 63 6f 6e 73 74 28 53 48 43 4f 4c 55 4d 4e 49 4e const(SHCOLUMNIN 45d0: 49 54 29 2a 20 4c 50 43 53 48 43 4f 4c 55 4d 4e IT)* LPCSHCOLUMN 45e0: 49 4e 49 54 3b 0d 0a 0d 0a 09 09 73 74 72 75 63 INIT;......struc 45f0: 74 20 53 48 43 4f 4c 55 4d 4e 44 41 54 41 20 7b t SHCOLUMNDATA { 4600: 0d 0a 09 09 09 55 4c 4f 4e 47 20 64 77 46 6c 61 .....ULONG dwFla 4610: 67 73 3b 0d 0a 09 09 09 44 57 4f 52 44 20 64 77 gs;.....DWORD dw 4620: 46 69 6c 65 41 74 74 72 69 62 75 74 65 73 3b 0d FileAttributes;. 4630: 0a 09 09 09 55 4c 4f 4e 47 20 64 77 52 65 73 65 ....ULONG dwRese 4640: 72 76 65 64 3b 0d 0a 09 09 09 57 43 48 41 52 20 rved;.....WCHAR 4650: 2a 70 77 73 7a 45 78 74 3b 0d 0a 09 09 09 57 43 *pwszExt;.....WC 4660: 48 41 52 5b 4d 41 58 5f 50 41 54 48 5d 20 77 73 HAR[MAX_PATH] ws 4670: 7a 46 69 6c 65 3b 0d 0a 09 09 7d 0d 0a 09 09 61 zFile;....}....a 4680: 6c 69 61 73 20 53 48 43 4f 4c 55 4d 4e 44 41 54 lias SHCOLUMNDAT 4690: 41 2a 20 20 20 20 20 20 20 20 4c 50 53 48 43 4f A* LPSHCO 46a0: 4c 55 4d 4e 44 41 54 41 3b 0d 0a 09 09 61 6c 69 LUMNDATA;....ali 46b0: 61 73 20 63 6f 6e 73 74 28 53 48 43 4f 4c 55 4d as const(SHCOLUM 46c0: 4e 44 41 54 41 29 2a 20 4c 50 43 53 48 43 4f 4c NDATA)* LPCSHCOL 46d0: 55 4d 4e 44 41 54 41 3b 0d 0a 09 7d 0d 0a 0d 0a UMNDATA;...}.... 46e0: 09 63 6f 6e 73 74 20 4d 41 58 5f 43 4f 4c 55 4d .const MAX_COLUM 46f0: 4e 5f 4e 41 4d 45 5f 4c 45 4e 20 3d 20 38 30 3b N_NAME_LEN = 80; 4700: 0d 0a 09 63 6f 6e 73 74 20 4d 41 58 5f 43 4f 4c ...const MAX_COL 4710: 55 4d 4e 5f 44 45 53 43 5f 4c 45 4e 20 3d 20 31 UMN_DESC_LEN = 1 4720: 32 38 3b 0d 0a 0d 0a 09 61 6c 69 67 6e 28 31 29 28;.....align(1) 4730: 20 73 74 72 75 63 74 20 53 48 43 4f 4c 55 4d 4e struct SHCOLUMN 4740: 49 4e 46 4f 20 7b 0d 0a 09 09 53 48 43 4f 4c 55 INFO {....SHCOLU 4750: 4d 4e 49 44 20 73 63 69 64 3b 0d 0a 09 09 56 41 MNID scid;....VA 4760: 52 54 59 50 45 20 76 74 3b 0d 0a 09 09 44 57 4f RTYPE vt;....DWO 4770: 52 44 20 66 6d 74 3b 0d 0a 09 09 55 49 4e 54 20 RD fmt;....UINT 4780: 63 43 68 61 72 73 3b 0d 0a 09 09 44 57 4f 52 44 cChars;....DWORD 4790: 20 63 73 46 6c 61 67 73 3b 0d 0a 09 09 57 43 48 csFlags;....WCH 47a0: 41 52 5b 4d 41 58 5f 43 4f 4c 55 4d 4e 5f 4e 41 AR[MAX_COLUMN_NA 47b0: 4d 45 5f 4c 45 4e 5d 20 77 73 7a 54 69 74 6c 65 ME_LEN] wszTitle 47c0: 3b 0d 0a 09 09 57 43 48 41 52 5b 4d 41 58 5f 43 ;....WCHAR[MAX_C 47d0: 4f 4c 55 4d 4e 5f 44 45 53 43 5f 4c 45 4e 5d 20 OLUMN_DESC_LEN] 47e0: 77 73 7a 44 65 73 63 72 69 70 74 69 6f 6e 3b 0d wszDescription;. 47f0: 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 53 48 43 4f ..}...alias SHCO 4800: 4c 55 4d 4e 49 4e 46 4f 2a 20 20 20 20 20 20 20 LUMNINFO* 4810: 20 4c 50 53 48 43 4f 4c 55 4d 4e 49 4e 46 4f 3b LPSHCOLUMNINFO; 4820: 0d 0a 09 61 6c 69 61 73 20 63 6f 6e 73 74 28 53 ...alias const(S 4830: 48 43 4f 4c 55 4d 4e 49 4e 46 4f 29 2a 20 4c 50 HCOLUMNINFO)* LP 4840: 43 53 48 43 4f 4c 55 4d 4e 49 4e 46 4f 3b 0d 0a CSHCOLUMNINFO;.. 4850: 0d 0a 09 65 6e 75 6d 20 53 48 43 4f 4c 53 54 41 ...enum SHCOLSTA 4860: 54 45 20 7b 0d 0a 09 09 53 48 43 4f 4c 53 54 41 TE {....SHCOLSTA 4870: 54 45 5f 54 59 50 45 5f 53 54 52 20 20 20 20 20 TE_TYPE_STR 4880: 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c 0d 0a = 0x00000001,.. 4890: 09 09 53 48 43 4f 4c 53 54 41 54 45 5f 54 59 50 ..SHCOLSTATE_TYP 48a0: 45 5f 49 4e 54 20 20 20 20 20 20 3d 20 30 78 30 E_INT = 0x0 48b0: 30 30 30 30 30 30 32 2c 0d 0a 09 09 53 48 43 4f 0000002,....SHCO 48c0: 4c 53 54 41 54 45 5f 54 59 50 45 5f 44 41 54 45 LSTATE_TYPE_DATE 48d0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 = 0x0000000 48e0: 33 2c 0d 0a 09 09 53 48 43 4f 4c 53 54 41 54 45 3,....SHCOLSTATE 48f0: 5f 54 59 50 45 4d 41 53 4b 20 20 20 20 20 20 3d _TYPEMASK = 4900: 20 30 78 30 30 30 30 30 30 30 66 2c 0d 0a 09 09 0x0000000f,.... 4910: 53 48 43 4f 4c 53 54 41 54 45 5f 4f 4e 42 59 44 SHCOLSTATE_ONBYD 4920: 45 46 41 55 4c 54 20 20 20 3d 20 30 78 30 30 30 EFAULT = 0x000 4930: 30 30 30 31 30 2c 0d 0a 09 09 53 48 43 4f 4c 53 00010,....SHCOLS 4940: 54 41 54 45 5f 53 4c 4f 57 20 20 20 20 20 20 20 TATE_SLOW 4950: 20 20 20 3d 20 30 78 30 30 30 30 30 30 32 30 2c = 0x00000020, 4960: 0d 0a 09 09 53 48 43 4f 4c 53 54 41 54 45 5f 45 ....SHCOLSTATE_E 4970: 58 54 45 4e 44 45 44 20 20 20 20 20 20 3d 20 30 XTENDED = 0 4980: 78 30 30 30 30 30 30 34 30 2c 0d 0a 09 09 53 48 x00000040,....SH 4990: 43 4f 4c 53 54 41 54 45 5f 53 45 43 4f 4e 44 41 COLSTATE_SECONDA 49a0: 52 59 55 49 20 20 20 3d 20 30 78 30 30 30 30 30 RYUI = 0x00000 49b0: 30 38 30 2c 0d 0a 09 09 53 48 43 4f 4c 53 54 41 080,....SHCOLSTA 49c0: 54 45 5f 48 49 44 44 45 4e 20 20 20 20 20 20 20 TE_HIDDEN 49d0: 20 3d 20 30 78 30 30 30 30 30 31 30 30 2c 0d 0a = 0x00000100,.. 49e0: 09 09 53 48 43 4f 4c 53 54 41 54 45 5f 50 52 45 ..SHCOLSTATE_PRE 49f0: 46 45 52 5f 56 41 52 43 4d 50 20 3d 20 30 78 30 FER_VARCMP = 0x0 4a00: 30 30 30 30 32 30 30 0d 0a 09 7d 0d 0a 0d 0a 09 0000200...}..... 4a10: 69 6e 74 65 72 66 61 63 65 20 49 43 6f 6c 75 6d interface IColum 4a20: 6e 50 72 6f 76 69 64 65 72 20 3a 20 49 55 6e 6b nProvider : IUnk 4a30: 6e 6f 77 6e 20 7b 0d 0a 09 09 48 52 45 53 55 4c nown {....HRESUL 4a40: 54 20 49 6e 69 74 69 61 6c 69 7a 65 28 4c 50 43 T Initialize(LPC 4a50: 53 48 43 4f 4c 55 4d 4e 49 4e 49 54 29 3b 0d 0a SHCOLUMNINIT);.. 4a60: 09 09 48 52 45 53 55 4c 54 20 47 65 74 43 6f 6c ..HRESULT GetCol 4a70: 75 6d 6e 49 6e 66 6f 28 44 57 4f 52 44 2c 20 53 umnInfo(DWORD, S 4a80: 48 43 4f 4c 55 4d 4e 49 4e 46 4f 2a 29 3b 0d 0a HCOLUMNINFO*);.. 4a90: 09 09 48 52 45 53 55 4c 54 20 47 65 74 49 74 65 ..HRESULT GetIte 4aa0: 6d 44 61 74 61 28 4c 50 43 53 48 43 4f 4c 55 4d mData(LPCSHCOLUM 4ab0: 4e 49 44 2c 20 4c 50 43 53 48 43 4f 4c 55 4d 4e NID, LPCSHCOLUMN 4ac0: 44 41 54 41 2c 20 56 41 52 49 41 4e 54 2a 29 3b DATA, VARIANT*); 4ad0: 0d 0a 09 7d 0d 0a 7d 2f 2a 20 5f 57 49 4e 33 32 ...}..}/* _WIN32 4ae0: 5f 49 45 20 3e 3d 20 30 78 35 30 30 20 2a 2f 0d _IE >= 0x500 */. 4af0: 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 51 75 ...interface IQu 4b00: 65 72 79 49 6e 66 6f 20 3a 20 49 55 6e 6b 6e 6f eryInfo : IUnkno 4b10: 77 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 47 wn {...HRESULT G 4b20: 65 74 49 6e 66 6f 54 69 70 28 44 57 4f 52 44 2c etInfoTip(DWORD, 4b30: 20 57 43 48 41 52 2a 2a 29 3b 0d 0a 09 48 52 45 WCHAR**);...HRE 4b40: 53 55 4c 54 20 47 65 74 49 6e 66 6f 46 6c 61 67 SULT GetInfoFlag 4b50: 73 28 44 57 4f 52 44 2a 29 3b 0d 0a 7d 0d 0a 0d s(DWORD*);..}... 4b60: 0a 69 6e 74 65 72 66 61 63 65 20 49 53 68 65 6c .interface IShel 4b70: 6c 45 78 74 49 6e 69 74 20 3a 20 49 55 6e 6b 6e lExtInit : IUnkn 4b80: 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 own {...HRESULT 4b90: 49 6e 69 74 69 61 6c 69 7a 65 28 4c 50 43 49 54 Initialize(LPCIT 4ba0: 45 4d 49 44 4c 49 53 54 2c 20 4c 50 44 41 54 41 EMIDLIST, LPDATA 4bb0: 4f 42 4a 45 43 54 2c 20 48 4b 45 59 29 3b 0d 0a OBJECT, HKEY);.. 4bc0: 7d 0d 0a 61 6c 69 61 73 20 49 53 68 65 6c 6c 45 }..alias IShellE 4bd0: 78 74 49 6e 69 74 20 4c 50 53 48 45 4c 4c 45 58 xtInit LPSHELLEX 4be0: 54 49 4e 49 54 3b 0d 0a 0d 0a 69 6e 74 65 72 66 TINIT;....interf 4bf0: 61 63 65 20 49 53 68 65 6c 6c 50 72 6f 70 53 68 ace IShellPropSh 4c00: 65 65 74 45 78 74 20 3a 20 49 55 6e 6b 6e 6f 77 eetExt : IUnknow 4c10: 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 41 64 n {...HRESULT Ad 4c20: 64 50 61 67 65 73 28 4c 50 46 4e 41 44 44 50 52 dPages(LPFNADDPR 4c30: 4f 50 53 48 45 45 54 50 41 47 45 2c 20 4c 50 41 OPSHEETPAGE, LPA 4c40: 52 41 4d 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 RAM);...HRESULT 4c50: 52 65 70 6c 61 63 65 50 61 67 65 28 55 49 4e 54 ReplacePage(UINT 4c60: 2c 20 4c 50 46 4e 41 44 44 50 52 4f 50 53 48 45 , LPFNADDPROPSHE 4c70: 45 54 50 41 47 45 2c 20 4c 50 41 52 41 4d 29 3b ETPAGE, LPARAM); 4c80: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 53 68 65 6c ..}..alias IShel 4c90: 6c 50 72 6f 70 53 68 65 65 74 45 78 74 20 4c 50 lPropSheetExt LP 4ca0: 53 48 45 4c 4c 50 52 4f 50 53 48 45 45 54 45 58 SHELLPROPSHEETEX 4cb0: 54 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 T;....interface 4cc0: 49 45 78 74 72 61 63 74 49 63 6f 6e 41 20 3a 20 IExtractIconA : 4cd0: 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 IUnknown {...HRE 4ce0: 53 55 4c 54 20 47 65 74 49 63 6f 6e 4c 6f 63 61 SULT GetIconLoca 4cf0: 74 69 6f 6e 28 55 49 4e 54 2c 20 4c 50 53 54 52 tion(UINT, LPSTR 4d00: 2c 20 55 49 4e 54 2c 20 69 6e 74 2a 2c 20 50 55 , UINT, int*, PU 4d10: 49 4e 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 INT);...HRESULT 4d20: 45 78 74 72 61 63 74 28 4c 50 43 53 54 52 2c 20 Extract(LPCSTR, 4d30: 55 49 4e 54 2c 20 48 49 43 4f 4e 2a 2c 20 48 49 UINT, HICON*, HI 4d40: 43 4f 4e 2a 2c 20 55 49 4e 54 29 3b 0d 0a 7d 3b CON*, UINT);..}; 4d50: 0d 0a 61 6c 69 61 73 20 49 45 78 74 72 61 63 74 ..alias IExtract 4d60: 49 63 6f 6e 41 20 4c 50 45 58 54 52 41 43 54 49 IconA LPEXTRACTI 4d70: 43 4f 4e 41 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 CONA;....interfa 4d80: 63 65 20 49 45 78 74 72 61 63 74 49 63 6f 6e 57 ce IExtractIconW 4d90: 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 : IUnknown {... 4da0: 48 52 45 53 55 4c 54 20 47 65 74 49 63 6f 6e 4c HRESULT GetIconL 4db0: 6f 63 61 74 69 6f 6e 28 55 49 4e 54 2c 20 4c 50 ocation(UINT, LP 4dc0: 57 53 54 52 2c 20 55 49 4e 54 2c 20 69 6e 74 2a WSTR, UINT, int* 4dd0: 2c 20 50 55 49 4e 54 29 3b 0d 0a 09 48 52 45 53 , PUINT);...HRES 4de0: 55 4c 54 20 45 78 74 72 61 63 74 28 4c 50 43 57 ULT Extract(LPCW 4df0: 53 54 52 2c 20 55 49 4e 54 2c 20 48 49 43 4f 4e STR, UINT, HICON 4e00: 2a 2c 20 48 49 43 4f 4e 2a 2c 20 55 49 4e 54 29 *, HICON*, UINT) 4e10: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 45 78 74 ;..}..alias IExt 4e20: 72 61 63 74 49 63 6f 6e 57 20 4c 50 45 58 54 52 ractIconW LPEXTR 4e30: 41 43 54 49 43 4f 4e 57 3b 0d 0a 0d 0a 76 65 72 ACTICONW;....ver 4e40: 73 69 6f 6e 28 55 6e 69 63 6f 64 65 29 20 7b 0d sion(Unicode) {. 4e50: 0a 09 61 6c 69 61 73 20 49 45 78 74 72 61 63 74 ..alias IExtract 4e60: 49 63 6f 6e 57 20 49 45 78 74 72 61 63 74 49 63 IconW IExtractIc 4e70: 6f 6e 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 45 58 on;...alias LPEX 4e80: 54 52 41 43 54 49 43 4f 4e 57 20 4c 50 45 58 54 TRACTICONW LPEXT 4e90: 52 41 43 54 49 43 4f 4e 3b 0d 0a 7d 20 65 6c 73 RACTICON;..} els 4ea0: 65 20 7b 0d 0a 09 61 6c 69 61 73 20 49 45 78 74 e {...alias IExt 4eb0: 72 61 63 74 49 63 6f 6e 41 20 49 45 78 74 72 61 ractIconA IExtra 4ec0: 63 74 49 63 6f 6e 3b 0d 0a 09 61 6c 69 61 73 20 ctIcon;...alias 4ed0: 4c 50 45 58 54 52 41 43 54 49 43 4f 4e 41 20 4c LPEXTRACTICONA L 4ee0: 50 45 58 54 52 41 43 54 49 43 4f 4e 3b 0d 0a 7d PEXTRACTICON;..} 4ef0: 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 53 ....interface IS 4f00: 68 65 6c 6c 4c 69 6e 6b 41 20 3a 20 49 55 6e 6b hellLinkA : IUnk 4f10: 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 nown {...HRESULT 4f20: 20 47 65 74 50 61 74 68 28 4c 50 53 54 52 2c 20 GetPath(LPSTR, 4f30: 69 6e 74 2c 20 57 49 4e 33 32 5f 46 49 4e 44 5f int, WIN32_FIND_ 4f40: 44 41 54 41 41 2a 2c 20 44 57 4f 52 44 29 3b 0d DATAA*, DWORD);. 4f50: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 49 44 4c ..HRESULT GetIDL 4f60: 69 73 74 28 4c 50 49 54 45 4d 49 44 4c 49 53 54 ist(LPITEMIDLIST 4f70: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 *);...HRESULT Se 4f80: 74 49 44 4c 69 73 74 28 4c 50 43 49 54 45 4d 49 tIDList(LPCITEMI 4f90: 44 4c 49 53 54 29 3b 0d 0a 09 48 52 45 53 55 4c DLIST);...HRESUL 4fa0: 54 20 47 65 74 44 65 73 63 72 69 70 74 69 6f 6e T GetDescription 4fb0: 28 4c 50 53 54 52 2c 20 69 6e 74 29 3b 0d 0a 09 (LPSTR, int);... 4fc0: 48 52 45 53 55 4c 54 20 53 65 74 44 65 73 63 72 HRESULT SetDescr 4fd0: 69 70 74 69 6f 6e 28 4c 50 43 53 54 52 29 3b 0d iption(LPCSTR);. 4fe0: 0a 09 48 52 45 53 55 4c 54 20 47 65 74 57 6f 72 ..HRESULT GetWor 4ff0: 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 4c 50 kingDirectory(LP 5000: 53 54 52 2c 20 69 6e 74 29 3b 0d 0a 09 48 52 45 STR, int);...HRE 5010: 53 55 4c 54 20 53 65 74 57 6f 72 6b 69 6e 67 44 SULT SetWorkingD 5020: 69 72 65 63 74 6f 72 79 28 4c 50 43 53 54 52 29 irectory(LPCSTR) 5030: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 41 ;...HRESULT GetA 5040: 72 67 75 6d 65 6e 74 73 28 4c 50 53 54 52 2c 20 rguments(LPSTR, 5050: 69 6e 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 int);...HRESULT 5060: 53 65 74 41 72 67 75 6d 65 6e 74 73 28 4c 50 43 SetArguments(LPC 5070: 53 54 52 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 STR);...HRESULT 5080: 47 65 74 48 6f 74 6b 65 79 28 50 57 4f 52 44 29 GetHotkey(PWORD) 5090: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 48 ;...HRESULT SetH 50a0: 6f 74 6b 65 79 28 57 4f 52 44 29 3b 0d 0a 09 48 otkey(WORD);...H 50b0: 52 45 53 55 4c 54 20 47 65 74 53 68 6f 77 43 6d RESULT GetShowCm 50c0: 64 28 69 6e 74 2a 29 3b 0d 0a 09 48 52 45 53 55 d(int*);...HRESU 50d0: 4c 54 20 53 65 74 53 68 6f 77 43 6d 64 28 69 6e LT SetShowCmd(in 50e0: 74 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 t);...HRESULT Ge 50f0: 74 49 63 6f 6e 4c 6f 63 61 74 69 6f 6e 28 4c 50 tIconLocation(LP 5100: 53 54 52 2c 20 69 6e 74 2c 20 69 6e 74 2a 29 3b STR, int, int*); 5110: 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 49 63 ...HRESULT SetIc 5120: 6f 6e 4c 6f 63 61 74 69 6f 6e 28 4c 50 43 53 54 onLocation(LPCST 5130: 52 2c 20 69 6e 74 29 3b 0d 0a 09 48 52 45 53 55 R, int);...HRESU 5140: 4c 54 20 53 65 74 52 65 6c 61 74 69 76 65 50 61 LT SetRelativePa 5150: 74 68 28 4c 50 43 53 54 52 20 2c 20 44 57 4f 52 th(LPCSTR , DWOR 5160: 44 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 52 65 D);...HRESULT Re 5170: 73 6f 6c 76 65 28 48 57 4e 44 2c 20 44 57 4f 52 solve(HWND, DWOR 5180: 44 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 D);...HRESULT Se 5190: 74 50 61 74 68 28 4c 50 43 53 54 52 29 3b 0d 0a tPath(LPCSTR);.. 51a0: 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 }....interface I 51b0: 53 68 65 6c 6c 4c 69 6e 6b 57 20 3a 20 49 55 6e ShellLinkW : IUn 51c0: 6b 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 4c known {...HRESUL 51d0: 54 20 47 65 74 50 61 74 68 28 4c 50 57 53 54 52 T GetPath(LPWSTR 51e0: 2c 20 69 6e 74 2c 20 57 49 4e 33 32 5f 46 49 4e , int, WIN32_FIN 51f0: 44 5f 44 41 54 41 57 2a 2c 20 44 57 4f 52 44 29 D_DATAW*, DWORD) 5200: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 49 ;...HRESULT GetI 5210: 44 4c 69 73 74 28 4c 50 49 54 45 4d 49 44 4c 49 DList(LPITEMIDLI 5220: 53 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 ST*);...HRESULT 5230: 53 65 74 49 44 4c 69 73 74 28 4c 50 43 49 54 45 SetIDList(LPCITE 5240: 4d 49 44 4c 49 53 54 29 3b 0d 0a 09 48 52 45 53 MIDLIST);...HRES 5250: 55 4c 54 20 47 65 74 44 65 73 63 72 69 70 74 69 ULT GetDescripti 5260: 6f 6e 28 4c 50 57 53 54 52 2c 20 69 6e 74 29 3b on(LPWSTR, int); 5270: 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 44 65 ...HRESULT SetDe 5280: 73 63 72 69 70 74 69 6f 6e 28 4c 50 43 57 53 54 scription(LPCWST 5290: 52 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 R);...HRESULT Ge 52a0: 74 57 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 tWorkingDirector 52b0: 79 28 4c 50 57 53 54 52 2c 20 69 6e 74 29 3b 0d y(LPWSTR, int);. 52c0: 0a 09 48 52 45 53 55 4c 54 20 53 65 74 57 6f 72 ..HRESULT SetWor 52d0: 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 4c 50 kingDirectory(LP 52e0: 43 57 53 54 52 29 3b 0d 0a 09 48 52 45 53 55 4c CWSTR);...HRESUL 52f0: 54 20 47 65 74 41 72 67 75 6d 65 6e 74 73 28 4c T GetArguments(L 5300: 50 57 53 54 52 2c 20 69 6e 74 29 3b 0d 0a 09 48 PWSTR, int);...H 5310: 52 45 53 55 4c 54 20 53 65 74 41 72 67 75 6d 65 RESULT SetArgume 5320: 6e 74 73 28 4c 50 43 57 53 54 52 29 3b 0d 0a 09 nts(LPCWSTR);... 5330: 48 52 45 53 55 4c 54 20 47 65 74 48 6f 74 6b 65 HRESULT GetHotke 5340: 79 28 50 57 4f 52 44 29 3b 0d 0a 09 48 52 45 53 y(PWORD);...HRES 5350: 55 4c 54 20 53 65 74 48 6f 74 6b 65 79 28 57 4f ULT SetHotkey(WO 5360: 52 44 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 RD);...HRESULT G 5370: 65 74 53 68 6f 77 43 6d 64 28 69 6e 74 2a 29 3b etShowCmd(int*); 5380: 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 53 68 ...HRESULT SetSh 5390: 6f 77 43 6d 64 28 69 6e 74 29 3b 0d 0a 09 48 52 owCmd(int);...HR 53a0: 45 53 55 4c 54 20 47 65 74 49 63 6f 6e 4c 6f 63 ESULT GetIconLoc 53b0: 61 74 69 6f 6e 28 4c 50 57 53 54 52 2c 20 69 6e ation(LPWSTR, in 53c0: 74 2c 20 69 6e 74 2a 29 3b 0d 0a 09 48 52 45 53 t, int*);...HRES 53d0: 55 4c 54 20 53 65 74 49 63 6f 6e 4c 6f 63 61 74 ULT SetIconLocat 53e0: 69 6f 6e 28 4c 50 43 57 53 54 52 2c 20 69 6e 74 ion(LPCWSTR, int 53f0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 );...HRESULT Set 5400: 52 65 6c 61 74 69 76 65 50 61 74 68 28 4c 50 43 RelativePath(LPC 5410: 57 53 54 52 20 2c 20 44 57 4f 52 44 29 3b 0d 0a WSTR , DWORD);.. 5420: 09 48 52 45 53 55 4c 54 20 52 65 73 6f 6c 76 65 .HRESULT Resolve 5430: 28 48 57 4e 44 2c 20 44 57 4f 52 44 29 3b 0d 0a (HWND, DWORD);.. 5440: 09 48 52 45 53 55 4c 54 20 53 65 74 50 61 74 68 .HRESULT SetPath 5450: 28 4c 50 43 57 53 54 52 29 3b 0d 0a 7d 0d 0a 0d (LPCWSTR);..}... 5460: 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 53 68 ...interface ISh 5470: 65 6c 6c 46 6f 6c 64 65 72 20 3a 20 49 55 6e 6b ellFolder : IUnk 5480: 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 nown {...HRESULT 5490: 20 50 61 72 73 65 44 69 73 70 6c 61 79 4e 61 6d ParseDisplayNam 54a0: 65 28 48 57 4e 44 2c 20 4c 50 42 43 2c 20 4c 50 e(HWND, LPBC, LP 54b0: 4f 4c 45 53 54 52 2c 20 50 55 4c 4f 4e 47 2c 20 OLESTR, PULONG, 54c0: 4c 50 49 54 45 4d 49 44 4c 49 53 54 2a 2c 20 50 LPITEMIDLIST*, P 54d0: 55 4c 4f 4e 47 29 3b 0d 0a 09 48 52 45 53 55 4c ULONG);...HRESUL 54e0: 54 20 45 6e 75 6d 4f 62 6a 65 63 74 73 28 48 57 T EnumObjects(HW 54f0: 4e 44 2c 20 44 57 4f 52 44 2c 20 4c 50 45 4e 55 ND, DWORD, LPENU 5500: 4d 49 44 4c 49 53 54 2a 29 3b 0d 0a 09 48 52 45 MIDLIST*);...HRE 5510: 53 55 4c 54 20 42 69 6e 64 54 6f 4f 62 6a 65 63 SULT BindToObjec 5520: 74 28 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 2c t(LPCITEMIDLIST, 5530: 20 4c 50 42 43 2c 20 52 45 46 49 49 44 2c 20 50 LPBC, REFIID, P 5540: 56 4f 49 44 2a 29 3b 0d 0a 09 48 52 45 53 55 4c VOID*);...HRESUL 5550: 54 20 42 69 6e 64 54 6f 53 74 6f 72 61 67 65 28 T BindToStorage( 5560: 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 2c 20 4c LPCITEMIDLIST, L 5570: 50 42 43 2c 20 52 45 46 49 49 44 2c 20 50 56 4f PBC, REFIID, PVO 5580: 49 44 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 ID*);...HRESULT 5590: 43 6f 6d 70 61 72 65 49 44 73 28 4c 50 41 52 41 CompareIDs(LPARA 55a0: 4d 2c 20 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 M, LPCITEMIDLIST 55b0: 2c 20 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 29 , LPCITEMIDLIST) 55c0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 43 72 65 61 ;...HRESULT Crea 55d0: 74 65 56 69 65 77 4f 62 6a 65 63 74 28 48 57 4e teViewObject(HWN 55e0: 44 2c 20 52 45 46 49 49 44 2c 20 50 56 4f 49 44 D, REFIID, PVOID 55f0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 *);...HRESULT Ge 5600: 74 41 74 74 72 69 62 75 74 65 73 4f 66 28 55 49 tAttributesOf(UI 5610: 4e 54 2c 20 4c 50 43 49 54 45 4d 49 44 4c 49 53 NT, LPCITEMIDLIS 5620: 54 2a 2c 20 50 55 4c 4f 4e 47 29 3b 0d 0a 09 48 T*, PULONG);...H 5630: 52 45 53 55 4c 54 20 47 65 74 55 49 4f 62 6a 65 RESULT GetUIObje 5640: 63 74 4f 66 28 48 57 4e 44 2c 20 55 49 4e 54 2c ctOf(HWND, UINT, 5650: 20 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 2a 2c LPCITEMIDLIST*, 5660: 20 52 45 46 49 49 44 2c 20 50 55 49 4e 54 2c 20 REFIID, PUINT, 5670: 50 56 4f 49 44 2a 29 3b 0d 0a 09 48 52 45 53 55 PVOID*);...HRESU 5680: 4c 54 20 47 65 74 44 69 73 70 6c 61 79 4e 61 6d LT GetDisplayNam 5690: 65 4f 66 28 4c 50 43 49 54 45 4d 49 44 4c 49 53 eOf(LPCITEMIDLIS 56a0: 54 2c 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 52 T, DWORD, LPSTRR 56b0: 45 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 ET);...HRESULT S 56c0: 65 74 4e 61 6d 65 4f 66 28 48 57 4e 44 2c 20 4c etNameOf(HWND, L 56d0: 50 43 49 54 45 4d 49 44 4c 49 53 54 2c 20 4c 50 PCITEMIDLIST, LP 56e0: 43 4f 4c 45 53 54 52 2c 20 44 57 4f 52 44 2c 20 COLESTR, DWORD, 56f0: 4c 50 49 54 45 4d 49 44 4c 49 53 54 2a 29 3b 0d LPITEMIDLIST*);. 5700: 0a 7d 0d 0a 61 6c 69 61 73 20 49 53 68 65 6c 6c .}..alias IShell 5710: 46 6f 6c 64 65 72 20 4c 50 53 48 45 4c 4c 46 4f Folder LPSHELLFO 5720: 4c 44 45 52 3b 0d 0a 0d 0a 73 74 61 74 69 63 20 LDER;....static 5730: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >= 5740: 20 30 78 35 30 30 29 20 7b 0d 0a 0d 0a 69 6e 74 0x500) {....int 5750: 65 72 66 61 63 65 20 49 45 6e 75 6d 45 78 74 72 erface IEnumExtr 5760: 61 53 65 61 72 63 68 3a 20 49 55 6e 6b 6e 6f 77 aSearch: IUnknow 5770: 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 4e 65 n {...HRESULT Ne 5780: 78 74 28 55 4c 4f 4e 47 2c 20 4c 50 45 58 54 52 xt(ULONG, LPEXTR 5790: 41 53 45 41 52 43 48 2a 2c 20 55 4c 4f 4e 47 2a ASEARCH*, ULONG* 57a0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 6b 69 );...HRESULT Ski 57b0: 70 28 55 4c 4f 4e 47 29 3b 0d 0a 09 48 52 45 53 p(ULONG);...HRES 57c0: 55 4c 54 20 52 65 73 65 74 28 29 3b 0d 0a 09 48 ULT Reset();...H 57d0: 52 45 53 55 4c 54 20 43 6c 6f 6e 65 28 49 45 6e RESULT Clone(IEn 57e0: 75 6d 45 78 74 72 61 53 65 61 72 63 68 2a 29 3b umExtraSearch*); 57f0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 45 6e 75 6d ..}..alias IEnum 5800: 45 78 74 72 61 53 65 61 72 63 68 20 4c 50 45 4e ExtraSearch LPEN 5810: 55 4d 45 58 54 52 41 53 45 41 52 43 48 3b 0d 0a UMEXTRASEARCH;.. 5820: 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 53 68 65 ..interface IShe 5830: 6c 6c 46 6f 6c 64 65 72 32 20 3a 20 49 53 68 65 llFolder2 : IShe 5840: 6c 6c 46 6f 6c 64 65 72 20 7b 0d 0a 09 48 52 45 llFolder {...HRE 5850: 53 55 4c 54 20 50 61 72 73 65 44 69 73 70 6c 61 SULT ParseDispla 5860: 79 4e 61 6d 65 28 48 57 4e 44 2c 20 4c 50 42 43 yName(HWND, LPBC 5870: 2c 20 4c 50 4f 4c 45 53 54 52 2c 20 50 55 4c 4f , LPOLESTR, PULO 5880: 4e 47 2c 20 4c 50 49 54 45 4d 49 44 4c 49 53 54 NG, LPITEMIDLIST 5890: 2a 2c 20 50 55 4c 4f 4e 47 29 3b 0d 0a 09 48 52 *, PULONG);...HR 58a0: 45 53 55 4c 54 20 45 6e 75 6d 4f 62 6a 65 63 74 ESULT EnumObject 58b0: 73 28 48 57 4e 44 2c 20 44 57 4f 52 44 2c 20 4c s(HWND, DWORD, L 58c0: 50 45 4e 55 4d 49 44 4c 49 53 54 2a 29 3b 0d 0a PENUMIDLIST*);.. 58d0: 09 48 52 45 53 55 4c 54 20 42 69 6e 64 54 6f 4f .HRESULT BindToO 58e0: 62 6a 65 63 74 28 4c 50 43 49 54 45 4d 49 44 4c bject(LPCITEMIDL 58f0: 49 53 54 2c 20 4c 50 42 43 2c 20 52 45 46 49 49 IST, LPBC, REFII 5900: 44 2c 20 50 56 4f 49 44 2a 29 3b 0d 0a 09 48 52 D, PVOID*);...HR 5910: 45 53 55 4c 54 20 42 69 6e 64 54 6f 53 74 6f 72 ESULT BindToStor 5920: 61 67 65 28 4c 50 43 49 54 45 4d 49 44 4c 49 53 age(LPCITEMIDLIS 5930: 54 2c 20 4c 50 42 43 2c 20 52 45 46 49 49 44 2c T, LPBC, REFIID, 5940: 20 50 56 4f 49 44 2a 29 3b 0d 0a 09 48 52 45 53 PVOID*);...HRES 5950: 55 4c 54 20 43 6f 6d 70 61 72 65 49 44 73 28 4c ULT CompareIDs(L 5960: 50 41 52 41 4d 2c 20 4c 50 43 49 54 45 4d 49 44 PARAM, LPCITEMID 5970: 4c 49 53 54 2c 20 4c 50 43 49 54 45 4d 49 44 4c LIST, LPCITEMIDL 5980: 49 53 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 IST);...HRESULT 5990: 43 72 65 61 74 65 56 69 65 77 4f 62 6a 65 63 74 CreateViewObject 59a0: 28 48 57 4e 44 2c 20 52 45 46 49 49 44 2c 20 50 (HWND, REFIID, P 59b0: 56 4f 49 44 2a 29 3b 0d 0a 09 48 52 45 53 55 4c VOID*);...HRESUL 59c0: 54 20 47 65 74 41 74 74 72 69 62 75 74 65 73 4f T GetAttributesO 59d0: 66 28 55 49 4e 54 2c 20 4c 50 43 49 54 45 4d 49 f(UINT, LPCITEMI 59e0: 44 4c 49 53 54 2a 2c 20 50 55 4c 4f 4e 47 29 3b DLIST*, PULONG); 59f0: 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 55 49 ...HRESULT GetUI 5a00: 4f 62 6a 65 63 74 4f 66 28 48 57 4e 44 2c 20 55 ObjectOf(HWND, U 5a10: 49 4e 54 2c 20 4c 50 43 49 54 45 4d 49 44 4c 49 INT, LPCITEMIDLI 5a20: 53 54 2a 2c 20 52 45 46 49 49 44 2c 20 50 55 49 ST*, REFIID, PUI 5a30: 4e 54 2c 20 50 56 4f 49 44 2a 29 3b 0d 0a 09 48 NT, PVOID*);...H 5a40: 52 45 53 55 4c 54 20 47 65 74 44 69 73 70 6c 61 RESULT GetDispla 5a50: 79 4e 61 6d 65 4f 66 28 4c 50 43 49 54 45 4d 49 yNameOf(LPCITEMI 5a60: 44 4c 49 53 54 2c 20 44 57 4f 52 44 2c 20 4c 50 DLIST, DWORD, LP 5a70: 53 54 52 52 45 54 29 3b 0d 0a 09 48 52 45 53 55 STRRET);...HRESU 5a80: 4c 54 20 53 65 74 4e 61 6d 65 4f 66 28 48 57 4e LT SetNameOf(HWN 5a90: 44 2c 20 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 D, LPCITEMIDLIST 5aa0: 2c 20 4c 50 43 4f 4c 45 53 54 52 2c 20 44 57 4f , LPCOLESTR, DWO 5ab0: 52 44 2c 20 4c 50 49 54 45 4d 49 44 4c 49 53 54 RD, LPITEMIDLIST 5ac0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 *);...HRESULT Ge 5ad0: 74 44 65 66 61 75 6c 74 53 65 61 72 63 68 47 55 tDefaultSearchGU 5ae0: 49 44 28 47 55 49 44 2a 29 3b 0d 0a 09 48 52 45 ID(GUID*);...HRE 5af0: 53 55 4c 54 20 45 6e 75 6d 53 65 61 72 63 68 65 SULT EnumSearche 5b00: 73 28 49 45 6e 75 6d 45 78 74 72 61 53 65 61 72 s(IEnumExtraSear 5b10: 63 68 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 ch*);...HRESULT 5b20: 47 65 74 44 65 66 61 75 6c 74 43 6f 6c 75 6d 6e GetDefaultColumn 5b30: 28 44 57 4f 52 44 2c 20 55 4c 4f 4e 47 2a 2c 20 (DWORD, ULONG*, 5b40: 55 4c 4f 4e 47 2a 29 3b 0d 0a 09 48 52 45 53 55 ULONG*);...HRESU 5b50: 4c 54 20 47 65 74 44 65 66 61 75 6c 74 43 6f 6c LT GetDefaultCol 5b60: 75 6d 6e 53 74 61 74 65 28 55 49 4e 54 2c 20 53 umnState(UINT, S 5b70: 48 43 4f 4c 53 54 41 54 45 46 2a 29 3b 0d 0a 09 HCOLSTATEF*);... 5b80: 48 52 45 53 55 4c 54 20 47 65 74 44 65 74 61 69 HRESULT GetDetai 5b90: 6c 73 45 78 28 4c 50 43 49 54 45 4d 49 44 4c 49 lsEx(LPCITEMIDLI 5ba0: 53 54 2c 20 63 6f 6e 73 74 28 53 48 43 4f 4c 55 ST, const(SHCOLU 5bb0: 4d 4e 49 44 29 2a 2c 20 56 41 52 49 41 4e 54 2a MNID)*, VARIANT* 5bc0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 );...HRESULT Get 5bd0: 44 65 74 61 69 6c 73 4f 66 28 4c 50 43 49 54 45 DetailsOf(LPCITE 5be0: 4d 49 44 4c 49 53 54 2c 20 55 49 4e 54 2c 20 53 MIDLIST, UINT, S 5bf0: 48 45 4c 4c 44 45 54 41 49 4c 53 2a 29 3b 0d 0a HELLDETAILS*);.. 5c00: 09 48 52 45 53 55 4c 54 20 4d 61 70 43 6f 6c 75 .HRESULT MapColu 5c10: 6d 6e 54 6f 53 43 49 44 28 55 49 4e 54 2c 20 53 mnToSCID(UINT, S 5c20: 48 43 4f 4c 55 4d 4e 49 44 2a 29 3b 0d 0a 7d 0d HCOLUMNID*);..}. 5c30: 0a 61 6c 69 61 73 20 49 53 68 65 6c 6c 46 6f 6c .alias IShellFol 5c40: 64 65 72 32 20 4c 50 53 48 45 4c 4c 46 4f 4c 44 der2 LPSHELLFOLD 5c50: 45 52 32 3b 0d 0a 0d 0a 7d 20 2f 2a 20 5f 57 49 ER2;....} /* _WI 5c60: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 30 20 N32_IE >= 0x500 5c70: 2a 2f 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 */....interface 5c80: 49 43 6f 70 79 48 6f 6f 6b 20 3a 20 49 55 6e 6b ICopyHook : IUnk 5c90: 6e 6f 77 6e 20 7b 0d 0a 09 55 49 4e 54 20 43 6f nown {...UINT Co 5ca0: 70 79 43 61 6c 6c 62 61 63 6b 28 48 57 4e 44 2c pyCallback(HWND, 5cb0: 20 55 49 4e 54 2c 20 55 49 4e 54 2c 20 4c 50 43 UINT, UINT, LPC 5cc0: 53 54 52 2c 20 44 57 4f 52 44 2c 20 4c 50 43 53 STR, DWORD, LPCS 5cd0: 54 52 2c 20 44 57 4f 52 44 29 3b 0d 0a 7d 0d 0a TR, DWORD);..}.. 5ce0: 61 6c 69 61 73 20 49 43 6f 70 79 48 6f 6f 6b 20 alias ICopyHook 5cf0: 4c 50 43 4f 50 59 48 4f 4f 4b 3b 0d 0a 0d 0a 69 LPCOPYHOOK;....i 5d00: 6e 74 65 72 66 61 63 65 20 49 46 69 6c 65 56 69 nterface IFileVi 5d10: 65 77 65 72 53 69 74 65 20 3a 20 49 55 6e 6b 6e ewerSite : IUnkn 5d20: 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 own {...HRESULT 5d30: 53 65 74 50 69 6e 6e 65 64 57 69 6e 64 6f 77 28 SetPinnedWindow( 5d40: 48 57 4e 44 29 3b 0d 0a 09 48 52 45 53 55 4c 54 HWND);...HRESULT 5d50: 20 47 65 74 50 69 6e 6e 65 64 57 69 6e 64 6f 77 GetPinnedWindow 5d60: 28 48 57 4e 44 2a 29 3b 0d 0a 7d 0d 0a 61 6c 69 (HWND*);..}..ali 5d70: 61 73 20 49 46 69 6c 65 56 69 65 77 65 72 53 69 as IFileViewerSi 5d80: 74 65 20 4c 50 46 49 4c 45 56 49 45 57 45 52 53 te LPFILEVIEWERS 5d90: 49 54 45 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 ITE;....interfac 5da0: 65 20 49 46 69 6c 65 56 69 65 77 65 72 20 3a 20 e IFileViewer : 5db0: 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 IUnknown {...HRE 5dc0: 53 55 4c 54 20 53 68 6f 77 49 6e 69 74 69 61 6c SULT ShowInitial 5dd0: 69 7a 65 28 4c 50 46 49 4c 45 56 49 45 57 45 52 ize(LPFILEVIEWER 5de0: 53 49 54 45 29 3b 0d 0a 09 48 52 45 53 55 4c 54 SITE);...HRESULT 5df0: 20 53 68 6f 77 28 4c 50 46 56 53 48 4f 57 49 4e Show(LPFVSHOWIN 5e00: 46 4f 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 50 FO);...HRESULT P 5e10: 72 69 6e 74 54 6f 28 4c 50 53 54 52 2c 20 42 4f rintTo(LPSTR, BO 5e20: 4f 4c 29 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 OL);..}..alias I 5e30: 46 69 6c 65 56 69 65 77 65 72 20 4c 50 46 49 4c FileViewer LPFIL 5e40: 45 56 49 45 57 45 52 3b 0d 0a 0d 0a 69 6e 74 65 EVIEWER;....inte 5e50: 72 66 61 63 65 20 49 46 69 6c 65 53 79 73 74 65 rface IFileSyste 5e60: 6d 42 69 6e 64 44 61 74 61 20 3a 20 49 55 6e 6b mBindData : IUnk 5e70: 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 nown {...HRESULT 5e80: 20 53 65 74 46 69 6e 64 44 61 74 61 28 63 6f 6e SetFindData(con 5e90: 73 74 28 57 49 4e 33 32 5f 46 49 4e 44 5f 44 41 st(WIN32_FIND_DA 5ea0: 54 41 57 29 2a 29 3b 0d 0a 09 48 52 45 53 55 4c TAW)*);...HRESUL 5eb0: 54 20 47 65 74 46 69 6e 64 44 61 74 61 28 57 49 T GetFindData(WI 5ec0: 4e 33 32 5f 46 49 4e 44 5f 44 41 54 41 57 2a 29 N32_FIND_DATAW*) 5ed0: 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 ;..}....interfac 5ee0: 65 20 49 50 65 72 73 69 73 74 46 6f 6c 64 65 72 e IPersistFolder 5ef0: 20 3a 20 49 50 65 72 73 69 73 74 20 7b 0d 0a 09 : IPersist {... 5f00: 48 52 45 53 55 4c 54 20 47 65 74 43 6c 61 73 73 HRESULT GetClass 5f10: 49 44 28 43 4c 53 49 44 2a 29 3b 0d 0a 09 48 52 ID(CLSID*);...HR 5f20: 45 53 55 4c 54 20 49 6e 69 74 69 61 6c 69 7a 65 ESULT Initialize 5f30: 28 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 29 3b (LPCITEMIDLIST); 5f40: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 50 65 72 73 ..}..alias IPers 5f50: 69 73 74 46 6f 6c 64 65 72 20 4c 50 50 45 52 53 istFolder LPPERS 5f60: 49 53 54 46 4f 4c 44 45 52 3b 0d 0a 0d 0a 73 74 ISTFOLDER;....st 5f70: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f atic if (_WIN32_ 5f80: 49 45 20 3e 3d 20 30 78 34 30 30 20 7c 7c 20 5f IE >= 0x400 || _ 5f90: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0 5fa0: 78 35 30 30 29 20 7b 0d 0a 0d 0a 69 6e 74 65 72 x500) {....inter 5fb0: 66 61 63 65 20 49 50 65 72 73 69 73 74 46 6f 6c face IPersistFol 5fc0: 64 65 72 32 20 3a 20 49 50 65 72 73 69 73 74 46 der2 : IPersistF 5fd0: 6f 6c 64 65 72 20 7b 0d 0a 09 48 52 45 53 55 4c older {...HRESUL 5fe0: 54 20 47 65 74 43 6c 61 73 73 49 44 28 43 4c 53 T GetClassID(CLS 5ff0: 49 44 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 ID*);...HRESULT 6000: 49 6e 69 74 69 61 6c 69 7a 65 28 4c 50 43 49 54 Initialize(LPCIT 6010: 45 4d 49 44 4c 49 53 54 29 3b 0d 0a 09 48 52 45 EMIDLIST);...HRE 6020: 53 55 4c 54 20 47 65 74 43 75 72 46 6f 6c 64 65 SULT GetCurFolde 6030: 72 28 4c 50 49 54 45 4d 49 44 4c 49 53 54 2a 29 r(LPITEMIDLIST*) 6040: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 50 65 72 ;..}..alias IPer 6050: 73 69 73 74 46 6f 6c 64 65 72 32 20 4c 50 50 45 sistFolder2 LPPE 6060: 52 53 49 53 54 46 4f 4c 44 45 52 32 3b 0d 0a 0d RSISTFOLDER2;... 6070: 0a 7d 2f 2a 20 5f 57 49 4e 33 32 5f 49 45 20 3e .}/* _WIN32_IE > 6080: 3d 20 30 78 34 30 30 20 7c 7c 20 5f 57 49 4e 33 = 0x400 || _WIN3 6090: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 2_WINNT >= 0x500 60a0: 20 2a 2f 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 */....static if 60b0: 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 (_WIN32_IE >= 0 60c0: 78 35 30 30 29 20 7b 0d 0a 0d 0a 69 6e 74 65 72 x500) {....inter 60d0: 66 61 63 65 20 49 50 65 72 73 69 73 74 46 6f 6c face IPersistFol 60e0: 64 65 72 33 20 3a 20 49 50 65 72 73 69 73 74 46 der3 : IPersistF 60f0: 6f 6c 64 65 72 32 20 7b 0d 0a 09 48 52 45 53 55 older2 {...HRESU 6100: 4c 54 20 47 65 74 43 6c 61 73 73 49 44 28 43 4c LT GetClassID(CL 6110: 53 49 44 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 SID*);...HRESULT 6120: 20 49 6e 69 74 69 61 6c 69 7a 65 28 4c 50 43 49 Initialize(LPCI 6130: 54 45 4d 49 44 4c 49 53 54 29 3b 0d 0a 09 48 52 TEMIDLIST);...HR 6140: 45 53 55 4c 54 20 47 65 74 43 75 72 46 6f 6c 64 ESULT GetCurFold 6150: 65 72 28 4c 50 49 54 45 4d 49 44 4c 49 53 54 2a er(LPITEMIDLIST* 6160: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 49 6e 69 );...HRESULT Ini 6170: 74 69 61 6c 69 7a 65 45 78 28 49 42 69 6e 64 43 tializeEx(IBindC 6180: 74 78 2c 20 4c 50 43 49 54 45 4d 49 44 4c 49 53 tx, LPCITEMIDLIS 6190: 54 2c 20 63 6f 6e 73 74 28 50 45 52 53 49 53 54 T, const(PERSIST 61a0: 5f 46 4f 4c 44 45 52 5f 54 41 52 47 45 54 5f 49 _FOLDER_TARGET_I 61b0: 4e 46 4f 29 2a 29 3b 0d 0a 09 48 52 45 53 55 4c NFO)*);...HRESUL 61c0: 54 20 47 65 74 46 6f 6c 64 65 72 54 61 72 67 65 T GetFolderTarge 61d0: 74 49 6e 66 6f 28 50 45 52 53 49 53 54 5f 46 4f tInfo(PERSIST_FO 61e0: 4c 44 45 52 5f 54 41 52 47 45 54 5f 49 4e 46 4f LDER_TARGET_INFO 61f0: 2a 29 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 50 *);..}..alias IP 6200: 65 72 73 69 73 74 46 6f 6c 64 65 72 33 20 4c 50 ersistFolder3 LP 6210: 50 45 52 53 49 53 54 46 4f 4c 44 45 52 33 3b 0d PERSISTFOLDER3;. 6220: 0a 0d 0a 7d 20 2f 2a 20 5f 57 49 4e 33 32 5f 49 ...} /* _WIN32_I 6230: 45 20 3e 3d 20 30 78 35 30 30 20 2a 2f 0d 0a 0d E >= 0x500 */... 6240: 0a 61 6c 69 61 73 20 49 53 68 65 6c 6c 42 72 6f .alias IShellBro 6250: 77 73 65 72 20 4c 50 53 48 45 4c 4c 42 52 4f 57 wser LPSHELLBROW 6260: 53 45 52 3b 0d 0a 61 6c 69 61 73 20 49 53 68 65 SER;..alias IShe 6270: 6c 6c 56 69 65 77 20 4c 50 53 48 45 4c 4c 56 49 llView LPSHELLVI 6280: 45 57 3b 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 EW;....interface 6290: 20 49 53 68 65 6c 6c 42 72 6f 77 73 65 72 20 3a IShellBrowser : 62a0: 20 49 4f 6c 65 57 69 6e 64 6f 77 20 7b 0d 0a 09 IOleWindow {... 62b0: 48 52 45 53 55 4c 54 20 47 65 74 57 69 6e 64 6f HRESULT GetWindo 62c0: 77 28 48 57 4e 44 2a 29 3b 0d 0a 09 48 52 45 53 w(HWND*);...HRES 62d0: 55 4c 54 20 43 6f 6e 74 65 78 74 53 65 6e 73 69 ULT ContextSensi 62e0: 74 69 76 65 48 65 6c 70 28 42 4f 4f 4c 29 3b 0d tiveHelp(BOOL);. 62f0: 0a 09 48 52 45 53 55 4c 54 20 49 6e 73 65 72 74 ..HRESULT Insert 6300: 4d 65 6e 75 73 53 42 28 48 4d 45 4e 55 2c 20 4c MenusSB(HMENU, L 6310: 50 4f 4c 45 4d 45 4e 55 47 52 4f 55 50 57 49 44 POLEMENUGROUPWID 6320: 54 48 53 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 THS);...HRESULT 6330: 53 65 74 4d 65 6e 75 53 42 28 48 4d 45 4e 55 2c SetMenuSB(HMENU, 6340: 20 48 4f 4c 45 4d 45 4e 55 2c 20 48 57 4e 44 29 HOLEMENU, HWND) 6350: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 52 65 6d 6f ;...HRESULT Remo 6360: 76 65 4d 65 6e 75 73 53 42 28 48 4d 45 4e 55 29 veMenusSB(HMENU) 6370: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 53 ;...HRESULT SetS 6380: 74 61 74 75 73 54 65 78 74 53 42 28 4c 50 43 4f tatusTextSB(LPCO 6390: 4c 45 53 54 52 29 3b 0d 0a 09 48 52 45 53 55 4c LESTR);...HRESUL 63a0: 54 20 45 6e 61 62 6c 65 4d 6f 64 65 6c 65 73 73 T EnableModeless 63b0: 53 42 28 42 4f 4f 4c 29 3b 0d 0a 09 48 52 45 53 SB(BOOL);...HRES 63c0: 55 4c 54 20 54 72 61 6e 73 6c 61 74 65 41 63 63 ULT TranslateAcc 63d0: 65 6c 65 72 61 74 6f 72 53 42 28 4c 50 4d 53 47 eleratorSB(LPMSG 63e0: 2c 20 57 4f 52 44 29 3b 0d 0a 09 48 52 45 53 55 , WORD);...HRESU 63f0: 4c 54 20 42 72 6f 77 73 65 4f 62 6a 65 63 74 28 LT BrowseObject( 6400: 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 2c 20 55 LPCITEMIDLIST, U 6410: 49 4e 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 INT);...HRESULT 6420: 47 65 74 56 69 65 77 53 74 61 74 65 53 74 72 65 GetViewStateStre 6430: 61 6d 28 44 57 4f 52 44 2c 20 4c 50 53 54 52 45 am(DWORD, LPSTRE 6440: 41 4d 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 AM*);...HRESULT 6450: 47 65 74 43 6f 6e 74 72 6f 6c 57 69 6e 64 6f 77 GetControlWindow 6460: 28 55 49 4e 54 2c 20 48 57 4e 44 2a 29 3b 0d 0a (UINT, HWND*);.. 6470: 09 48 52 45 53 55 4c 54 20 53 65 6e 64 43 6f 6e .HRESULT SendCon 6480: 74 72 6f 6c 4d 73 67 28 55 49 4e 54 2c 20 55 49 trolMsg(UINT, UI 6490: 4e 54 2c 20 57 50 41 52 41 4d 2c 20 4c 50 41 52 NT, WPARAM, LPAR 64a0: 41 4d 2c 20 4c 52 45 53 55 4c 54 2a 29 3b 0d 0a AM, LRESULT*);.. 64b0: 09 48 52 45 53 55 4c 54 20 51 75 65 72 79 41 63 .HRESULT QueryAc 64c0: 74 69 76 65 53 68 65 6c 6c 56 69 65 77 28 4c 50 tiveShellView(LP 64d0: 53 48 45 4c 4c 56 49 45 57 2a 29 3b 0d 0a 09 48 SHELLVIEW*);...H 64e0: 52 45 53 55 4c 54 20 4f 6e 56 69 65 77 57 69 6e RESULT OnViewWin 64f0: 64 6f 77 41 63 74 69 76 65 28 4c 50 53 48 45 4c dowActive(LPSHEL 6500: 4c 56 49 45 57 29 3b 0d 0a 09 48 52 45 53 55 4c LVIEW);...HRESUL 6510: 54 20 53 65 74 54 6f 6f 6c 62 61 72 49 74 65 6d T SetToolbarItem 6520: 73 28 4c 50 54 42 42 55 54 54 4f 4e 2c 20 55 49 s(LPTBBUTTON, UI 6530: 4e 54 2c 20 55 49 4e 54 29 3b 0d 0a 7d 0d 0a 0d NT, UINT);..}... 6540: 0a 69 6e 74 65 72 66 61 63 65 20 49 53 68 65 6c .interface IShel 6550: 6c 56 69 65 77 20 3a 20 49 4f 6c 65 57 69 6e 64 lView : IOleWind 6560: 6f 77 20 7b 0d 0a 09 48 52 45 53 55 4c 54 20 47 ow {...HRESULT G 6570: 65 74 57 69 6e 64 6f 77 28 48 57 4e 44 2a 29 3b etWindow(HWND*); 6580: 0d 0a 09 48 52 45 53 55 4c 54 20 43 6f 6e 74 65 ...HRESULT Conte 6590: 78 74 53 65 6e 73 69 74 69 76 65 48 65 6c 70 28 xtSensitiveHelp( 65a0: 42 4f 4f 4c 29 3b 0d 0a 09 48 52 45 53 55 4c 54 BOOL);...HRESULT 65b0: 20 54 72 61 6e 73 6c 61 74 65 41 63 63 65 6c 65 TranslateAccele 65c0: 72 61 74 6f 72 28 4c 50 4d 53 47 29 3b 0d 0a 2f rator(LPMSG);../ 65d0: 2f 5b 4e 6f 5d 20 23 69 66 64 65 66 20 5f 46 49 /[No] #ifdef _FI 65e0: 58 5f 45 4e 41 42 4c 45 4d 4f 44 45 4c 45 53 53 X_ENABLEMODELESS 65f0: 5f 43 4f 4e 46 4c 49 43 54 0d 0a 2f 2f 5b 4e 6f _CONFLICT..//[No 6600: 5d 20 09 53 54 44 4d 45 54 48 4f 44 28 45 6e 61 ] .STDMETHOD(Ena 6610: 62 6c 65 4d 6f 64 65 6c 65 73 73 53 56 29 28 54 bleModelessSV)(T 6620: 48 49 53 5f 20 42 4f 4f 4c 29 20 50 55 52 45 3b HIS_ BOOL) PURE; 6630: 0d 0a 2f 2f 5b 59 65 73 5d 20 23 65 6c 73 65 0d ..//[Yes] #else. 6640: 0a 09 48 52 45 53 55 4c 54 20 45 6e 61 62 6c 65 ..HRESULT Enable 6650: 4d 6f 64 65 6c 65 73 73 28 42 4f 4f 4c 29 3b 0d Modeless(BOOL);. 6660: 0a 2f 2f 5b 59 65 73 5d 20 23 65 6e 64 69 66 0d .//[Yes] #endif. 6670: 0a 09 48 52 45 53 55 4c 54 20 55 49 41 63 74 69 ..HRESULT UIActi 6680: 76 61 74 65 28 55 49 4e 54 29 3b 0d 0a 09 48 52 vate(UINT);...HR 6690: 45 53 55 4c 54 20 52 65 66 72 65 73 68 28 29 3b ESULT Refresh(); 66a0: 0d 0a 09 48 52 45 53 55 4c 54 20 43 72 65 61 74 ...HRESULT Creat 66b0: 65 56 69 65 77 57 69 6e 64 6f 77 28 49 53 68 65 eViewWindow(IShe 66c0: 6c 6c 56 69 65 77 2c 20 4c 50 43 46 4f 4c 44 45 llView, LPCFOLDE 66d0: 52 53 45 54 54 49 4e 47 53 2c 20 4c 50 53 48 45 RSETTINGS, LPSHE 66e0: 4c 4c 42 52 4f 57 53 45 52 2c 20 52 45 43 54 2a LLBROWSER, RECT* 66f0: 2c 20 48 57 4e 44 2a 29 3b 0d 0a 09 48 52 45 53 , HWND*);...HRES 6700: 55 4c 54 20 44 65 73 74 72 6f 79 56 69 65 77 57 ULT DestroyViewW 6710: 69 6e 64 6f 77 28 29 3b 0d 0a 09 48 52 45 53 55 indow();...HRESU 6720: 4c 54 20 47 65 74 43 75 72 72 65 6e 74 49 6e 66 LT GetCurrentInf 6730: 6f 28 4c 50 46 4f 4c 44 45 52 53 45 54 54 49 4e o(LPFOLDERSETTIN 6740: 47 53 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 41 GS);...HRESULT A 6750: 64 64 50 72 6f 70 65 72 74 79 53 68 65 65 74 50 ddPropertySheetP 6760: 61 67 65 73 28 44 57 4f 52 44 2c 20 4c 50 46 4e ages(DWORD, LPFN 6770: 41 44 44 50 52 4f 50 53 48 45 45 54 50 41 47 45 ADDPROPSHEETPAGE 6780: 2c 20 4c 50 41 52 41 4d 29 3b 0d 0a 09 48 52 45 , LPARAM);...HRE 6790: 53 55 4c 54 20 53 61 76 65 56 69 65 77 53 74 61 SULT SaveViewSta 67a0: 74 65 28 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 te();...HRESULT 67b0: 53 65 6c 65 63 74 49 74 65 6d 28 4c 50 43 49 54 SelectItem(LPCIT 67c0: 45 4d 49 44 4c 49 53 54 2c 20 55 49 4e 54 29 3b EMIDLIST, UINT); 67d0: 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 49 74 ...HRESULT GetIt 67e0: 65 6d 4f 62 6a 65 63 74 28 55 49 4e 54 2c 20 52 emObject(UINT, R 67f0: 45 46 49 49 44 2c 20 50 56 4f 49 44 2a 29 3b 0d EFIID, PVOID*);. 6800: 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 .}....interface 6810: 49 43 6f 6d 6d 44 6c 67 42 72 6f 77 73 65 72 20 ICommDlgBrowser 6820: 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 48 : IUnknown {...H 6830: 52 45 53 55 4c 54 20 4f 6e 44 65 66 61 75 6c 74 RESULT OnDefault 6840: 43 6f 6d 6d 61 6e 64 28 49 53 68 65 6c 6c 56 69 Command(IShellVi 6850: 65 77 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 4f ew);...HRESULT O 6860: 6e 53 74 61 74 65 43 68 61 6e 67 65 28 49 53 68 nStateChange(ISh 6870: 65 6c 6c 56 69 65 77 2c 20 55 4c 4f 4e 47 29 3b ellView, ULONG); 6880: 0d 0a 09 48 52 45 53 55 4c 54 20 49 6e 63 6c 75 ...HRESULT Inclu 6890: 64 65 4f 62 6a 65 63 74 28 49 53 68 65 6c 6c 56 deObject(IShellV 68a0: 69 65 77 2c 20 4c 50 43 49 54 45 4d 49 44 4c 49 iew, LPCITEMIDLI 68b0: 53 54 29 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 49 ST);..}..alias I 68c0: 43 6f 6d 6d 44 6c 67 42 72 6f 77 73 65 72 20 4c CommDlgBrowser L 68d0: 50 43 4f 4d 4d 44 4c 47 42 52 4f 57 53 45 52 3b PCOMMDLGBROWSER; 68e0: 0d 0a 0d 0a 61 6c 69 61 73 20 47 55 49 44 20 53 ....alias GUID S 68f0: 48 45 4c 4c 56 49 45 57 49 44 3b 0d 0a 0d 0a 73 HELLVIEWID;....s 6900: 74 72 75 63 74 20 53 56 32 43 56 57 32 5f 50 41 truct SV2CVW2_PA 6910: 52 41 4d 53 20 7b 0d 0a 09 44 57 4f 52 44 20 63 RAMS {...DWORD c 6920: 62 53 69 7a 65 20 3d 20 74 68 69 73 2e 73 69 7a bSize = this.siz 6930: 65 6f 66 3b 0d 0a 09 49 53 68 65 6c 6c 56 69 65 eof;...IShellVie 6940: 77 20 70 73 76 50 72 65 76 3b 0d 0a 09 46 4f 4c w psvPrev;...FOL 6950: 44 45 52 53 45 54 54 49 4e 47 53 20 20 2a 70 66 DERSETTINGS *pf 6960: 73 3b 0d 0a 09 49 53 68 65 6c 6c 42 72 6f 77 73 s;...IShellBrows 6970: 65 72 20 70 73 62 4f 77 6e 65 72 3b 0d 0a 09 52 er psbOwner;...R 6980: 45 43 54 20 2a 70 72 63 56 69 65 77 3b 0d 0a 09 ECT *prcView;... 6990: 63 6f 6e 73 74 28 53 48 45 4c 4c 56 49 45 57 49 const(SHELLVIEWI 69a0: 44 29 2a 20 70 76 69 64 3b 0d 0a 09 48 57 4e 44 D)* pvid;...HWND 69b0: 20 68 77 6e 64 56 69 65 77 3b 0d 0a 7d 0d 0a 61 hwndView;..}..a 69c0: 6c 69 61 73 20 53 56 32 43 56 57 32 5f 50 41 52 lias SV2CVW2_PAR 69d0: 41 4d 53 2a 20 4c 50 53 56 32 43 56 57 32 5f 50 AMS* LPSV2CVW2_P 69e0: 41 52 41 4d 53 3b 0d 0a 0d 0a 69 6e 74 65 72 66 ARAMS;....interf 69f0: 61 63 65 20 49 53 68 65 6c 6c 56 69 65 77 32 20 ace IShellView2 6a00: 3a 20 49 53 68 65 6c 6c 56 69 65 77 20 7b 0d 0a : IShellView {.. 6a10: 09 48 52 45 53 55 4c 54 20 47 65 74 57 69 6e 64 .HRESULT GetWind 6a20: 6f 77 28 48 57 4e 44 2a 29 3b 0d 0a 09 48 52 45 ow(HWND*);...HRE 6a30: 53 55 4c 54 20 43 6f 6e 74 65 78 74 53 65 6e 73 SULT ContextSens 6a40: 69 74 69 76 65 48 65 6c 70 28 42 4f 4f 4c 29 3b itiveHelp(BOOL); 6a50: 0d 0a 09 48 52 45 53 55 4c 54 20 54 72 61 6e 73 ...HRESULT Trans 6a60: 6c 61 74 65 41 63 63 65 6c 65 72 61 74 6f 72 28 lateAccelerator( 6a70: 4c 50 4d 53 47 29 3b 0d 0a 2f 2f 5b 4e 6f 5d 20 LPMSG);..//[No] 6a80: 23 69 66 64 65 66 20 5f 46 49 58 5f 45 4e 41 42 #ifdef _FIX_ENAB 6a90: 4c 45 4d 4f 44 45 4c 45 53 53 5f 43 4f 4e 46 4c LEMODELESS_CONFL 6aa0: 49 43 54 0d 0a 2f 2f 5b 4e 6f 5d 20 09 53 54 44 ICT..//[No] .STD 6ab0: 4d 45 54 48 4f 44 28 45 6e 61 62 6c 65 4d 6f 64 METHOD(EnableMod 6ac0: 65 6c 65 73 73 53 56 29 28 54 48 49 53 5f 20 42 elessSV)(THIS_ B 6ad0: 4f 4f 4c 29 20 50 55 52 45 3b 0d 0a 2f 2f 5b 59 OOL) PURE;..//[Y 6ae0: 65 73 5d 20 23 65 6c 73 65 0d 0a 09 48 52 45 53 es] #else...HRES 6af0: 55 4c 54 20 45 6e 61 62 6c 65 4d 6f 64 65 6c 65 ULT EnableModele 6b00: 73 73 28 42 4f 4f 4c 29 3b 0d 0a 2f 2f 5b 59 65 ss(BOOL);..//[Ye 6b10: 73 5d 20 23 65 6e 64 69 66 0d 0a 09 48 52 45 53 s] #endif...HRES 6b20: 55 4c 54 20 55 49 41 63 74 69 76 61 74 65 28 55 ULT UIActivate(U 6b30: 49 4e 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 INT);...HRESULT 6b40: 52 65 66 72 65 73 68 28 29 3b 0d 0a 09 48 52 45 Refresh();...HRE 6b50: 53 55 4c 54 20 43 72 65 61 74 65 56 69 65 77 57 SULT CreateViewW 6b60: 69 6e 64 6f 77 28 49 53 68 65 6c 6c 56 69 65 77 indow(IShellView 6b70: 2c 20 4c 50 43 46 4f 4c 44 45 52 53 45 54 54 49 , LPCFOLDERSETTI 6b80: 4e 47 53 2c 20 4c 50 53 48 45 4c 4c 42 52 4f 57 NGS, LPSHELLBROW 6b90: 53 45 52 2c 20 52 45 43 54 2a 2c 20 48 57 4e 44 SER, RECT*, HWND 6ba0: 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 44 65 *);...HRESULT De 6bb0: 73 74 72 6f 79 56 69 65 77 57 69 6e 64 6f 77 28 stroyViewWindow( 6bc0: 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 );...HRESULT Get 6bd0: 43 75 72 72 65 6e 74 49 6e 66 6f 28 4c 50 46 4f CurrentInfo(LPFO 6be0: 4c 44 45 52 53 45 54 54 49 4e 47 53 29 3b 0d 0a LDERSETTINGS);.. 6bf0: 09 48 52 45 53 55 4c 54 20 41 64 64 50 72 6f 70 .HRESULT AddProp 6c00: 65 72 74 79 53 68 65 65 74 50 61 67 65 73 28 44 ertySheetPages(D 6c10: 57 4f 52 44 2c 20 4c 50 46 4e 41 44 44 50 52 4f WORD, LPFNADDPRO 6c20: 50 53 48 45 45 54 50 41 47 45 2c 20 4c 50 41 52 PSHEETPAGE, LPAR 6c30: 41 4d 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 AM);...HRESULT S 6c40: 61 76 65 56 69 65 77 53 74 61 74 65 28 29 3b 0d aveViewState();. 6c50: 0a 09 48 52 45 53 55 4c 54 20 53 65 6c 65 63 74 ..HRESULT Select 6c60: 49 74 65 6d 28 4c 50 43 49 54 45 4d 49 44 4c 49 Item(LPCITEMIDLI 6c70: 53 54 2c 20 55 49 4e 54 29 3b 0d 0a 09 48 52 45 ST, UINT);...HRE 6c80: 53 55 4c 54 20 47 65 74 49 74 65 6d 4f 62 6a 65 SULT GetItemObje 6c90: 63 74 28 55 49 4e 54 2c 20 52 45 46 49 49 44 2c ct(UINT, REFIID, 6ca0: 20 50 56 4f 49 44 2a 29 3b 0d 0a 09 48 52 45 53 PVOID*);...HRES 6cb0: 55 4c 54 20 47 65 74 56 69 65 77 28 53 48 45 4c ULT GetView(SHEL 6cc0: 4c 56 49 45 57 49 44 2a 2c 20 55 4c 4f 4e 47 29 LVIEWID*, ULONG) 6cd0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 43 72 65 61 ;...HRESULT Crea 6ce0: 74 65 56 69 65 77 57 69 6e 64 6f 77 32 28 4c 50 teViewWindow2(LP 6cf0: 53 56 32 43 56 57 32 5f 50 41 52 41 4d 53 29 3b SV2CVW2_PARAMS); 6d00: 0d 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 ..}....interface 6d10: 20 49 53 68 65 6c 6c 45 78 65 63 75 74 65 48 6f IShellExecuteHo 6d20: 6f 6b 41 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b okA : IUnknown { 6d30: 0d 0a 09 48 52 45 53 55 4c 54 20 45 78 65 63 75 ...HRESULT Execu 6d40: 74 65 28 4c 50 53 48 45 4c 4c 45 58 45 43 55 54 te(LPSHELLEXECUT 6d50: 45 49 4e 46 4f 41 29 3b 0d 0a 7d 0d 0a 0d 0a 69 EINFOA);..}....i 6d60: 6e 74 65 72 66 61 63 65 20 49 53 68 65 6c 6c 45 nterface IShellE 6d70: 78 65 63 75 74 65 48 6f 6f 6b 57 20 3a 20 49 55 xecuteHookW : IU 6d80: 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 nknown {...HRESU 6d90: 4c 54 20 45 78 65 63 75 74 65 28 4c 50 53 48 45 LT Execute(LPSHE 6da0: 4c 4c 45 58 45 43 55 54 45 49 4e 46 4f 57 29 3b LLEXECUTEINFOW); 6db0: 0d 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 ..}....interface 6dc0: 20 49 53 68 65 6c 6c 49 63 6f 6e 20 3a 20 49 55 IShellIcon : IU 6dd0: 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 nknown {...HRESU 6de0: 4c 54 20 47 65 74 49 63 6f 6e 4f 66 28 4c 50 43 LT GetIconOf(LPC 6df0: 49 54 45 4d 49 44 4c 49 53 54 2c 20 55 49 4e 54 ITEMIDLIST, UINT 6e00: 2c 20 50 49 4e 54 29 3b 0d 0a 7d 0d 0a 61 6c 69 , PINT);..}..ali 6e10: 61 73 20 49 53 68 65 6c 6c 49 63 6f 6e 20 4c 50 as IShellIcon LP 6e20: 53 48 45 4c 4c 49 43 4f 4e 3b 0d 0a 0d 0a 73 74 SHELLICON;....st 6e30: 72 75 63 74 20 53 48 45 4c 4c 46 4c 41 47 53 54 ruct SHELLFLAGST 6e40: 41 54 45 20 7b 0d 0a 09 73 68 6f 72 74 20 5f 62 ATE {...short _b 6e50: 66 3b 0d 0a 2f 2a 0d 0a 09 42 4f 4f 4c 20 66 53 f;../*...BOOL fS 6e60: 68 6f 77 41 6c 6c 4f 62 6a 65 63 74 73 20 3a 20 howAllObjects : 6e70: 31 3b 0d 0a 09 42 4f 4f 4c 20 66 53 68 6f 77 45 1;...BOOL fShowE 6e80: 78 74 65 6e 73 69 6f 6e 73 20 3a 20 31 3b 0d 0a xtensions : 1;.. 6e90: 09 42 4f 4f 4c 20 66 4e 6f 43 6f 6e 66 69 72 6d .BOOL fNoConfirm 6ea0: 52 65 63 79 63 6c 65 20 3a 20 31 3b 0d 0a 09 42 Recycle : 1;...B 6eb0: 4f 4f 4c 20 66 53 68 6f 77 53 79 73 46 69 6c 65 OOL fShowSysFile 6ec0: 73 20 3a 20 31 3b 0d 0a 09 42 4f 4f 4c 20 66 53 s : 1;...BOOL fS 6ed0: 68 6f 77 43 6f 6d 70 43 6f 6c 6f 72 20 3a 20 31 howCompColor : 1 6ee0: 3b 0d 0a 09 42 4f 4f 4c 20 66 44 6f 75 62 6c 65 ;...BOOL fDouble 6ef0: 43 6c 69 63 6b 49 6e 57 65 62 56 69 65 77 20 3a ClickInWebView : 6f00: 20 31 3b 0d 0a 09 42 4f 4f 4c 20 66 44 65 73 6b 1;...BOOL fDesk 6f10: 74 6f 70 48 54 4d 4c 20 3a 20 31 3b 0d 0a 09 42 topHTML : 1;...B 6f20: 4f 4f 4c 20 66 57 69 6e 39 35 43 6c 61 73 73 69 OOL fWin95Classi 6f30: 63 20 3a 20 31 3b 0d 0a 09 42 4f 4f 4c 20 66 44 c : 1;...BOOL fD 6f40: 6f 6e 74 50 72 65 74 74 79 50 61 74 68 20 3a 20 ontPrettyPath : 6f50: 31 3b 0d 0a 09 42 4f 4f 4c 20 66 53 68 6f 77 41 1;...BOOL fShowA 6f60: 74 74 72 69 62 43 6f 6c 20 3a 20 31 3b 0d 0a 09 ttribCol : 1;... 6f70: 42 4f 4f 4c 20 66 4d 61 70 4e 65 74 44 72 76 42 BOOL fMapNetDrvB 6f80: 74 6e 20 3a 20 31 3b 0d 0a 09 42 4f 4f 4c 20 66 tn : 1;...BOOL f 6f90: 53 68 6f 77 49 6e 66 6f 54 69 70 20 3a 20 31 3b ShowInfoTip : 1; 6fa0: 0d 0a 09 42 4f 4f 4c 20 66 48 69 64 65 49 63 6f ...BOOL fHideIco 6fb0: 6e 73 20 3a 20 31 3b 0d 0a 09 55 49 4e 54 20 66 ns : 1;...UINT f 6fc0: 52 65 73 74 46 6c 61 67 73 20 3a 20 33 3b 0d 0a RestFlags : 3;.. 6fd0: 2a 2f 0d 0a 09 40 70 72 6f 70 65 72 74 79 20 62 */...@property b 6fe0: 6f 6f 6c 20 66 53 68 6f 77 41 6c 6c 4f 62 6a 65 ool fShowAllObje 6ff0: 63 74 73 28 29 20 20 20 20 20 20 20 7b 20 72 65 cts() { re 7000: 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 turn cast(bool) 7010: 28 5f 62 66 20 26 20 30 78 30 30 30 31 29 3b 20 (_bf & 0x0001); 7020: 7d 0d 0a 09 40 70 72 6f 70 65 72 74 79 20 62 6f }...@property bo 7030: 6f 6c 20 66 53 68 6f 77 45 78 74 65 6e 73 69 6f ol fShowExtensio 7040: 6e 73 28 29 20 20 20 20 20 20 20 7b 20 72 65 74 ns() { ret 7050: 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 urn cast(bool) ( 7060: 5f 62 66 20 26 20 30 78 30 30 30 32 29 3b 20 7d _bf & 0x0002); } 7070: 0d 0a 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f ...@property boo 7080: 6c 20 66 4e 6f 43 6f 6e 66 69 72 6d 52 65 63 79 l fNoConfirmRecy 7090: 63 6c 65 28 29 20 20 20 20 20 7b 20 72 65 74 75 cle() { retu 70a0: 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f rn cast(bool) (_ 70b0: 62 66 20 26 20 30 78 30 30 30 34 29 3b 20 7d 0d bf & 0x0004); }. 70c0: 0a 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c ..@property bool 70d0: 20 66 53 68 6f 77 53 79 73 46 69 6c 65 73 28 29 fShowSysFiles() 70e0: 20 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 { retur 70f0: 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 n cast(bool) (_b 7100: 66 20 26 20 30 78 30 30 30 38 29 3b 20 7d 0d 0a f & 0x0008); }.. 7110: 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 .@property bool 7120: 66 53 68 6f 77 43 6f 6d 70 43 6f 6c 6f 72 28 29 fShowCompColor() 7130: 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e { return 7140: 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 cast(bool) (_bf 7150: 20 26 20 30 78 30 30 31 30 29 3b 20 7d 0d 0a 09 & 0x0010); }... 7160: 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 @property bool f 7170: 44 6f 75 62 6c 65 43 6c 69 63 6b 49 6e 57 65 62 DoubleClickInWeb 7180: 56 69 65 77 28 29 20 7b 20 72 65 74 75 72 6e 20 View() { return 7190: 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 20 cast(bool) (_bf 71a0: 26 20 30 78 30 30 32 30 29 3b 20 7d 0d 0a 09 40 & 0x0020); }...@ 71b0: 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 44 property bool fD 71c0: 65 73 6b 74 6f 70 48 54 4d 4c 28 29 20 20 20 20 esktopHTML() 71d0: 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 { return c 71e0: 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26 ast(bool) (_bf & 71f0: 20 30 78 30 30 34 30 29 3b 20 7d 0d 0a 09 40 70 0x0040); }...@p 7200: 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 57 69 roperty bool fWi 7210: 6e 39 35 43 6c 61 73 73 69 63 28 29 20 20 20 20 n95Classic() 7220: 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 { return ca 7230: 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26 20 st(bool) (_bf & 7240: 30 78 30 30 38 30 29 3b 20 7d 0d 0a 09 40 70 72 0x0080); }...@pr 7250: 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 44 6f 6e operty bool fDon 7260: 74 50 72 65 74 74 79 50 61 74 68 28 29 20 20 20 tPrettyPath() 7270: 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 { return cas 7280: 74 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26 20 30 t(bool) (_bf & 0 7290: 78 30 31 30 30 29 3b 20 7d 0d 0a 09 40 70 72 6f x0100); }...@pro 72a0: 70 65 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f 77 perty bool fShow 72b0: 41 74 74 72 69 62 43 6f 6c 28 29 20 20 20 20 20 AttribCol() 72c0: 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 { return cast 72d0: 28 62 6f 6f 6c 29 20 28 5f 62 66 20 26 20 30 78 (bool) (_bf & 0x 72e0: 30 32 30 30 29 3b 20 7d 0d 0a 09 40 70 72 6f 70 0200); }...@prop 72f0: 65 72 74 79 20 62 6f 6f 6c 20 66 4d 61 70 4e 65 erty bool fMapNe 7300: 74 44 72 76 42 74 6e 28 29 20 20 20 20 20 20 20 tDrvBtn() 7310: 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 { return cast( 7320: 62 6f 6f 6c 29 20 28 5f 62 66 20 26 20 30 78 30 bool) (_bf & 0x0 7330: 34 30 30 29 3b 20 7d 0d 0a 09 40 70 72 6f 70 65 400); }...@prope 7340: 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f 77 49 6e rty bool fShowIn 7350: 66 6f 54 69 70 28 29 20 20 20 20 20 20 20 20 20 foTip() 7360: 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 { return cast(b 7370: 6f 6f 6c 29 20 28 5f 62 66 20 26 20 30 78 30 38 ool) (_bf & 0x08 7380: 30 30 29 3b 20 7d 0d 0a 09 40 70 72 6f 70 65 72 00); }...@proper 7390: 74 79 20 62 6f 6f 6c 20 66 48 69 64 65 49 63 6f ty bool fHideIco 73a0: 6e 73 28 29 20 20 20 20 20 20 20 20 20 20 20 20 ns() 73b0: 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f { return cast(bo 73c0: 6f 6c 29 20 28 5f 62 66 20 26 20 30 78 31 30 30 ol) (_bf & 0x100 73d0: 30 29 3b 20 7d 0d 0a 09 40 70 72 6f 70 65 72 74 0); }...@propert 73e0: 79 20 75 62 79 74 65 20 66 52 65 73 74 46 6c 61 y ubyte fRestFla 73f0: 67 73 28 29 20 20 20 20 20 20 20 20 20 20 20 7b gs() { 7400: 20 72 65 74 75 72 6e 20 63 61 73 74 28 75 62 79 return cast(uby 7410: 74 65 29 20 28 5f 62 66 20 3e 3e 20 31 33 29 3b te) (_bf >> 13); 7420: 20 7d 0d 0a 0d 0a 09 40 70 72 6f 70 65 72 74 79 }.....@property 7430: 20 62 6f 6f 6c 20 66 53 68 6f 77 41 6c 6c 4f 62 bool fShowAllOb 7440: 6a 65 63 74 73 28 62 6f 6f 6c 20 66 29 20 20 20 jects(bool f) 7450: 20 20 20 20 7b 20 5f 62 66 20 3d 20 63 61 73 74 { _bf = cast 7460: 28 75 73 68 6f 72 74 29 20 28 28 5f 62 66 20 26 (ushort) ((_bf & 7470: 20 7e 30 78 46 46 46 45 29 20 7c 20 66 29 3b 20 ~0xFFFE) | f); 7480: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 3b return f; 7490: 20 7d 0d 0a 09 40 70 72 6f 70 65 72 74 79 20 62 }...@property b 74a0: 6f 6f 6c 20 66 53 68 6f 77 45 78 74 65 6e 73 69 ool fShowExtensi 74b0: 6f 6e 73 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 ons(bool f) 74c0: 20 20 7b 20 5f 62 66 20 3d 20 63 61 73 74 28 75 { _bf = cast(u 74d0: 73 68 6f 72 74 29 20 28 28 5f 62 66 20 26 20 7e short) ((_bf & ~ 74e0: 30 78 46 46 46 44 29 20 7c 20 28 66 20 3c 3c 20 0xFFFD) | (f << 74f0: 20 31 29 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 1)); return f; 7500: 7d 0d 0a 09 40 70 72 6f 70 65 72 74 79 20 62 6f }...@property bo 7510: 6f 6c 20 66 4e 6f 43 6f 6e 66 69 72 6d 52 65 63 ol fNoConfirmRec 7520: 79 63 6c 65 28 62 6f 6f 6c 20 66 29 20 20 20 20 ycle(bool f) 7530: 20 7b 20 5f 62 66 20 3d 20 63 61 73 74 28 75 73 { _bf = cast(us 7540: 68 6f 72 74 29 20 28 28 5f 62 66 20 26 20 7e 30 hort) ((_bf & ~0 7550: 78 46 46 46 42 29 20 7c 20 28 66 20 3c 3c 20 20 xFFFB) | (f << 7560: 32 29 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 2)); return f; } 7570: 0d 0a 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f ...@property boo 7580: 6c 20 66 53 68 6f 77 53 79 73 46 69 6c 65 73 28 l fShowSysFiles( 7590: 62 6f 6f 6c 20 66 29 20 20 20 20 20 20 20 20 20 bool f) 75a0: 7b 20 5f 62 66 20 3d 20 63 61 73 74 28 75 73 68 { _bf = cast(ush 75b0: 6f 72 74 29 20 28 28 5f 62 66 20 26 20 7e 30 78 ort) ((_bf & ~0x 75c0: 46 46 46 38 29 20 7c 20 28 66 20 3c 3c 20 20 33 FFF8) | (f << 3 75d0: 29 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0d )); return f; }. 75e0: 0a 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c ..@property bool 75f0: 20 66 53 68 6f 77 43 6f 6d 70 43 6f 6c 6f 72 28 fShowCompColor( 7600: 62 6f 6f 6c 20 66 29 20 20 20 20 20 20 20 20 7b bool f) { 7610: 20 5f 62 66 20 3d 20 63 61 73 74 28 75 73 68 6f _bf = cast(usho 7620: 72 74 29 20 28 28 5f 62 66 20 26 20 7e 30 78 46 rt) ((_bf & ~0xF 7630: 46 45 46 29 20 7c 20 28 66 20 3c 3c 20 20 34 29 FEF) | (f << 4) 7640: 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a ); return f; }.. 7650: 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 .@property bool 7660: 66 44 6f 75 62 6c 65 43 6c 69 63 6b 49 6e 57 65 fDoubleClickInWe 7670: 62 56 69 65 77 28 62 6f 6f 6c 20 66 29 20 7b 20 bView(bool f) { 7680: 5f 62 66 20 3d 20 63 61 73 74 28 75 73 68 6f 72 _bf = cast(ushor 7690: 74 29 20 28 28 5f 62 66 20 26 20 7e 30 78 46 46 t) ((_bf & ~0xFF 76a0: 44 46 29 20 7c 20 28 66 20 3c 3c 20 20 35 29 29 DF) | (f << 5)) 76b0: 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 ; return f; }... 76c0: 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 @property bool f 76d0: 44 65 73 6b 74 6f 70 48 54 4d 4c 28 62 6f 6f 6c DesktopHTML(bool 76e0: 20 66 29 20 20 20 20 20 20 20 20 20 20 7b 20 5f f) { _ 76f0: 62 66 20 3d 20 63 61 73 74 28 75 73 68 6f 72 74 bf = cast(ushort 7700: 29 20 28 28 5f 62 66 20 26 20 7e 30 78 46 46 42 ) ((_bf & ~0xFFB 7710: 46 29 20 7c 20 28 66 20 3c 3c 20 20 36 29 29 3b F) | (f << 6)); 7720: 20 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 40 return f; }...@ 7730: 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 57 property bool fW 7740: 69 6e 39 35 43 6c 61 73 73 69 63 28 62 6f 6f 6c in95Classic(bool 7750: 20 66 29 20 20 20 20 20 20 20 20 20 7b 20 5f 62 f) { _b 7760: 66 20 3d 20 63 61 73 74 28 75 73 68 6f 72 74 29 f = cast(ushort) 7770: 20 28 28 5f 62 66 20 26 20 7e 30 78 46 46 38 46 ((_bf & ~0xFF8F 7780: 29 20 7c 20 28 66 20 3c 3c 20 20 37 29 29 3b 20 ) | (f << 7)); 7790: 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 40 70 return f; }...@p 77a0: 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 44 6f roperty bool fDo 77b0: 6e 74 50 72 65 74 74 79 50 61 74 68 28 62 6f 6f ntPrettyPath(boo 77c0: 6c 20 66 29 20 20 20 20 20 20 20 7b 20 5f 62 66 l f) { _bf 77d0: 20 3d 20 63 61 73 74 28 75 73 68 6f 72 74 29 20 = cast(ushort) 77e0: 28 28 5f 62 66 20 26 20 7e 30 78 46 45 46 46 29 ((_bf & ~0xFEFF) 77f0: 20 7c 20 28 66 20 3c 3c 20 20 38 29 29 3b 20 72 | (f << 8)); r 7800: 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 40 70 72 eturn f; }...@pr 7810: 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f operty bool fSho 7820: 77 41 74 74 72 69 62 43 6f 6c 28 62 6f 6f 6c 20 wAttribCol(bool 7830: 66 29 20 20 20 20 20 20 20 20 7b 20 5f 62 66 20 f) { _bf 7840: 3d 20 63 61 73 74 28 75 73 68 6f 72 74 29 20 28 = cast(ushort) ( 7850: 28 5f 62 66 20 26 20 7e 30 78 46 44 46 46 29 20 (_bf & ~0xFDFF) 7860: 7c 20 28 66 20 3c 3c 20 20 39 29 29 3b 20 72 65 | (f << 9)); re 7870: 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 40 70 72 6f turn f; }...@pro 7880: 70 65 72 74 79 20 62 6f 6f 6c 20 66 4d 61 70 4e perty bool fMapN 7890: 65 74 44 72 76 42 74 6e 28 62 6f 6f 6c 20 66 29 etDrvBtn(bool f) 78a0: 20 20 20 20 20 20 20 20 20 7b 20 5f 62 66 20 3d { _bf = 78b0: 20 63 61 73 74 28 75 73 68 6f 72 74 29 20 28 28 cast(ushort) (( 78c0: 5f 62 66 20 26 20 7e 30 78 46 42 46 46 29 20 7c _bf & ~0xFBFF) | 78d0: 20 28 66 20 3c 3c 20 31 30 29 29 3b 20 72 65 74 (f << 10)); ret 78e0: 75 72 6e 20 66 3b 20 7d 0d 0a 09 40 70 72 6f 70 urn f; }...@prop 78f0: 65 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f 77 49 erty bool fShowI 7900: 6e 66 6f 54 69 70 28 62 6f 6f 6c 20 66 29 20 20 nfoTip(bool f) 7910: 20 20 20 20 20 20 20 20 7b 20 5f 62 66 20 3d 20 { _bf = 7920: 63 61 73 74 28 75 73 68 6f 72 74 29 20 28 28 5f cast(ushort) ((_ 7930: 62 66 20 26 20 7e 30 78 46 38 46 46 29 20 7c 20 bf & ~0xF8FF) | 7940: 28 66 20 3c 3c 20 31 31 29 29 3b 20 72 65 74 75 (f << 11)); retu 7950: 72 6e 20 66 3b 20 7d 0d 0a 09 40 70 72 6f 70 65 rn f; }...@prope 7960: 72 74 79 20 62 6f 6f 6c 20 66 48 69 64 65 49 63 rty bool fHideIc 7970: 6f 6e 73 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 ons(bool f) 7980: 20 20 20 20 20 20 20 7b 20 5f 62 66 20 3d 20 63 { _bf = c 7990: 61 73 74 28 75 73 68 6f 72 74 29 20 28 28 5f 62 ast(ushort) ((_b 79a0: 66 20 26 20 7e 30 78 45 46 46 46 29 20 7c 20 28 f & ~0xEFFF) | ( 79b0: 66 20 3c 3c 20 31 32 29 29 3b 20 72 65 74 75 72 f << 12)); retur 79c0: 6e 20 66 3b 20 7d 0d 0a 09 40 70 72 6f 70 65 72 n f; }...@proper 79d0: 74 79 20 75 62 79 74 65 20 66 52 65 73 74 46 6c ty ubyte fRestFl 79e0: 61 67 73 28 75 62 79 74 65 20 66 29 20 20 20 20 ags(ubyte f) 79f0: 20 20 20 20 20 20 7b 20 5f 62 66 20 3d 20 63 61 { _bf = ca 7a00: 73 74 28 75 73 68 6f 72 74 29 20 28 28 5f 62 66 st(ushort) ((_bf 7a10: 20 26 20 7e 30 78 31 46 46 46 29 20 7c 20 28 66 & ~0x1FFF) | (f 7a20: 20 3c 3c 20 31 33 29 29 3b 20 72 65 74 75 72 6e << 13)); return 7a30: 20 63 61 73 74 28 75 62 79 74 65 29 20 28 66 20 cast(ubyte) (f 7a40: 26 20 37 29 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 & 7); }..}..alia 7a50: 73 20 53 48 45 4c 4c 46 4c 41 47 53 54 41 54 45 s SHELLFLAGSTATE 7a60: 2a 20 4c 50 53 48 45 4c 4c 46 4c 41 47 53 54 41 * LPSHELLFLAGSTA 7a70: 54 45 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53 53 46 TE;....const SSF 7a80: 5f 53 48 4f 57 41 4c 4c 4f 42 4a 45 43 54 53 20 _SHOWALLOBJECTS 7a90: 3d 20 30 78 31 3b 0d 0a 63 6f 6e 73 74 20 53 53 = 0x1;..const SS 7aa0: 46 5f 53 48 4f 57 45 58 54 45 4e 53 49 4f 4e 53 F_SHOWEXTENSIONS 7ab0: 20 3d 20 30 78 32 3b 0d 0a 63 6f 6e 73 74 20 53 = 0x2;..const S 7ac0: 53 46 5f 53 48 4f 57 43 4f 4d 50 43 4f 4c 4f 52 SF_SHOWCOMPCOLOR 7ad0: 20 3d 20 30 78 38 3b 0d 0a 63 6f 6e 73 74 20 53 = 0x8;..const S 7ae0: 53 46 5f 53 48 4f 57 53 59 53 46 49 4c 45 53 20 SF_SHOWSYSFILES 7af0: 3d 20 30 78 32 30 3b 0d 0a 63 6f 6e 73 74 20 53 = 0x20;..const S 7b00: 53 46 5f 44 4f 55 42 4c 45 43 4c 49 43 4b 49 4e SF_DOUBLECLICKIN 7b10: 57 45 42 56 49 45 57 20 3d 20 30 78 38 30 3b 0d WEBVIEW = 0x80;. 7b20: 0a 63 6f 6e 73 74 20 53 53 46 5f 53 48 4f 57 41 .const SSF_SHOWA 7b30: 54 54 52 49 42 43 4f 4c 20 3d 20 30 78 31 30 30 TTRIBCOL = 0x100 7b40: 3b 0d 0a 63 6f 6e 73 74 20 53 53 46 5f 44 45 53 ;..const SSF_DES 7b50: 4b 54 4f 50 48 54 4d 4c 20 3d 20 30 78 32 30 30 KTOPHTML = 0x200 7b60: 3b 0d 0a 63 6f 6e 73 74 20 53 53 46 5f 57 49 4e ;..const SSF_WIN 7b70: 39 35 43 4c 41 53 53 49 43 20 3d 20 30 78 34 30 95CLASSIC = 0x40 7b80: 30 3b 0d 0a 63 6f 6e 73 74 20 53 53 46 5f 44 4f 0;..const SSF_DO 7b90: 4e 54 50 52 45 54 54 59 50 41 54 48 20 3d 20 30 NTPRETTYPATH = 0 7ba0: 78 38 30 30 3b 0d 0a 63 6f 6e 73 74 20 53 53 46 x800;..const SSF 7bb0: 5f 4d 41 50 4e 45 54 44 52 56 42 55 54 54 4f 4e _MAPNETDRVBUTTON 7bc0: 20 3d 20 30 78 31 30 30 30 3b 0d 0a 63 6f 6e 73 = 0x1000;..cons 7bd0: 74 20 53 53 46 5f 53 48 4f 57 49 4e 46 4f 54 49 t SSF_SHOWINFOTI 7be0: 50 20 3d 20 30 78 32 30 30 30 3b 0d 0a 63 6f 6e P = 0x2000;..con 7bf0: 73 74 20 53 53 46 5f 48 49 44 45 49 43 4f 4e 53 st SSF_HIDEICONS 7c00: 20 3d 20 30 78 34 30 30 30 3b 0d 0a 63 6f 6e 73 = 0x4000;..cons 7c10: 74 20 53 53 46 5f 4e 4f 43 4f 4e 46 49 52 4d 52 t SSF_NOCONFIRMR 7c20: 45 43 59 43 4c 45 20 3d 20 30 78 38 30 30 30 3b ECYCLE = 0x8000; 7c30: 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 53 ....interface IS 7c40: 68 65 6c 6c 49 63 6f 6e 4f 76 65 72 6c 61 79 49 hellIconOverlayI 7c50: 64 65 6e 74 69 66 69 65 72 20 3a 20 49 55 6e 6b dentifier : IUnk 7c60: 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 53 55 4c 54 nown {...HRESULT 7c70: 20 49 73 4d 65 6d 62 65 72 4f 66 28 4c 50 43 57 IsMemberOf(LPCW 7c80: 53 54 52 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 48 STR, DWORD);...H 7c90: 52 45 53 55 4c 54 20 47 65 74 4f 76 65 72 6c 61 RESULT GetOverla 7ca0: 79 49 6e 66 6f 28 4c 50 57 53 54 52 2c 20 69 6e yInfo(LPWSTR, in 7cb0: 74 2c 20 69 6e 74 2a 2c 20 44 57 4f 52 44 2a 29 t, int*, DWORD*) 7cc0: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 47 65 74 50 ;...HRESULT GetP 7cd0: 72 69 6f 72 69 74 79 28 69 6e 74 2a 29 3b 0d 0a riority(int*);.. 7ce0: 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 49 53 49 4f 49 }....const ISIOI 7cf0: 5f 49 43 4f 4e 46 49 4c 45 20 20 3d 20 30 78 30 _ICONFILE = 0x0 7d00: 30 30 30 30 30 30 31 3b 0d 0a 63 6f 6e 73 74 20 0000001;..const 7d10: 49 53 49 4f 49 5f 49 43 4f 4e 49 4e 44 45 58 20 ISIOI_ICONINDEX 7d20: 3d 20 30 78 30 30 30 30 30 30 30 32 3b 0d 0a 0d = 0x00000002;... 7d30: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN 7d40: 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 32_WINNT >= 0x50 7d50: 30 29 20 7b 0d 0a 09 73 74 72 75 63 74 20 53 48 0) {...struct SH 7d60: 45 4c 4c 53 54 41 54 45 20 7b 0d 0a 09 09 75 69 ELLSTATE {....ui 7d70: 6e 74 20 5f 62 66 31 3b 0d 0a 09 09 44 57 4f 52 nt _bf1;....DWOR 7d80: 44 20 64 77 57 69 6e 39 35 55 6e 75 73 65 64 3b D dwWin95Unused; 7d90: 0d 0a 09 09 55 49 4e 54 20 75 57 69 6e 39 35 55 ....UINT uWin95U 7da0: 6e 75 73 65 64 3b 0d 0a 09 09 4c 4f 4e 47 20 6c nused;....LONG l 7db0: 50 61 72 61 6d 53 6f 72 74 3b 0d 0a 09 09 69 6e ParamSort;....in 7dc0: 74 20 69 53 6f 72 74 44 69 72 65 63 74 69 6f 6e t iSortDirection 7dd0: 3b 0d 0a 09 09 55 49 4e 54 20 5f 76 65 72 73 69 ;....UINT _versi 7de0: 6f 6e 3b 0d 0a 09 09 55 49 4e 54 20 75 4e 6f 74 on;....UINT uNot 7df0: 55 73 65 64 3b 0d 0a 09 09 75 69 6e 74 20 5f 62 Used;....uint _b 7e00: 66 32 3b 0d 0a 09 2f 2a 0d 0a 09 09 42 4f 4f 4c f2;.../*....BOOL 7e10: 20 66 53 68 6f 77 41 6c 6c 4f 62 6a 65 63 74 73 fShowAllObjects 7e20: 20 3a 20 31 3b 0d 0a 09 09 42 4f 4f 4c 20 66 53 : 1;....BOOL fS 7e30: 68 6f 77 45 78 74 65 6e 73 69 6f 6e 73 20 3a 20 howExtensions : 7e40: 31 3b 0d 0a 09 09 42 4f 4f 4c 20 66 4e 6f 43 6f 1;....BOOL fNoCo 7e50: 6e 66 69 72 6d 52 65 63 79 63 6c 65 20 3a 20 31 nfirmRecycle : 1 7e60: 3b 0d 0a 09 09 42 4f 4f 4c 20 66 53 68 6f 77 53 ;....BOOL fShowS 7e70: 79 73 46 69 6c 65 73 20 3a 20 31 3b 0d 0a 09 09 ysFiles : 1;.... 7e80: 42 4f 4f 4c 20 66 53 68 6f 77 43 6f 6d 70 43 6f BOOL fShowCompCo 7e90: 6c 6f 72 20 3a 20 31 3b 0d 0a 09 09 42 4f 4f 4c lor : 1;....BOOL 7ea0: 20 66 44 6f 75 62 6c 65 43 6c 69 63 6b 49 6e 57 fDoubleClickInW 7eb0: 65 62 56 69 65 77 20 3a 20 31 3b 0d 0a 09 09 42 ebView : 1;....B 7ec0: 4f 4f 4c 20 66 44 65 73 6b 74 6f 70 48 54 4d 4c OOL fDesktopHTML 7ed0: 20 3a 20 31 3b 0d 0a 09 09 42 4f 4f 4c 20 66 57 : 1;....BOOL fW 7ee0: 69 6e 39 35 43 6c 61 73 73 69 63 20 3a 20 31 3b in95Classic : 1; 7ef0: 0d 0a 09 09 42 4f 4f 4c 20 66 44 6f 6e 74 50 72 ....BOOL fDontPr 7f00: 65 74 74 79 50 61 74 68 20 3a 20 31 3b 0d 0a 09 ettyPath : 1;... 7f10: 09 42 4f 4f 4c 20 66 53 68 6f 77 41 74 74 72 69 .BOOL fShowAttri 7f20: 62 43 6f 6c 20 3a 20 31 3b 0d 0a 09 09 42 4f 4f bCol : 1;....BOO 7f30: 4c 20 66 4d 61 70 4e 65 74 44 72 76 42 74 6e 20 L fMapNetDrvBtn 7f40: 3a 20 31 3b 0d 0a 09 09 42 4f 4f 4c 20 66 53 68 : 1;....BOOL fSh 7f50: 6f 77 49 6e 66 6f 54 69 70 20 3a 20 31 3b 0d 0a owInfoTip : 1;.. 7f60: 09 09 42 4f 4f 4c 20 66 48 69 64 65 49 63 6f 6e ..BOOL fHideIcon 7f70: 73 20 3a 20 31 3b 0d 0a 09 09 42 4f 4f 4c 20 66 s : 1;....BOOL f 7f80: 57 65 62 56 69 65 77 20 3a 20 31 3b 0d 0a 09 09 WebView : 1;.... 7f90: 42 4f 4f 4c 20 66 46 69 6c 74 65 72 20 3a 20 31 BOOL fFilter : 1 7fa0: 3b 0d 0a 09 09 42 4f 4f 4c 20 66 53 68 6f 77 53 ;....BOOL fShowS 7fb0: 75 70 65 72 48 69 64 64 65 6e 20 3a 20 31 3b 0d uperHidden : 1;. 7fc0: 0a 09 09 42 4f 4f 4c 20 66 4e 6f 4e 65 74 43 72 ...BOOL fNoNetCr 7fd0: 61 77 6c 69 6e 67 20 3a 20 31 3b 0d 0a 09 2a 2f awling : 1;...*/ 7fe0: 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f ....@property bo 7ff0: 6f 6c 20 66 53 68 6f 77 41 6c 6c 4f 62 6a 65 63 ol fShowAllObjec 8000: 74 73 28 29 20 20 20 20 20 20 20 7b 20 72 65 74 ts() { ret 8010: 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 urn cast(bool) ( 8020: 5f 62 66 31 20 26 20 30 78 30 30 30 30 30 30 30 _bf1 & 0x0000000 8030: 31 29 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 1); }....@proper 8040: 74 79 20 62 6f 6f 6c 20 66 53 68 6f 77 45 78 74 ty bool fShowExt 8050: 65 6e 73 69 6f 6e 73 28 29 20 20 20 20 20 20 20 ensions() 8060: 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f { return cast(bo 8070: 6f 6c 29 20 28 5f 62 66 31 20 26 20 30 78 30 30 ol) (_bf1 & 0x00 8080: 30 30 30 30 30 32 29 3b 20 7d 0d 0a 09 09 40 70 000002); }....@p 8090: 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 4e 6f roperty bool fNo 80a0: 43 6f 6e 66 69 72 6d 52 65 63 79 63 6c 65 28 29 ConfirmRecycle() 80b0: 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 { return ca 80c0: 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 31 20 26 st(bool) (_bf1 & 80d0: 20 30 78 30 30 30 30 30 30 30 34 29 3b 20 7d 0d 0x00000004); }. 80e0: 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f ...@property boo 80f0: 6c 20 66 53 68 6f 77 53 79 73 46 69 6c 65 73 28 l fShowSysFiles( 8100: 29 20 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 ) { retu 8110: 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f rn cast(bool) (_ 8120: 62 66 31 20 26 20 30 78 30 30 30 30 30 30 30 38 bf1 & 0x00000008 8130: 29 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 ); }....@propert 8140: 79 20 62 6f 6f 6c 20 66 53 68 6f 77 43 6f 6d 70 y bool fShowComp 8150: 43 6f 6c 6f 72 28 29 20 20 20 20 20 20 20 20 7b Color() { 8160: 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f return cast(boo 8170: 6c 29 20 28 5f 62 66 31 20 26 20 30 78 30 30 30 l) (_bf1 & 0x000 8180: 30 30 30 31 30 29 3b 20 7d 0d 0a 09 09 40 70 72 00010); }....@pr 8190: 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 44 6f 75 operty bool fDou 81a0: 62 6c 65 43 6c 69 63 6b 49 6e 57 65 62 56 69 65 bleClickInWebVie 81b0: 77 28 29 20 7b 20 72 65 74 75 72 6e 20 63 61 73 w() { return cas 81c0: 74 28 62 6f 6f 6c 29 20 28 5f 62 66 31 20 26 20 t(bool) (_bf1 & 81d0: 30 78 30 30 30 30 30 30 32 30 29 3b 20 7d 0d 0a 0x00000020); }.. 81e0: 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c ..@property bool 81f0: 20 66 44 65 73 6b 74 6f 70 48 54 4d 4c 28 29 20 fDesktopHTML() 8200: 20 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 { retur 8210: 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 n cast(bool) (_b 8220: 66 31 20 26 20 30 78 30 30 30 30 30 30 34 30 29 f1 & 0x00000040) 8230: 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 ; }....@property 8240: 20 62 6f 6f 6c 20 66 57 69 6e 39 35 43 6c 61 73 bool fWin95Clas 8250: 73 69 63 28 29 20 20 20 20 20 20 20 20 20 7b 20 sic() { 8260: 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c return cast(bool 8270: 29 20 28 5f 62 66 31 20 26 20 30 78 30 30 30 30 ) (_bf1 & 0x0000 8280: 30 30 38 30 29 3b 20 7d 0d 0a 09 09 40 70 72 6f 0080); }....@pro 8290: 70 65 72 74 79 20 62 6f 6f 6c 20 66 44 6f 6e 74 perty bool fDont 82a0: 50 72 65 74 74 79 50 61 74 68 28 29 20 20 20 20 PrettyPath() 82b0: 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 { return cast 82c0: 28 62 6f 6f 6c 29 20 28 5f 62 66 31 20 26 20 30 (bool) (_bf1 & 0 82d0: 78 30 30 30 30 30 31 30 30 29 3b 20 7d 0d 0a 09 x00000100); }... 82e0: 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 .@property bool 82f0: 66 53 68 6f 77 41 74 74 72 69 62 43 6f 6c 28 29 fShowAttribCol() 8300: 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e { return 8310: 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 cast(bool) (_bf 8320: 31 20 26 20 30 78 30 30 30 30 30 32 30 30 29 3b 1 & 0x00000200); 8330: 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 20 }....@property 8340: 62 6f 6f 6c 20 66 4d 61 70 4e 65 74 44 72 76 42 bool fMapNetDrvB 8350: 74 6e 28 29 20 20 20 20 20 20 20 20 20 7b 20 72 tn() { r 8360: 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 eturn cast(bool) 8370: 20 28 5f 62 66 31 20 26 20 30 78 30 30 30 30 30 (_bf1 & 0x00000 8380: 34 30 30 29 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 400); }....@prop 8390: 65 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f 77 49 erty bool fShowI 83a0: 6e 66 6f 54 69 70 28 29 20 20 20 20 20 20 20 20 nfoTip() 83b0: 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 { return cast( 83c0: 62 6f 6f 6c 29 20 28 5f 62 66 31 20 26 20 30 78 bool) (_bf1 & 0x 83d0: 30 30 30 30 30 38 30 30 29 3b 20 7d 0d 0a 09 09 00000800); }.... 83e0: 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 @property bool f 83f0: 48 69 64 65 49 63 6f 6e 73 28 29 20 20 20 20 20 HideIcons() 8400: 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20 { return 8410: 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 31 cast(bool) (_bf1 8420: 20 26 20 30 78 30 30 30 30 31 30 30 30 29 3b 20 & 0x00001000); 8430: 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 }....@property b 8440: 6f 6f 6c 20 66 57 65 62 56 69 65 77 28 29 20 20 ool fWebView() 8450: 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 72 65 { re 8460: 74 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 turn cast(bool) 8470: 28 5f 62 66 31 20 26 20 30 78 30 30 30 30 32 30 (_bf1 & 0x000020 8480: 30 30 29 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 00); }....@prope 8490: 72 74 79 20 62 6f 6f 6c 20 66 46 69 6c 74 65 72 rty bool fFilter 84a0: 28 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 () 84b0: 20 7b 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 { return cast(b 84c0: 6f 6f 6c 29 20 28 5f 62 66 31 20 26 20 30 78 30 ool) (_bf1 & 0x0 84d0: 30 30 30 34 30 30 30 29 3b 20 7d 0d 0a 09 09 40 0004000); }....@ 84e0: 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 53 property bool fS 84f0: 68 6f 77 53 75 70 65 72 48 69 64 64 65 6e 28 29 howSuperHidden() 8500: 20 20 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 { return c 8510: 61 73 74 28 62 6f 6f 6c 29 20 28 5f 62 66 31 20 ast(bool) (_bf1 8520: 26 20 30 78 30 30 30 30 38 30 30 30 29 3b 20 7d & 0x00008000); } 8530: 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f ....@property bo 8540: 6f 6c 20 66 4e 6f 4e 65 74 43 72 61 77 6c 69 6e ol fNoNetCrawlin 8550: 67 28 29 20 20 20 20 20 20 20 20 7b 20 72 65 74 g() { ret 8560: 75 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 urn cast(bool) ( 8570: 5f 62 66 31 20 26 20 30 78 30 30 30 31 30 30 30 _bf1 & 0x0001000 8580: 30 29 3b 20 7d 0d 0a 0d 0a 09 09 40 70 72 6f 70 0); }......@prop 8590: 65 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f 77 41 erty bool fShowA 85a0: 6c 6c 4f 62 6a 65 63 74 73 28 62 6f 6f 6c 20 66 llObjects(bool f 85b0: 29 20 20 20 20 20 20 20 7b 20 5f 62 66 31 20 3d ) { _bf1 = 85c0: 20 63 61 73 74 28 75 69 6e 74 29 20 28 28 5f 62 cast(uint) ((_b 85d0: 66 31 20 26 20 7e 30 78 46 46 46 46 46 46 46 45 f1 & ~0xFFFFFFFE 85e0: 29 20 7c 20 66 29 3b 20 20 20 20 20 20 20 20 20 ) | f); 85f0: 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 return f; }....@ 8600: 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 53 property bool fS 8610: 68 6f 77 45 78 74 65 6e 73 69 6f 6e 73 28 62 6f howExtensions(bo 8620: 6f 6c 20 66 29 20 20 20 20 20 20 20 7b 20 5f 62 ol f) { _b 8630: 66 31 20 3d 20 63 61 73 74 28 75 69 6e 74 29 20 f1 = cast(uint) 8640: 28 28 5f 62 66 31 20 26 20 7e 30 78 46 46 46 46 ((_bf1 & ~0xFFFF 8650: 46 46 46 44 29 20 7c 20 28 66 20 3c 3c 20 20 31 FFFD) | (f << 1 8660: 29 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0d )); return f; }. 8670: 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f ...@property boo 8680: 6c 20 66 4e 6f 43 6f 6e 66 69 72 6d 52 65 63 79 l fNoConfirmRecy 8690: 63 6c 65 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 cle(bool f) 86a0: 7b 20 5f 62 66 31 20 3d 20 63 61 73 74 28 75 69 { _bf1 = cast(ui 86b0: 6e 74 29 20 28 28 5f 62 66 31 20 26 20 7e 30 78 nt) ((_bf1 & ~0x 86c0: 46 46 46 46 46 46 46 42 29 20 7c 20 28 66 20 3c FFFFFFFB) | (f < 86d0: 3c 20 20 32 29 29 3b 20 72 65 74 75 72 6e 20 66 < 2)); return f 86e0: 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 ; }....@property 86f0: 20 62 6f 6f 6c 20 66 53 68 6f 77 53 79 73 46 69 bool fShowSysFi 8700: 6c 65 73 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 les(bool f) 8710: 20 20 20 20 7b 20 5f 62 66 31 20 3d 20 63 61 73 { _bf1 = cas 8720: 74 28 75 69 6e 74 29 20 28 28 5f 62 66 31 20 26 t(uint) ((_bf1 & 8730: 20 7e 30 78 46 46 46 46 46 46 46 38 29 20 7c 20 ~0xFFFFFFF8) | 8740: 28 66 20 3c 3c 20 20 33 29 29 3b 20 72 65 74 75 (f << 3)); retu 8750: 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 rn f; }....@prop 8760: 65 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f 77 43 erty bool fShowC 8770: 6f 6d 70 43 6f 6c 6f 72 28 62 6f 6f 6c 20 66 29 ompColor(bool f) 8780: 20 20 20 20 20 20 20 20 7b 20 5f 62 66 31 20 3d { _bf1 = 8790: 20 63 61 73 74 28 75 69 6e 74 29 20 28 28 5f 62 cast(uint) ((_b 87a0: 66 31 20 26 20 7e 30 78 46 46 46 46 46 46 45 46 f1 & ~0xFFFFFFEF 87b0: 29 20 7c 20 28 66 20 3c 3c 20 20 34 29 29 3b 20 ) | (f << 4)); 87c0: 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 return f; }....@ 87d0: 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 44 property bool fD 87e0: 6f 75 62 6c 65 43 6c 69 63 6b 49 6e 57 65 62 56 oubleClickInWebV 87f0: 69 65 77 28 62 6f 6f 6c 20 66 29 20 7b 20 5f 62 iew(bool f) { _b 8800: 66 31 20 3d 20 63 61 73 74 28 75 69 6e 74 29 20 f1 = cast(uint) 8810: 28 28 5f 62 66 31 20 26 20 7e 30 78 46 46 46 46 ((_bf1 & ~0xFFFF 8820: 46 46 44 46 29 20 7c 20 28 66 20 3c 3c 20 20 35 FFDF) | (f << 5 8830: 29 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0d )); return f; }. 8840: 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f ...@property boo 8850: 6c 20 66 44 65 73 6b 74 6f 70 48 54 4d 4c 28 62 l fDesktopHTML(b 8860: 6f 6f 6c 20 66 29 20 20 20 20 20 20 20 20 20 20 ool f) 8870: 7b 20 5f 62 66 31 20 3d 20 63 61 73 74 28 75 69 { _bf1 = cast(ui 8880: 6e 74 29 20 28 28 5f 62 66 31 20 26 20 7e 30 78 nt) ((_bf1 & ~0x 8890: 46 46 46 46 46 46 42 46 29 20 7c 20 28 66 20 3c FFFFFFBF) | (f < 88a0: 3c 20 20 36 29 29 3b 20 72 65 74 75 72 6e 20 66 < 6)); return f 88b0: 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 ; }....@property 88c0: 20 62 6f 6f 6c 20 66 57 69 6e 39 35 43 6c 61 73 bool fWin95Clas 88d0: 73 69 63 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 sic(bool f) 88e0: 20 20 20 20 7b 20 5f 62 66 31 20 3d 20 63 61 73 { _bf1 = cas 88f0: 74 28 75 69 6e 74 29 20 28 28 5f 62 66 31 20 26 t(uint) ((_bf1 & 8900: 20 7e 30 78 46 46 46 46 46 46 38 46 29 20 7c 20 ~0xFFFFFF8F) | 8910: 28 66 20 3c 3c 20 20 37 29 29 3b 20 72 65 74 75 (f << 7)); retu 8920: 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 rn f; }....@prop 8930: 65 72 74 79 20 62 6f 6f 6c 20 66 44 6f 6e 74 50 erty bool fDontP 8940: 72 65 74 74 79 50 61 74 68 28 62 6f 6f 6c 20 66 rettyPath(bool f 8950: 29 20 20 20 20 20 20 20 7b 20 5f 62 66 31 20 3d ) { _bf1 = 8960: 20 63 61 73 74 28 75 69 6e 74 29 20 28 28 5f 62 cast(uint) ((_b 8970: 66 31 20 26 20 7e 30 78 46 46 46 46 46 45 46 46 f1 & ~0xFFFFFEFF 8980: 29 20 7c 20 28 66 20 3c 3c 20 20 38 29 29 3b 20 ) | (f << 8)); 8990: 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 return f; }....@ 89a0: 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 53 property bool fS 89b0: 68 6f 77 41 74 74 72 69 62 43 6f 6c 28 62 6f 6f howAttribCol(boo 89c0: 6c 20 66 29 20 20 20 20 20 20 20 20 7b 20 5f 62 l f) { _b 89d0: 66 31 20 3d 20 63 61 73 74 28 75 69 6e 74 29 20 f1 = cast(uint) 89e0: 28 28 5f 62 66 31 20 26 20 7e 30 78 46 46 46 46 ((_bf1 & ~0xFFFF 89f0: 46 44 46 46 29 20 7c 20 28 66 20 3c 3c 20 20 39 FDFF) | (f << 9 8a00: 29 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0d )); return f; }. 8a10: 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f ...@property boo 8a20: 6c 20 66 4d 61 70 4e 65 74 44 72 76 42 74 6e 28 l fMapNetDrvBtn( 8a30: 62 6f 6f 6c 20 66 29 20 20 20 20 20 20 20 20 20 bool f) 8a40: 7b 20 5f 62 66 31 20 3d 20 63 61 73 74 28 75 69 { _bf1 = cast(ui 8a50: 6e 74 29 20 28 28 5f 62 66 31 20 26 20 7e 30 78 nt) ((_bf1 & ~0x 8a60: 46 46 46 46 46 42 46 46 29 20 7c 20 28 66 20 3c FFFFFBFF) | (f < 8a70: 3c 20 31 30 29 29 3b 20 72 65 74 75 72 6e 20 66 < 10)); return f 8a80: 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 ; }....@property 8a90: 20 62 6f 6f 6c 20 66 53 68 6f 77 49 6e 66 6f 54 bool fShowInfoT 8aa0: 69 70 28 62 6f 6f 6c 20 66 29 20 20 20 20 20 20 ip(bool f) 8ab0: 20 20 20 20 7b 20 5f 62 66 31 20 3d 20 63 61 73 { _bf1 = cas 8ac0: 74 28 75 69 6e 74 29 20 28 28 5f 62 66 31 20 26 t(uint) ((_bf1 & 8ad0: 20 7e 30 78 46 46 46 46 46 38 46 46 29 20 7c 20 ~0xFFFFF8FF) | 8ae0: 28 66 20 3c 3c 20 31 31 29 29 3b 20 72 65 74 75 (f << 11)); retu 8af0: 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 rn f; }....@prop 8b00: 65 72 74 79 20 62 6f 6f 6c 20 66 48 69 64 65 49 erty bool fHideI 8b10: 63 6f 6e 73 28 62 6f 6f 6c 20 66 29 20 20 20 20 cons(bool f) 8b20: 20 20 20 20 20 20 20 20 7b 20 5f 62 66 31 20 3d { _bf1 = 8b30: 20 63 61 73 74 28 75 69 6e 74 29 20 28 28 5f 62 cast(uint) ((_b 8b40: 66 31 20 26 20 7e 30 78 46 46 46 46 45 46 46 46 f1 & ~0xFFFFEFFF 8b50: 29 20 7c 20 28 66 20 3c 3c 20 31 32 29 29 3b 20 ) | (f << 12)); 8b60: 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 return f; }....@ 8b70: 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 57 property bool fW 8b80: 65 62 56 69 65 77 28 62 6f 6f 6c 20 66 29 20 20 ebView(bool f) 8b90: 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 5f 62 { _b 8ba0: 66 31 20 3d 20 63 61 73 74 28 75 69 6e 74 29 20 f1 = cast(uint) 8bb0: 28 28 5f 62 66 31 20 26 20 7e 30 78 46 46 46 46 ((_bf1 & ~0xFFFF 8bc0: 44 46 46 46 29 20 7c 20 28 66 20 3c 3c 20 31 33 DFFF) | (f << 13 8bd0: 29 29 3b 20 72 65 74 75 72 6e 20 66 3b 20 7d 0d )); return f; }. 8be0: 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f ...@property boo 8bf0: 6c 20 66 46 69 6c 74 65 72 28 62 6f 6f 6c 20 66 l fFilter(bool f 8c00: 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ) 8c10: 7b 20 5f 62 66 31 20 3d 20 63 61 73 74 28 75 69 { _bf1 = cast(ui 8c20: 6e 74 29 20 28 28 5f 62 66 31 20 26 20 7e 30 78 nt) ((_bf1 & ~0x 8c30: 46 46 46 46 42 46 46 46 29 20 7c 20 28 66 20 3c FFFFBFFF) | (f < 8c40: 3c 20 31 34 29 29 3b 20 72 65 74 75 72 6e 20 66 < 14)); return f 8c50: 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 79 ; }....@property 8c60: 20 62 6f 6f 6c 20 66 53 68 6f 77 53 75 70 65 72 bool fShowSuper 8c70: 48 69 64 64 65 6e 28 62 6f 6f 6c 20 66 29 20 20 Hidden(bool f) 8c80: 20 20 20 20 7b 20 5f 62 66 31 20 3d 20 63 61 73 { _bf1 = cas 8c90: 74 28 75 69 6e 74 29 20 28 28 5f 62 66 31 20 26 t(uint) ((_bf1 & 8ca0: 20 7e 30 78 46 46 46 46 38 46 46 46 29 20 7c 20 ~0xFFFF8FFF) | 8cb0: 28 66 20 3c 3c 20 31 35 29 29 3b 20 72 65 74 75 (f << 15)); retu 8cc0: 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 rn f; }....@prop 8cd0: 65 72 74 79 20 62 6f 6f 6c 20 66 4e 6f 4e 65 74 erty bool fNoNet 8ce0: 43 72 61 77 6c 69 6e 67 28 62 6f 6f 6c 20 66 29 Crawling(bool f) 8cf0: 20 20 20 20 20 20 20 20 7b 20 5f 62 66 31 20 3d { _bf1 = 8d00: 20 63 61 73 74 28 75 69 6e 74 29 20 28 28 5f 62 cast(uint) ((_b 8d10: 66 31 20 26 20 7e 30 78 46 46 46 45 46 46 46 46 f1 & ~0xFFFEFFFF 8d20: 29 20 7c 20 28 66 20 3c 3c 20 31 36 29 29 3b 20 ) | (f << 16)); 8d30: 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 2f 2a return f; }.../* 8d40: 0d 0a 09 09 42 4f 4f 4c 20 66 53 65 70 50 72 6f ....BOOL fSepPro 8d50: 63 65 73 73 20 3a 20 31 3b 0d 0a 09 09 42 4f 4f cess : 1;....BOO 8d60: 4c 20 66 53 74 61 72 74 50 61 6e 65 6c 4f 6e 20 L fStartPanelOn 8d70: 3a 20 31 3b 0d 0a 09 09 42 4f 4f 4c 20 66 53 68 : 1;....BOOL fSh 8d80: 6f 77 53 74 61 72 74 50 61 67 65 20 3a 20 31 3b owStartPage : 1; 8d90: 0d 0a 09 09 55 49 4e 54 20 66 53 70 61 72 65 46 ....UINT fSpareF 8da0: 6c 61 67 73 20 3a 20 31 33 3b 0d 0a 09 2a 2f 0d lags : 13;...*/. 8db0: 0a 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f ...@property boo 8dc0: 6c 20 66 53 65 70 50 72 6f 63 65 73 73 28 29 20 l fSepProcess() 8dd0: 20 20 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 { retu 8de0: 72 6e 20 63 61 73 74 28 62 6f 6f 6c 29 20 28 5f rn cast(bool) (_ 8df0: 62 66 32 20 26 20 30 78 30 30 30 30 30 30 30 31 bf2 & 0x00000001 8e00: 29 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 74 ); }....@propert 8e10: 79 20 62 6f 6f 6c 20 66 53 74 61 72 74 50 61 6e y bool fStartPan 8e20: 65 6c 4f 6e 28 29 20 20 20 20 20 20 20 20 20 7b elOn() { 8e30: 20 72 65 74 75 72 6e 20 63 61 73 74 28 62 6f 6f return cast(boo 8e40: 6c 29 20 28 5f 62 66 32 20 26 20 30 78 30 30 30 l) (_bf2 & 0x000 8e50: 30 30 30 30 32 29 3b 20 7d 0d 0a 09 09 40 70 72 00002); }....@pr 8e60: 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f operty bool fSho 8e70: 77 53 74 61 72 74 50 61 67 65 28 29 20 20 20 20 wStartPage() 8e80: 20 20 20 20 7b 20 72 65 74 75 72 6e 20 63 61 73 { return cas 8e90: 74 28 62 6f 6f 6c 29 20 28 5f 62 66 32 20 26 20 t(bool) (_bf2 & 8ea0: 30 78 30 30 30 30 30 30 30 34 29 3b 20 7d 0d 0a 0x00000004); }.. 8eb0: 09 09 40 70 72 6f 70 65 72 74 79 20 75 73 68 6f ..@property usho 8ec0: 72 74 20 66 53 70 61 72 65 46 6c 61 67 73 28 29 rt fSpareFlags() 8ed0: 20 20 20 20 20 20 20 20 20 7b 20 72 65 74 75 72 { retur 8ee0: 6e 20 63 61 73 74 28 75 73 68 6f 72 74 29 20 28 n cast(ushort) ( 8ef0: 28 5f 62 66 32 20 26 20 30 78 30 30 30 30 46 46 (_bf2 & 0x0000FF 8f00: 46 38 29 20 3e 3e 20 33 29 3b 20 7d 0d 0a 0d 0a F8) >> 3); }.... 8f10: 09 09 40 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c ..@property bool 8f20: 20 66 53 65 70 50 72 6f 63 65 73 73 28 62 6f 6f fSepProcess(boo 8f30: 6c 20 66 29 20 20 20 20 20 7b 20 5f 62 66 32 20 l f) { _bf2 8f40: 3d 20 63 61 73 74 28 75 69 6e 74 29 20 28 28 5f = cast(uint) ((_ 8f50: 62 66 32 20 26 20 7e 30 78 46 46 46 46 46 46 46 bf2 & ~0xFFFFFFF 8f60: 45 29 20 7c 20 66 29 3b 20 20 20 20 20 20 20 20 E) | f); 8f70: 72 65 74 75 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 return f; }....@ 8f80: 70 72 6f 70 65 72 74 79 20 62 6f 6f 6c 20 66 53 property bool fS 8f90: 74 61 72 74 50 61 6e 65 6c 4f 6e 28 62 6f 6f 6c tartPanelOn(bool 8fa0: 20 66 29 20 20 20 7b 20 5f 62 66 32 20 3d 20 63 f) { _bf2 = c 8fb0: 61 73 74 28 75 69 6e 74 29 20 28 28 5f 62 66 32 ast(uint) ((_bf2 8fc0: 20 26 20 7e 30 78 46 46 46 46 46 46 46 44 29 20 & ~0xFFFFFFFD) 8fd0: 7c 20 28 66 20 3c 3c 20 31 29 29 3b 20 72 65 74 | (f << 1)); ret 8fe0: 75 72 6e 20 66 3b 20 7d 0d 0a 09 09 40 70 72 6f urn f; }....@pro 8ff0: 70 65 72 74 79 20 62 6f 6f 6c 20 66 53 68 6f 77 perty bool fShow 9000: 53 74 61 72 74 50 61 67 65 28 62 6f 6f 6c 20 66 StartPage(bool f 9010: 29 20 20 7b 20 5f 62 66 32 20 3d 20 63 61 73 74 ) { _bf2 = cast 9020: 28 75 69 6e 74 29 20 28 28 5f 62 66 32 20 26 20 (uint) ((_bf2 & 9030: 7e 30 78 46 46 46 46 46 46 46 42 29 20 7c 20 28 ~0xFFFFFFFB) | ( 9040: 66 20 3c 3c 20 32 29 29 3b 20 72 65 74 75 72 6e f << 2)); return 9050: 20 66 3b 20 7d 0d 0a 09 09 40 70 72 6f 70 65 72 f; }....@proper 9060: 74 79 20 75 73 68 6f 72 74 20 66 53 70 61 72 65 ty ushort fSpare 9070: 46 6c 61 67 73 28 75 73 68 6f 72 74 20 66 29 20 Flags(ushort f) 9080: 7b 0d 0a 09 09 09 5f 62 66 32 20 3d 20 63 61 73 {....._bf2 = cas 9090: 74 28 75 73 68 6f 72 74 29 20 28 28 5f 62 66 32 t(ushort) ((_bf2 90a0: 20 26 20 7e 30 78 46 46 46 46 30 30 30 37 29 20 & ~0xFFFF0007) 90b0: 7c 20 28 28 66 20 26 20 30 78 31 46 46 46 29 20 | ((f & 0x1FFF) 90c0: 3c 3c 20 33 29 29 3b 0d 0a 09 09 09 72 65 74 75 << 3));.....retu 90d0: 72 6e 20 63 61 73 74 28 75 73 68 6f 72 74 29 20 rn cast(ushort) 90e0: 28 66 20 26 20 30 78 31 46 46 46 29 3b 0d 0a 09 (f & 0x1FFF);... 90f0: 09 7d 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 53 .}...}...alias S 9100: 48 45 4c 4c 53 54 41 54 45 2a 20 4c 50 53 48 45 HELLSTATE* LPSHE 9110: 4c 4c 53 54 41 54 45 3b 0d 0a 7d 0d 0a 0d 0a 73 LLSTATE;..}....s 9120: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 tatic if (_WIN32 9130: 5f 49 45 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d _IE >= 0x500) {. 9140: 0a 09 61 6c 69 67 6e 28 38 29 20 7b 0d 0a 09 09 ..align(8) {.... 9150: 73 74 72 75 63 74 20 53 48 44 52 41 47 49 4d 41 struct SHDRAGIMA 9160: 47 45 20 7b 0d 0a 09 09 09 53 49 5a 45 20 73 69 GE {.....SIZE si 9170: 7a 65 44 72 61 67 49 6d 61 67 65 3b 0d 0a 09 09 zeDragImage;.... 9180: 09 50 4f 49 4e 54 20 70 74 4f 66 66 73 65 74 3b .POINT ptOffset; 9190: 0d 0a 09 09 09 48 42 49 54 4d 41 50 20 68 62 6d .....HBITMAP hbm 91a0: 70 44 72 61 67 49 6d 61 67 65 3b 0d 0a 09 09 09 pDragImage;..... 91b0: 43 4f 4c 4f 52 52 45 46 20 63 72 43 6f 6c 6f 72 COLORREF crColor 91c0: 4b 65 79 3b 0d 0a 09 09 7d 0d 0a 09 09 61 6c 69 Key;....}....ali 91d0: 61 73 20 53 48 44 52 41 47 49 4d 41 47 45 2a 20 as SHDRAGIMAGE* 91e0: 4c 50 53 48 44 52 41 47 49 4d 41 47 45 3b 0d 0a LPSHDRAGIMAGE;.. 91f0: 09 7d 0d 0a 0d 0a 09 69 6e 74 65 72 66 61 63 65 .}.....interface 9200: 20 49 44 72 61 67 53 6f 75 72 63 65 48 65 6c 70 IDragSourceHelp 9210: 65 72 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b 0d er : IUnknown {. 9220: 0a 09 09 48 52 45 53 55 4c 54 20 49 6e 69 74 69 ...HRESULT Initi 9230: 61 6c 69 7a 65 46 72 6f 6d 42 69 74 6d 61 70 28 alizeFromBitmap( 9240: 4c 50 53 48 44 52 41 47 49 4d 41 47 45 20 70 73 LPSHDRAGIMAGE ps 9250: 68 64 69 2c 20 49 44 61 74 61 4f 62 6a 65 63 74 hdi, IDataObject 9260: 20 70 44 61 74 61 4f 62 6a 65 63 74 29 3b 0d 0a pDataObject);.. 9270: 09 09 48 52 45 53 55 4c 54 20 49 6e 69 74 69 61 ..HRESULT Initia 9280: 6c 69 7a 65 46 72 6f 6d 57 69 6e 64 6f 77 28 48 lizeFromWindow(H 9290: 57 4e 44 20 68 77 6e 64 2c 20 50 4f 49 4e 54 2a WND hwnd, POINT* 92a0: 20 70 70 74 2c 20 49 44 61 74 61 4f 62 6a 65 63 ppt, IDataObjec 92b0: 74 20 70 44 61 74 61 4f 62 6a 65 63 74 29 3b 0d t pDataObject);. 92c0: 0a 09 7d 0d 0a 0d 0a 09 69 6e 74 65 72 66 61 63 ..}.....interfac 92d0: 65 20 49 44 72 6f 70 54 61 72 67 65 74 48 65 6c e IDropTargetHel 92e0: 70 65 72 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b per : IUnknown { 92f0: 0d 0a 09 09 48 52 45 53 55 4c 54 20 44 72 61 67 ....HRESULT Drag 9300: 45 6e 74 65 72 28 48 57 4e 44 20 68 77 6e 64 54 Enter(HWND hwndT 9310: 61 72 67 65 74 2c 20 49 44 61 74 61 4f 62 6a 65 arget, IDataObje 9320: 63 74 20 70 44 61 74 61 4f 62 6a 65 63 74 2c 20 ct pDataObject, 9330: 50 4f 49 4e 54 2a 20 70 70 74 2c 20 44 57 4f 52 POINT* ppt, DWOR 9340: 44 20 64 77 45 66 66 65 63 74 29 3b 0d 0a 09 09 D dwEffect);.... 9350: 48 52 45 53 55 4c 54 20 44 72 61 67 4c 65 61 76 HRESULT DragLeav 9360: 65 28 29 3b 0d 0a 09 09 48 52 45 53 55 4c 54 20 e();....HRESULT 9370: 44 72 61 67 4f 76 65 72 28 50 4f 49 4e 54 2a 20 DragOver(POINT* 9380: 70 70 74 2c 20 44 57 4f 52 44 20 64 77 45 66 66 ppt, DWORD dwEff 9390: 65 63 74 29 3b 0d 0a 09 09 48 52 45 53 55 4c 54 ect);....HRESULT 93a0: 20 44 72 6f 70 28 49 44 61 74 61 4f 62 6a 65 63 Drop(IDataObjec 93b0: 74 20 70 44 61 74 61 4f 62 6a 65 63 74 2c 20 50 t pDataObject, P 93c0: 4f 49 4e 54 2a 20 70 70 74 2c 20 44 57 4f 52 44 OINT* ppt, DWORD 93d0: 20 64 77 45 66 66 65 63 74 29 3b 0d 0a 09 09 48 dwEffect);....H 93e0: 52 45 53 55 4c 54 20 53 68 6f 77 28 42 4f 4f 4c RESULT Show(BOOL 93f0: 20 66 53 68 6f 77 29 3b 0d 0a 09 7d 0d 0a 7d 0d fShow);...}..}. 9400: 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f ...extern (Windo 9410: 77 73 29 3a 0d 0a 76 6f 69 64 20 53 48 41 64 64 ws):..void SHAdd 9420: 54 6f 52 65 63 65 6e 74 44 6f 63 73 28 55 49 4e ToRecentDocs(UIN 9430: 54 2c 20 50 43 56 4f 49 44 29 3b 0d 0a 4c 50 49 T, PCVOID);..LPI 9440: 54 45 4d 49 44 4c 49 53 54 20 53 48 42 72 6f 77 TEMIDLIST SHBrow 9450: 73 65 46 6f 72 46 6f 6c 64 65 72 41 28 50 42 52 seForFolderA(PBR 9460: 4f 57 53 45 49 4e 46 4f 41 29 3b 0d 0a 4c 50 49 OWSEINFOA);..LPI 9470: 54 45 4d 49 44 4c 49 53 54 20 53 48 42 72 6f 77 TEMIDLIST SHBrow 9480: 73 65 46 6f 72 46 6f 6c 64 65 72 57 28 50 42 52 seForFolderW(PBR 9490: 4f 57 53 45 49 4e 46 4f 57 29 3b 0d 0a 76 6f 69 OWSEINFOW);..voi 94a0: 64 20 53 48 43 68 61 6e 67 65 4e 6f 74 69 66 79 d SHChangeNotify 94b0: 28 4c 4f 4e 47 2c 20 55 49 4e 54 2c 20 50 43 56 (LONG, UINT, PCV 94c0: 4f 49 44 2c 20 50 43 56 4f 49 44 29 3b 0d 0a 48 OID, PCVOID);..H 94d0: 52 45 53 55 4c 54 20 53 48 47 65 74 44 61 74 61 RESULT SHGetData 94e0: 46 72 6f 6d 49 44 4c 69 73 74 41 28 4c 50 53 48 FromIDListA(LPSH 94f0: 45 4c 4c 46 4f 4c 44 45 52 2c 20 4c 50 43 49 54 ELLFOLDER, LPCIT 9500: 45 4d 49 44 4c 49 53 54 2c 20 69 6e 74 2c 20 50 EMIDLIST, int, P 9510: 56 4f 49 44 2c 20 69 6e 74 29 3b 0d 0a 48 52 45 VOID, int);..HRE 9520: 53 55 4c 54 20 53 48 47 65 74 44 61 74 61 46 72 SULT SHGetDataFr 9530: 6f 6d 49 44 4c 69 73 74 57 28 4c 50 53 48 45 4c omIDListW(LPSHEL 9540: 4c 46 4f 4c 44 45 52 2c 20 4c 50 43 49 54 45 4d LFOLDER, LPCITEM 9550: 49 44 4c 49 53 54 2c 20 69 6e 74 2c 20 50 56 4f IDLIST, int, PVO 9560: 49 44 2c 20 69 6e 74 29 3b 0d 0a 48 52 45 53 55 ID, int);..HRESU 9570: 4c 54 20 53 48 47 65 74 44 65 73 6b 74 6f 70 46 LT SHGetDesktopF 9580: 6f 6c 64 65 72 28 4c 50 53 48 45 4c 4c 46 4f 4c older(LPSHELLFOL 9590: 44 45 52 2a 29 3b 0d 0a 48 52 45 53 55 4c 54 20 DER*);..HRESULT 95a0: 53 48 47 65 74 49 6e 73 74 61 6e 63 65 45 78 70 SHGetInstanceExp 95b0: 6c 6f 72 65 72 28 49 55 6e 6b 6e 6f 77 6e 2a 29 lorer(IUnknown*) 95c0: 3b 0d 0a 48 52 45 53 55 4c 54 20 53 48 47 65 74 ;..HRESULT SHGet 95d0: 4d 61 6c 6c 6f 63 28 4c 50 4d 41 4c 4c 4f 43 2a Malloc(LPMALLOC* 95e0: 29 3b 0d 0a 42 4f 4f 4c 20 53 48 47 65 74 50 61 );..BOOL SHGetPa 95f0: 74 68 46 72 6f 6d 49 44 4c 69 73 74 41 28 4c 50 thFromIDListA(LP 9600: 43 49 54 45 4d 49 44 4c 49 53 54 2c 20 4c 50 53 CITEMIDLIST, LPS 9610: 54 52 29 3b 0d 0a 42 4f 4f 4c 20 53 48 47 65 74 TR);..BOOL SHGet 9620: 50 61 74 68 46 72 6f 6d 49 44 4c 69 73 74 57 28 PathFromIDListW( 9630: 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 2c 20 4c LPCITEMIDLIST, L 9640: 50 57 53 54 52 29 3b 0d 0a 48 52 45 53 55 4c 54 PWSTR);..HRESULT 9650: 20 53 48 47 65 74 53 70 65 63 69 61 6c 46 6f 6c SHGetSpecialFol 9660: 64 65 72 4c 6f 63 61 74 69 6f 6e 28 48 57 4e 44 derLocation(HWND 9670: 2c 20 69 6e 74 2c 20 4c 50 49 54 45 4d 49 44 4c , int, LPITEMIDL 9680: 49 53 54 2a 29 3b 0d 0a 48 52 45 53 55 4c 54 20 IST*);..HRESULT 9690: 53 48 4c 6f 61 64 49 6e 50 72 6f 63 28 52 45 46 SHLoadInProc(REF 96a0: 43 4c 53 49 44 29 3b 0d 0a 0d 0a 73 74 61 74 69 CLSID);....stati 96b0: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 c if (_WIN32_IE 96c0: 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a 09 42 4f >= 0x400) {...BO 96d0: 4f 4c 20 53 48 47 65 74 53 70 65 63 69 61 6c 46 OL SHGetSpecialF 96e0: 6f 6c 64 65 72 50 61 74 68 41 28 48 57 4e 44 2c olderPathA(HWND, 96f0: 20 4c 50 53 54 52 2c 20 69 6e 74 2c 20 42 4f 4f LPSTR, int, BOO 9700: 4c 29 3b 0d 0a 09 42 4f 4f 4c 20 53 48 47 65 74 L);...BOOL SHGet 9710: 53 70 65 63 69 61 6c 46 6f 6c 64 65 72 50 61 74 SpecialFolderPat 9720: 68 57 28 48 57 4e 44 2c 20 4c 50 57 53 54 52 2c hW(HWND, LPWSTR, 9730: 20 69 6e 74 2c 20 42 4f 4f 4c 29 3b 0d 0a 7d 0d int, BOOL);..}. 9740: 0a 0d 0a 2f 2a 20 53 48 47 65 74 46 6f 6c 64 65 .../* SHGetFolde 9750: 72 50 61 74 68 20 69 6e 20 73 68 66 6f 6c 64 65 rPath in shfolde 9760: 72 2e 64 6c 6c 20 6f 6e 20 57 39 78 2c 20 4e 54 r.dll on W9x, NT 9770: 34 2c 20 61 6c 73 6f 20 69 6e 20 73 68 65 6c 6c 4, also in shell 9780: 33 32 2e 64 6c 6c 20 6f 6e 20 57 32 4b 20 2a 2f 32.dll on W2K */ 9790: 0d 0a 48 52 45 53 55 4c 54 20 53 48 47 65 74 46 ..HRESULT SHGetF 97a0: 6f 6c 64 65 72 50 61 74 68 41 28 48 57 4e 44 2c olderPathA(HWND, 97b0: 20 69 6e 74 2c 20 48 41 4e 44 4c 45 2c 20 44 57 int, HANDLE, DW 97c0: 4f 52 44 2c 20 4c 50 53 54 52 29 3b 0d 0a 48 52 ORD, LPSTR);..HR 97d0: 45 53 55 4c 54 20 53 48 47 65 74 46 6f 6c 64 65 ESULT SHGetFolde 97e0: 72 50 61 74 68 57 28 48 57 4e 44 2c 20 69 6e 74 rPathW(HWND, int 97f0: 2c 20 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c , HANDLE, DWORD, 9800: 20 4c 50 57 53 54 52 29 3b 0d 0a 0d 0a 73 74 61 LPWSTR);....sta 9810: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 tic if (_WIN32_W 9820: 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 7b INNT >= 0x500) { 9830: 0d 0a 09 49 4e 54 20 53 48 47 65 74 49 63 6f 6e ...INT SHGetIcon 9840: 4f 76 65 72 6c 61 79 49 6e 64 65 78 57 28 4c 50 OverlayIndexW(LP 9850: 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 50 61 74 CWSTR pszIconPat 9860: 68 2c 20 69 6e 74 20 69 49 63 6f 6e 49 6e 64 65 h, int iIconInde 9870: 78 29 3b 0d 0a 09 49 4e 54 20 53 48 47 65 74 49 x);...INT SHGetI 9880: 63 6f 6e 4f 76 65 72 6c 61 79 49 6e 64 65 78 41 conOverlayIndexA 9890: 28 4c 50 43 53 54 52 20 70 73 7a 49 63 6f 6e 50 (LPCSTR pszIconP 98a0: 61 74 68 2c 20 69 6e 74 20 69 49 63 6f 6e 49 6e ath, int iIconIn 98b0: 64 65 78 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 dex);...HRESULT 98c0: 53 48 47 65 74 46 6f 6c 64 65 72 4c 6f 63 61 74 SHGetFolderLocat 98d0: 69 6f 6e 28 48 57 4e 44 2c 20 69 6e 74 2c 20 48 ion(HWND, int, H 98e0: 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20 4c 50 ANDLE, DWORD, LP 98f0: 49 54 45 4d 49 44 4c 49 53 54 2a 29 3b 0d 0a 09 ITEMIDLIST*);... 9900: 49 4e 54 20 53 48 43 72 65 61 74 65 44 69 72 65 INT SHCreateDire 9910: 63 74 6f 72 79 45 78 41 28 48 57 4e 44 2c 20 4c ctoryExA(HWND, L 9920: 50 43 53 54 52 2c 20 4c 50 53 45 43 55 52 49 54 PCSTR, LPSECURIT 9930: 59 5f 41 54 54 52 49 42 55 54 45 53 29 3b 0d 0a Y_ATTRIBUTES);.. 9940: 09 49 4e 54 20 53 48 43 72 65 61 74 65 44 69 72 .INT SHCreateDir 9950: 65 63 74 6f 72 79 45 78 57 28 48 57 4e 44 2c 20 ectoryExW(HWND, 9960: 4c 50 43 57 53 54 52 2c 20 4c 50 53 45 43 55 52 LPCWSTR, LPSECUR 9970: 49 54 59 5f 41 54 54 52 49 42 55 54 45 53 29 3b ITY_ATTRIBUTES); 9980: 0d 0a 09 48 52 45 53 55 4c 54 20 53 48 42 69 6e ...HRESULT SHBin 9990: 64 54 6f 50 61 72 65 6e 74 28 4c 50 43 49 54 45 dToParent(LPCITE 99a0: 4d 49 44 4c 49 53 54 2c 20 52 45 46 49 49 44 2c MIDLIST, REFIID, 99b0: 20 56 4f 49 44 2a 2a 2c 20 4c 50 43 49 54 45 4d VOID**, LPCITEM 99c0: 49 44 4c 49 53 54 2a 29 3b 0d 0a 7d 0d 0a 0d 0a IDLIST*);..}.... 99d0: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 static if (_WIN3 99e0: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 2_WINNT >= 0x501 99f0: 29 20 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 ) {...enum {.... 9a00: 50 52 46 5f 56 45 52 49 46 59 45 58 49 53 54 53 PRF_VERIFYEXISTS 9a10: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000 9a20: 31 2c 0d 0a 09 09 50 52 46 5f 54 52 59 50 52 4f 1,....PRF_TRYPRO 9a30: 47 52 41 4d 45 58 54 45 4e 53 49 4f 4e 53 20 3d GRAMEXTENSIONS = 9a40: 20 28 30 78 30 30 30 32 20 7c 20 50 52 46 5f 56 (0x0002 | PRF_V 9a50: 45 52 49 46 59 45 58 49 53 54 53 29 2c 0d 0a 09 ERIFYEXISTS),... 9a60: 09 50 52 46 5f 46 49 52 53 54 44 49 52 44 45 46 .PRF_FIRSTDIRDEF 9a70: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 = 0x00 9a80: 30 34 2c 0d 0a 09 09 50 52 46 5f 44 4f 4e 54 46 04,....PRF_DONTF 9a90: 49 4e 44 4c 4e 4b 20 20 20 20 20 20 20 20 20 20 INDLNK 9aa0: 3d 20 30 78 30 30 30 38 2c 0d 0a 09 09 49 44 4f = 0x0008,....IDO 9ab0: 5f 53 48 47 49 4f 49 5f 53 48 41 52 45 20 20 20 _SHGIOI_SHARE 9ac0: 20 20 20 20 20 20 3d 20 30 78 30 46 46 46 46 46 = 0x0FFFFF 9ad0: 46 46 2c 0d 0a 09 09 49 44 4f 5f 53 48 47 49 4f FF,....IDO_SHGIO 9ae0: 49 5f 4c 49 4e 4b 20 20 20 20 20 20 20 20 20 20 I_LINK 9af0: 3d 20 30 78 30 46 46 46 46 46 46 45 2c 0d 0a 09 = 0x0FFFFFFE,... 9b00: 09 49 44 4f 5f 53 48 47 49 4f 49 5f 53 4c 4f 57 .IDO_SHGIOI_SLOW 9b10: 46 49 4c 45 20 20 20 20 20 20 3d 20 30 78 30 46 FILE = 0x0F 9b20: 46 46 46 46 46 44 2c 0d 0a 09 09 49 44 4f 5f 53 FFFFFD,....IDO_S 9b30: 48 47 49 4f 49 5f 44 45 46 41 55 4c 54 20 20 20 HGIOI_DEFAULT 9b40: 20 20 20 20 3d 20 30 78 30 46 46 46 46 46 46 43 = 0x0FFFFFFC 9b50: 0d 0a 09 7d 0d 0a 0d 0a 09 73 74 72 75 63 74 20 ...}.....struct 9b60: 53 48 44 45 53 43 52 49 50 54 49 4f 4e 49 44 20 SHDESCRIPTIONID 9b70: 7b 0d 0a 09 09 44 57 4f 52 44 20 64 77 44 65 73 {....DWORD dwDes 9b80: 63 72 69 70 74 69 6f 6e 49 64 3b 0d 0a 09 09 43 criptionId;....C 9b90: 4c 53 49 44 20 63 6c 73 69 64 3b 0d 0a 09 7d 0d LSID clsid;...}. 9ba0: 0a 09 61 6c 69 61 73 20 53 48 44 45 53 43 52 49 ..alias SHDESCRI 9bb0: 50 54 49 4f 4e 49 44 2a 20 4c 50 53 48 44 45 53 PTIONID* LPSHDES 9bc0: 43 52 49 50 54 49 4f 4e 49 44 3b 0d 0a 0d 0a 09 CRIPTIONID;..... 9bd0: 42 4f 4f 4c 20 50 61 74 68 52 65 73 6f 6c 76 65 BOOL PathResolve 9be0: 28 4c 50 57 53 54 52 2c 20 4c 50 43 57 53 54 52 (LPWSTR, LPCWSTR 9bf0: 2a 2c 20 55 49 4e 54 29 3b 0d 0a 09 48 52 45 53 *, UINT);...HRES 9c00: 55 4c 54 20 53 48 47 65 74 46 6f 6c 64 65 72 50 ULT SHGetFolderP 9c10: 61 74 68 41 6e 64 53 75 62 44 69 72 41 28 48 57 athAndSubDirA(HW 9c20: 4e 44 2c 20 69 6e 74 2c 20 48 41 4e 44 4c 45 2c ND, int, HANDLE, 9c30: 20 44 57 4f 52 44 2c 20 4c 50 43 53 54 52 2c 20 DWORD, LPCSTR, 9c40: 4c 50 53 54 52 29 3b 0d 0a 09 48 52 45 53 55 4c LPSTR);...HRESUL 9c50: 54 20 53 48 47 65 74 46 6f 6c 64 65 72 50 61 74 T SHGetFolderPat 9c60: 68 41 6e 64 53 75 62 44 69 72 57 28 48 57 4e 44 hAndSubDirW(HWND 9c70: 2c 20 69 6e 74 2c 20 48 41 4e 44 4c 45 2c 20 44 , int, HANDLE, D 9c80: 57 4f 52 44 2c 20 4c 50 43 57 53 54 52 2c 20 4c WORD, LPCWSTR, L 9c90: 50 57 53 54 52 29 3b 0d 0a 09 48 52 45 53 55 4c PWSTR);...HRESUL 9ca0: 54 20 53 48 50 61 72 73 65 44 69 73 70 6c 61 79 T SHParseDisplay 9cb0: 4e 61 6d 65 28 4c 50 43 57 53 54 52 2c 20 49 42 Name(LPCWSTR, IB 9cc0: 69 6e 64 43 74 78 2c 20 4c 50 49 54 45 4d 49 44 indCtx, LPITEMID 9cd0: 4c 49 53 54 2c 20 53 46 47 41 4f 46 2c 20 53 46 LIST, SFGAOF, SF 9ce0: 47 41 4f 46 2a 29 3b 0d 0a 7d 0d 0a 0d 0a 76 6f GAOF*);..}....vo 9cf0: 69 64 20 53 48 47 65 74 53 65 74 74 69 6e 67 73 id SHGetSettings 9d00: 28 4c 50 53 48 45 4c 4c 46 4c 41 47 53 54 41 54 (LPSHELLFLAGSTAT 9d10: 45 2c 20 44 57 4f 52 44 29 3b 0d 0a 0d 0a 73 74 E, DWORD);....st 9d20: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f atic if (_WIN32_ 9d30: 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 WINNT >= 0x500) 9d40: 7b 0d 0a 09 76 6f 69 64 20 53 48 47 65 74 53 65 {...void SHGetSe 9d50: 74 53 65 74 74 69 6e 67 73 28 4c 50 53 48 45 4c tSettings(LPSHEL 9d60: 4c 53 54 41 54 45 2c 20 44 57 4f 52 44 2c 20 42 LSTATE, DWORD, B 9d70: 4f 4f 4c 29 3b 0d 0a 09 42 4f 4f 4c 20 49 4c 49 OOL);...BOOL ILI 9d80: 73 45 71 75 61 6c 28 4c 50 43 49 54 45 4d 49 44 sEqual(LPCITEMID 9d90: 4c 49 53 54 2c 20 4c 50 43 49 54 45 4d 49 44 4c LIST, LPCITEMIDL 9da0: 49 53 54 29 3b 0d 0a 09 42 4f 4f 4c 20 49 4c 49 IST);...BOOL ILI 9db0: 73 50 61 72 65 6e 74 28 4c 50 43 49 54 45 4d 49 sParent(LPCITEMI 9dc0: 44 4c 49 53 54 2c 20 4c 50 43 49 54 45 4d 49 44 DLIST, LPCITEMID 9dd0: 4c 49 53 54 2c 20 42 4f 4f 4c 29 3b 0d 0a 09 42 LIST, BOOL);...B 9de0: 4f 4f 4c 20 49 4c 52 65 6d 6f 76 65 4c 61 73 74 OOL ILRemoveLast 9df0: 49 44 28 4c 50 49 54 45 4d 49 44 4c 49 53 54 29 ID(LPITEMIDLIST) 9e00: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 49 4c 4c 6f ;...HRESULT ILLo 9e10: 61 64 46 72 6f 6d 53 74 72 65 61 6d 28 49 53 74 adFromStream(ISt 9e20: 72 65 61 6d 2c 20 4c 50 49 54 45 4d 49 44 4c 49 ream, LPITEMIDLI 9e30: 53 54 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 20 ST*);...HRESULT 9e40: 49 4c 53 61 76 65 54 6f 53 74 72 65 61 6d 28 49 ILSaveToStream(I 9e50: 53 74 72 65 61 6d 2c 20 4c 50 43 49 54 45 4d 49 Stream, LPCITEMI 9e60: 44 4c 49 53 54 29 3b 0d 0a 09 4c 50 49 54 45 4d DLIST);...LPITEM 9e70: 49 44 4c 49 53 54 20 49 4c 41 70 70 65 6e 64 49 IDLIST ILAppendI 9e80: 44 28 4c 50 49 54 45 4d 49 44 4c 49 53 54 2c 20 D(LPITEMIDLIST, 9e90: 4c 50 43 53 48 49 54 45 4d 49 44 2c 20 42 4f 4f LPCSHITEMID, BOO 9ea0: 4c 29 3b 0d 0a 09 4c 50 49 54 45 4d 49 44 4c 49 L);...LPITEMIDLI 9eb0: 53 54 20 49 4c 43 6c 6f 6e 65 28 4c 50 43 49 54 ST ILClone(LPCIT 9ec0: 45 4d 49 44 4c 49 53 54 29 3b 0d 0a 09 4c 50 49 EMIDLIST);...LPI 9ed0: 54 45 4d 49 44 4c 49 53 54 20 49 4c 43 6c 6f 6e TEMIDLIST ILClon 9ee0: 65 46 69 72 73 74 28 4c 50 43 49 54 45 4d 49 44 eFirst(LPCITEMID 9ef0: 4c 49 53 54 29 3b 0d 0a 09 4c 50 49 54 45 4d 49 LIST);...LPITEMI 9f00: 44 4c 49 53 54 20 49 4c 43 6f 6d 62 69 6e 65 28 DLIST ILCombine( 9f10: 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 2c 20 4c LPCITEMIDLIST, L 9f20: 50 43 49 54 45 4d 49 44 4c 49 53 54 29 3b 0d 0a PCITEMIDLIST);.. 9f30: 09 4c 50 49 54 45 4d 49 44 4c 49 53 54 20 49 4c .LPITEMIDLIST IL 9f40: 46 69 6e 64 43 68 69 6c 64 28 4c 50 43 49 54 45 FindChild(LPCITE 9f50: 4d 49 44 4c 49 53 54 2c 20 4c 50 43 49 54 45 4d MIDLIST, LPCITEM 9f60: 49 44 4c 49 53 54 29 3b 0d 0a 09 4c 50 49 54 45 IDLIST);...LPITE 9f70: 4d 49 44 4c 49 53 54 20 49 4c 46 69 6e 64 4c 61 MIDLIST ILFindLa 9f80: 73 74 49 44 28 4c 50 43 49 54 45 4d 49 44 4c 49 stID(LPCITEMIDLI 9f90: 53 54 29 3b 0d 0a 09 4c 50 49 54 45 4d 49 44 4c ST);...LPITEMIDL 9fa0: 49 53 54 20 49 4c 47 65 74 4e 65 78 74 28 4c 50 IST ILGetNext(LP 9fb0: 43 49 54 45 4d 49 44 4c 49 53 54 29 3b 0d 0a 09 CITEMIDLIST);... 9fc0: 55 49 4e 54 20 49 4c 47 65 74 53 69 7a 65 28 4c UINT ILGetSize(L 9fd0: 50 43 49 54 45 4d 49 44 4c 49 53 54 29 3b 0d 0a PCITEMIDLIST);.. 9fe0: 09 76 6f 69 64 20 49 4c 46 72 65 65 28 4c 50 49 .void ILFree(LPI 9ff0: 54 45 4d 49 44 4c 49 53 54 29 3b 0d 0a 0d 0a 09 TEMIDLIST);..... a000: 48 52 45 53 55 4c 54 20 53 48 43 6f 43 72 65 61 HRESULT SHCoCrea a010: 74 65 49 6e 73 74 61 6e 63 65 28 4c 50 43 57 53 teInstance(LPCWS a020: 54 52 2c 20 52 45 46 43 4c 53 49 44 2c 20 49 55 TR, REFCLSID, IU a030: 6e 6b 6e 6f 77 6e 2c 20 52 45 46 49 49 44 2c 20 nknown, REFIID, a040: 76 6f 69 64 2a 2a 29 3b 0d 0a 7d 0d 0a 0d 0a 76 void**);..}....v a050: 65 72 73 69 6f 6e 28 55 6e 69 63 6f 64 65 29 20 ersion(Unicode) a060: 7b 0d 0a 09 61 6c 69 61 73 20 49 53 68 65 6c 6c {...alias IShell a070: 45 78 65 63 75 74 65 48 6f 6f 6b 57 20 49 53 68 ExecuteHookW ISh a080: 65 6c 6c 45 78 65 63 75 74 65 48 6f 6f 6b 3b 0d ellExecuteHook;. a090: 0a 09 61 6c 69 61 73 20 49 53 68 65 6c 6c 4c 69 ..alias IShellLi a0a0: 6e 6b 57 20 49 53 68 65 6c 6c 4c 69 6e 6b 3b 0d nkW IShellLink;. a0b0: 0a 09 61 6c 69 61 73 20 42 52 4f 57 53 45 49 4e ..alias BROWSEIN a0c0: 46 4f 57 20 42 52 4f 57 53 45 49 4e 46 4f 3b 0d FOW BROWSEINFO;. a0d0: 0a 09 61 6c 69 61 73 20 53 48 42 72 6f 77 73 65 ..alias SHBrowse a0e0: 46 6f 72 46 6f 6c 64 65 72 57 20 53 48 42 72 6f ForFolderW SHBro a0f0: 77 73 65 46 6f 72 46 6f 6c 64 65 72 3b 0d 0a 09 wseForFolder;... a100: 61 6c 69 61 73 20 53 48 47 65 74 44 61 74 61 46 alias SHGetDataF a110: 72 6f 6d 49 44 4c 69 73 74 57 20 53 48 47 65 74 romIDListW SHGet a120: 44 61 74 61 46 72 6f 6d 49 44 4c 69 73 74 3b 0d DataFromIDList;. a130: 0a 09 61 6c 69 61 73 20 53 48 47 65 74 50 61 74 ..alias SHGetPat a140: 68 46 72 6f 6d 49 44 4c 69 73 74 57 20 53 48 47 hFromIDListW SHG a150: 65 74 50 61 74 68 46 72 6f 6d 49 44 4c 69 73 74 etPathFromIDList a160: 3b 0d 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f ;...static if (_ a170: 57 49 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 WIN32_IE >= 0x40 a180: 30 29 20 7b 0d 0a 09 09 61 6c 69 61 73 20 53 48 0) {....alias SH a190: 47 65 74 53 70 65 63 69 61 6c 46 6f 6c 64 65 72 GetSpecialFolder a1a0: 50 61 74 68 57 20 53 48 47 65 74 53 70 65 63 69 PathW SHGetSpeci a1b0: 61 6c 46 6f 6c 64 65 72 50 61 74 68 3b 0d 0a 09 alFolderPath;... a1c0: 7d 0d 0a 09 61 6c 69 61 73 20 53 48 47 65 74 46 }...alias SHGetF a1d0: 6f 6c 64 65 72 50 61 74 68 57 20 53 48 47 65 74 olderPathW SHGet a1e0: 46 6f 6c 64 65 72 50 61 74 68 3b 0d 0a 09 73 74 FolderPath;...st a1f0: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f atic if (_WIN32_ a200: 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 WINNT >= 0x500) a210: 7b 0d 0a 09 09 61 6c 69 61 73 20 53 48 47 65 74 {....alias SHGet a220: 49 63 6f 6e 4f 76 65 72 6c 61 79 49 6e 64 65 78 IconOverlayIndex a230: 57 20 53 48 47 65 74 49 63 6f 6e 4f 76 65 72 6c W SHGetIconOverl a240: 61 79 49 6e 64 65 78 3b 0d 0a 09 09 61 6c 69 61 ayIndex;....alia a250: 73 20 53 48 43 72 65 61 74 65 44 69 72 65 63 74 s SHCreateDirect a260: 6f 72 79 45 78 57 20 53 48 43 72 65 61 74 65 44 oryExW SHCreateD a270: 69 72 65 63 74 6f 72 79 45 78 3b 0d 0a 09 7d 0d irectoryEx;...}. a280: 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 ..static if (_WI a290: 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 N32_WINNT >= 0x5 a2a0: 30 31 29 20 7b 0d 0a 09 09 61 6c 69 61 73 20 53 01) {....alias S a2b0: 48 47 65 74 46 6f 6c 64 65 72 50 61 74 68 41 6e HGetFolderPathAn a2c0: 64 53 75 62 44 69 72 57 20 53 48 47 65 74 46 6f dSubDirW SHGetFo a2d0: 6c 64 65 72 50 61 74 68 41 6e 64 53 75 62 44 69 lderPathAndSubDi a2e0: 72 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 46 r;...}...alias F a2f0: 49 4c 45 44 45 53 43 52 49 50 54 4f 52 57 20 46 ILEDESCRIPTORW F a300: 49 4c 45 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a ILEDESCRIPTOR;.. a310: 09 61 6c 69 61 73 20 4c 50 46 49 4c 45 44 45 53 .alias LPFILEDES a320: 43 52 49 50 54 4f 52 57 20 4c 50 46 49 4c 45 44 CRIPTORW LPFILED a330: 45 53 43 52 49 50 54 4f 52 3b 0d 0a 09 61 6c 69 ESCRIPTOR;...ali a340: 61 73 20 46 49 4c 45 47 52 4f 55 50 44 45 53 43 as FILEGROUPDESC a350: 52 49 50 54 4f 52 57 20 46 49 4c 45 47 52 4f 55 RIPTORW FILEGROU a360: 50 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a 09 61 PDESCRIPTOR;...a a370: 6c 69 61 73 20 4c 50 46 49 4c 45 47 52 4f 55 50 lias LPFILEGROUP a380: 44 45 53 43 52 49 50 54 4f 52 57 20 4c 50 46 49 DESCRIPTORW LPFI a390: 4c 45 47 52 4f 55 50 44 45 53 43 52 49 50 54 4f LEGROUPDESCRIPTO a3a0: 52 3b 0d 0a 0d 0a 7d 20 65 6c 73 65 20 7b 0d 0a R;....} else {.. a3b0: 09 61 6c 69 61 73 20 49 53 68 65 6c 6c 45 78 65 .alias IShellExe a3c0: 63 75 74 65 48 6f 6f 6b 41 20 49 53 68 65 6c 6c cuteHookA IShell a3d0: 45 78 65 63 75 74 65 48 6f 6f 6b 3b 0d 0a 09 61 ExecuteHook;...a a3e0: 6c 69 61 73 20 49 53 68 65 6c 6c 4c 69 6e 6b 41 lias IShellLinkA a3f0: 20 49 53 68 65 6c 6c 4c 69 6e 6b 3b 0d 0a 09 61 IShellLink;...a a400: 6c 69 61 73 20 42 52 4f 57 53 45 49 4e 46 4f 41 lias BROWSEINFOA a410: 20 42 52 4f 57 53 45 49 4e 46 4f 3b 0d 0a 09 61 BROWSEINFO;...a a420: 6c 69 61 73 20 53 48 42 72 6f 77 73 65 46 6f 72 lias SHBrowseFor a430: 46 6f 6c 64 65 72 41 20 53 48 42 72 6f 77 73 65 FolderA SHBrowse a440: 46 6f 72 46 6f 6c 64 65 72 3b 0d 0a 09 61 6c 69 ForFolder;...ali a450: 61 73 20 53 48 47 65 74 44 61 74 61 46 72 6f 6d as SHGetDataFrom a460: 49 44 4c 69 73 74 41 20 53 48 47 65 74 44 61 74 IDListA SHGetDat a470: 61 46 72 6f 6d 49 44 4c 69 73 74 3b 0d 0a 09 61 aFromIDList;...a a480: 6c 69 61 73 20 53 48 47 65 74 50 61 74 68 46 72 lias SHGetPathFr a490: 6f 6d 49 44 4c 69 73 74 41 20 53 48 47 65 74 50 omIDListA SHGetP a4a0: 61 74 68 46 72 6f 6d 49 44 4c 69 73 74 3b 0d 0a athFromIDList;.. a4b0: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN a4c0: 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 32_IE >= 0x400) a4d0: 7b 0d 0a 09 09 61 6c 69 61 73 20 53 48 47 65 74 {....alias SHGet a4e0: 53 70 65 63 69 61 6c 46 6f 6c 64 65 72 50 61 74 SpecialFolderPat a4f0: 68 41 20 53 48 47 65 74 53 70 65 63 69 61 6c 46 hA SHGetSpecialF a500: 6f 6c 64 65 72 50 61 74 68 3b 0d 0a 09 7d 0d 0a olderPath;...}.. a510: 09 61 6c 69 61 73 20 53 48 47 65 74 46 6f 6c 64 .alias SHGetFold a520: 65 72 50 61 74 68 41 20 53 48 47 65 74 46 6f 6c erPathA SHGetFol a530: 64 65 72 50 61 74 68 3b 0d 0a 09 73 74 61 74 69 derPath;...stati a540: 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e c if (_WIN32_WIN a550: 4e 54 20 3e 3d 20 30 78 35 30 30 29 20 7b 0d 0a NT >= 0x500) {.. a560: 09 09 61 6c 69 61 73 20 53 48 47 65 74 49 63 6f ..alias SHGetIco a570: 6e 4f 76 65 72 6c 61 79 49 6e 64 65 78 41 20 53 nOverlayIndexA S a580: 48 47 65 74 49 63 6f 6e 4f 76 65 72 6c 61 79 49 HGetIconOverlayI a590: 6e 64 65 78 3b 0d 0a 09 09 61 6c 69 61 73 20 53 ndex;....alias S a5a0: 48 43 72 65 61 74 65 44 69 72 65 63 74 6f 72 79 HCreateDirectory a5b0: 45 78 41 20 53 48 43 72 65 61 74 65 44 69 72 65 ExA SHCreateDire a5c0: 63 74 6f 72 79 45 78 3b 0d 0a 09 7d 0d 0a 09 73 ctoryEx;...}...s a5d0: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 tatic if (_WIN32 a5e0: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 29 _WINNT >= 0x501) a5f0: 20 7b 0d 0a 09 09 61 6c 69 61 73 20 53 48 47 65 {....alias SHGe a600: 74 46 6f 6c 64 65 72 50 61 74 68 41 6e 64 53 75 tFolderPathAndSu a610: 62 44 69 72 41 20 53 48 47 65 74 46 6f 6c 64 65 bDirA SHGetFolde a620: 72 50 61 74 68 41 6e 64 53 75 62 44 69 72 3b 0d rPathAndSubDir;. a630: 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 46 49 4c 45 ..}...alias FILE a640: 44 45 53 43 52 49 50 54 4f 52 41 20 46 49 4c 45 DESCRIPTORA FILE a650: 44 45 53 43 52 49 50 54 4f 52 3b 0d 0a 09 61 6c DESCRIPTOR;...al a660: 69 61 73 20 4c 50 46 49 4c 45 44 45 53 43 52 49 ias LPFILEDESCRI a670: 50 54 4f 52 41 20 4c 50 46 49 4c 45 44 45 53 43 PTORA LPFILEDESC a680: 52 49 50 54 4f 52 3b 0d 0a 09 61 6c 69 61 73 20 RIPTOR;...alias a690: 46 49 4c 45 47 52 4f 55 50 44 45 53 43 52 49 50 FILEGROUPDESCRIP a6a0: 54 4f 52 41 20 46 49 4c 45 47 52 4f 55 50 44 45 TORA FILEGROUPDE a6b0: 53 43 52 49 50 54 4f 52 3b 0d 0a 09 61 6c 69 61 SCRIPTOR;...alia a6c0: 73 20 4c 50 46 49 4c 45 47 52 4f 55 50 44 45 53 s LPFILEGROUPDES a6d0: 43 52 49 50 54 4f 52 41 20 4c 50 46 49 4c 45 47 CRIPTORA LPFILEG a6e0: 52 4f 55 50 44 45 53 43 52 49 50 54 4f 52 3b 0d ROUPDESCRIPTOR;. a6f0: 0a 7d 0d 0a 61 6c 69 61 73 20 42 52 4f 57 53 45 .}..alias BROWSE a700: 49 4e 46 4f 2a 20 50 42 52 4f 57 53 45 49 4e 46 INFO* PBROWSEINF a710: 4f 2c 20 4c 50 42 52 4f 57 53 45 49 4e 46 4f 3b O, LPBROWSEINFO; a720: 0d 0a 0d 0a 73 74 61 74 69 63 20 69 66 20 28 5f ....static if (_ a730: 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 WIN32_WINNT >= 0 a740: 78 35 30 31 29 20 7b 0d 0a 09 69 6e 74 65 72 66 x501) {...interf a750: 61 63 65 20 49 46 6f 6c 64 65 72 56 69 65 77 20 ace IFolderView a760: 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 20 : IUnknown {... a770: 20 20 48 52 45 53 55 4c 54 20 47 65 74 41 75 74 HRESULT GetAut a780: 6f 41 72 72 61 6e 67 65 28 29 3b 0d 0a 09 20 20 oArrange();... a790: 20 48 52 45 53 55 4c 54 20 47 65 74 43 75 72 72 HRESULT GetCurr a7a0: 65 6e 74 56 69 65 77 4d 6f 64 65 28 55 49 4e 54 entViewMode(UINT a7b0: 29 3b 0d 0a 09 20 20 20 48 52 45 53 55 4c 54 20 );... HRESULT a7c0: 47 65 74 44 65 66 61 75 6c 74 53 70 61 63 69 6e GetDefaultSpacin a7d0: 67 28 50 4f 49 4e 54 2a 29 3b 0d 0a 09 20 20 20 g(POINT*);... a7e0: 48 52 45 53 55 4c 54 20 47 65 74 46 6f 63 75 73 HRESULT GetFocus a7f0: 65 64 49 74 65 6d 28 69 6e 74 2a 29 3b 0d 0a 09 edItem(int*);... a800: 20 20 20 48 52 45 53 55 4c 54 20 47 65 74 46 6f HRESULT GetFo a810: 6c 64 65 72 28 52 45 46 49 49 44 2c 20 50 56 4f lder(REFIID, PVO a820: 49 44 2a 29 3b 0d 0a 09 20 20 20 48 52 45 53 55 ID*);... HRESU a830: 4c 54 20 47 65 74 49 74 65 6d 50 6f 73 69 74 69 LT GetItemPositi a840: 6f 6e 28 4c 50 43 49 54 45 4d 49 44 4c 49 53 54 on(LPCITEMIDLIST a850: 2c 20 50 4f 49 4e 54 2a 29 3b 0d 0a 09 20 20 20 , POINT*);... a860: 48 52 45 53 55 4c 54 20 47 65 74 53 65 6c 65 63 HRESULT GetSelec a870: 74 69 6f 6e 4d 61 72 6b 65 64 49 74 65 6d 28 69 tionMarkedItem(i a880: 6e 74 2a 29 3b 0d 0a 09 20 20 20 48 52 45 53 55 nt*);... HRESU a890: 4c 54 20 47 65 74 53 70 61 63 69 6e 67 28 50 4f LT GetSpacing(PO a8a0: 49 4e 54 2a 29 3b 0d 0a 09 20 20 20 48 52 45 53 INT*);... HRES a8b0: 55 4c 54 20 49 74 65 6d 28 69 6e 74 2c 20 4c 50 ULT Item(int, LP a8c0: 49 54 45 4d 49 44 4c 49 53 54 2a 29 3b 0d 0a 09 ITEMIDLIST*);... a8d0: 20 20 20 48 52 45 53 55 4c 54 20 49 74 65 6d 43 HRESULT ItemC a8e0: 6f 75 6e 74 28 55 49 4e 54 2c 20 69 6e 74 2a 29 ount(UINT, int*) a8f0: 3b 0d 0a 09 20 20 20 48 52 45 53 55 4c 54 20 49 ;... HRESULT I a900: 74 65 6d 73 28 55 49 4e 54 2c 20 52 45 46 49 49 tems(UINT, REFII a910: 44 2c 20 50 56 4f 49 44 2a 29 3b 0d 0a 09 20 20 D, PVOID*);... a920: 20 48 52 45 53 55 4c 54 20 53 65 6c 65 63 74 41 HRESULT SelectA a930: 6e 64 50 6f 73 69 74 69 6f 6e 49 74 65 6d 73 28 ndPositionItems( a940: 55 49 4e 54 2c 20 4c 50 43 49 54 45 4d 49 44 4c UINT, LPCITEMIDL a950: 49 53 54 2a 2c 20 50 4f 49 4e 54 2a 2c 20 44 57 IST*, POINT*, DW a960: 4f 52 44 29 3b 0d 0a 09 20 20 20 48 52 45 53 55 ORD);... HRESU a970: 4c 54 20 53 65 6c 65 63 74 49 74 65 6d 28 69 6e LT SelectItem(in a980: 74 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 20 20 20 t, DWORD);... a990: 48 52 45 53 55 4c 54 20 53 65 74 43 75 72 72 65 HRESULT SetCurre a9a0: 6e 74 56 69 65 77 4d 6f 64 65 28 55 49 4e 54 29 ntViewMode(UINT) a9b0: 3b 0d 0a 09 7d 0d 0a 09 61 6c 69 61 73 20 49 46 ;...}...alias IF a9c0: 6f 6c 64 65 72 56 69 65 77 20 4c 50 46 4f 4c 44 olderView LPFOLD a9d0: 45 52 56 49 45 57 3b 0d 0a 7d 0d 0a ERVIEW;..}..