Artifact 9ec7c9fbaf59e3d67d83fe6bf0d6c768f363ffa1:
- File
src/win32/lmremutl.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 6c 6d 72 65 6d lmrem 0070: 75 74 6c 2e 64 20 20 20 20 20 20 20 20 20 20 20 utl.d 0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..* 00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *. 00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .* 00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows 0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu 0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le 0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..* 0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..* 0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla 0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W 01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers 01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a * 01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..* 01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..* 0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f Placed into 0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20 public domain 0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a *..\******* 0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e /..module win32. 02b0: 6c 6d 72 65 6d 75 74 6c 3b 0d 0a 70 72 61 67 6d lmremutl;..pragm 02c0: 61 28 6c 69 62 2c 20 22 6e 65 74 61 70 69 33 32 a(lib, "netapi32 02d0: 22 29 3b 0d 0a 0d 0a 2f 2f 20 44 20 43 6f 6e 76 ");....// D Conv 02e0: 65 72 73 69 6f 6e 20 4e 6f 74 65 3a 20 44 45 53 ersion Note: DES 02f0: 43 5f 43 48 41 52 20 69 73 20 64 65 66 69 6e 65 C_CHAR is define 0300: 64 20 61 73 20 54 43 48 41 52 2e 0d 0a 0d 0a 70 d as TCHAR.....p 0310: 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 rivate import wi 0320: 6e 33 32 2e 6c 6d 63 6f 6e 73 2c 20 77 69 6e 33 n32.lmcons, win3 0330: 32 2e 77 69 6e 64 65 66 3b 0d 0a 0d 0a 63 6f 6e 2.windef;....con 0340: 73 74 20 53 55 50 50 4f 52 54 53 5f 52 45 4d 4f st SUPPORTS_REMO 0350: 54 45 5f 41 44 4d 49 4e 5f 50 52 4f 54 4f 43 4f TE_ADMIN_PROTOCO 0360: 4c 20 3d 20 20 32 3b 0d 0a 63 6f 6e 73 74 20 53 L = 2;..const S 0370: 55 50 50 4f 52 54 53 5f 52 50 43 20 20 20 20 20 UPPORTS_RPC 0380: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 = 0390: 20 34 3b 0d 0a 63 6f 6e 73 74 20 53 55 50 50 4f 4;..const SUPPO 03a0: 52 54 53 5f 53 41 4d 5f 50 52 4f 54 4f 43 4f 4c RTS_SAM_PROTOCOL 03b0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 38 3b 0d = 8;. 03c0: 0a 63 6f 6e 73 74 20 53 55 50 50 4f 52 54 53 5f .const SUPPORTS_ 03d0: 55 4e 49 43 4f 44 45 20 20 20 20 20 20 20 20 20 UNICODE 03e0: 20 20 20 20 20 20 3d 20 31 36 3b 0d 0a 63 6f 6e = 16;..con 03f0: 73 74 20 53 55 50 50 4f 52 54 53 5f 4c 4f 43 41 st SUPPORTS_LOCA 0400: 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 L 0410: 20 20 3d 20 33 32 3b 0d 0a 63 6f 6e 73 74 20 53 = 32;..const S 0420: 55 50 50 4f 52 54 53 5f 41 4e 59 20 20 20 20 20 UPPORTS_ANY 0430: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 = 0440: 30 78 46 46 46 46 46 46 46 46 3b 0d 0a 0d 0a 63 0xFFFFFFFF;....c 0450: 6f 6e 73 74 20 4e 4f 5f 50 45 52 4d 49 53 53 49 onst NO_PERMISSI 0460: 4f 4e 5f 52 45 51 55 49 52 45 44 20 3d 20 31 3b ON_REQUIRED = 1; 0470: 0d 0a 63 6f 6e 73 74 20 41 4c 4c 4f 43 41 54 45 ..const ALLOCATE 0480: 5f 52 45 53 50 4f 4e 53 45 20 20 20 20 20 20 3d _RESPONSE = 0490: 20 32 3b 0d 0a 63 6f 6e 73 74 20 55 53 45 5f 53 2;..const USE_S 04a0: 50 45 43 49 46 49 43 5f 54 52 41 4e 53 50 4f 52 PECIFIC_TRANSPOR 04b0: 54 20 3d 20 30 78 38 30 30 30 30 30 30 30 3b 0d T = 0x80000000;. 04c0: 0a 0d 0a 2f 2f 5b 59 65 73 5d 20 23 69 66 6e 64 ...//[Yes] #ifnd 04d0: 65 66 20 44 45 53 43 5f 43 48 41 52 5f 55 4e 49 ef DESC_CHAR_UNI 04e0: 43 4f 44 45 0d 0a 2f 2f 61 6c 69 61 73 20 43 48 CODE..//alias CH 04f0: 41 52 20 44 45 53 43 5f 43 48 41 52 3b 0d 0a 2f AR DESC_CHAR;../ 0500: 2f 7d 20 65 6c 73 65 20 7b 0d 0a 2f 2f 5b 4e 6f /} else {..//[No 0510: 5d 20 23 65 6c 73 65 0d 0a 2f 2f 5b 4e 6f 5d 20 ] #else..//[No] 0520: 74 79 70 65 64 65 66 20 57 43 48 41 52 20 44 45 typedef WCHAR DE 0530: 53 43 5f 43 48 41 52 3b 0d 0a 2f 2f 5b 4e 6f 5d SC_CHAR;..//[No] 0540: 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 46 49 58 4d #endif..// FIXM 0550: 45 20 28 44 29 3a 20 49 73 20 74 68 69 73 20 4f E (D): Is this O 0560: 4b 3f 0d 0a 61 6c 69 61 73 20 54 43 48 41 52 20 K?..alias TCHAR 0570: 44 45 53 43 5f 43 48 41 52 3b 0d 0a 0d 0a 61 6c DESC_CHAR;....al 0580: 69 61 73 20 44 45 53 43 5f 43 48 41 52 2a 20 4c ias DESC_CHAR* L 0590: 50 44 45 53 43 3b 0d 0a 0d 0a 73 74 72 75 63 74 PDESC;....struct 05a0: 20 54 49 4d 45 5f 4f 46 5f 44 41 59 5f 49 4e 46 TIME_OF_DAY_INF 05b0: 4f 20 7b 0d 0a 09 44 57 4f 52 44 20 74 6f 64 5f O {...DWORD tod_ 05c0: 65 6c 61 70 73 65 64 74 3b 0d 0a 09 44 57 4f 52 elapsedt;...DWOR 05d0: 44 20 74 6f 64 5f 6d 73 65 63 73 3b 0d 0a 09 44 D tod_msecs;...D 05e0: 57 4f 52 44 20 74 6f 64 5f 68 6f 75 72 73 3b 0d WORD tod_hours;. 05f0: 0a 09 44 57 4f 52 44 20 74 6f 64 5f 6d 69 6e 73 ..DWORD tod_mins 0600: 3b 0d 0a 09 44 57 4f 52 44 20 74 6f 64 5f 73 65 ;...DWORD tod_se 0610: 63 73 3b 0d 0a 09 44 57 4f 52 44 20 74 6f 64 5f cs;...DWORD tod_ 0620: 68 75 6e 64 73 3b 0d 0a 09 4c 4f 4e 47 20 20 74 hunds;...LONG t 0630: 6f 64 5f 74 69 6d 65 7a 6f 6e 65 3b 0d 0a 09 44 od_timezone;...D 0640: 57 4f 52 44 20 74 6f 64 5f 74 69 6e 74 65 72 76 WORD tod_tinterv 0650: 61 6c 3b 0d 0a 09 44 57 4f 52 44 20 74 6f 64 5f al;...DWORD tod_ 0660: 64 61 79 3b 0d 0a 09 44 57 4f 52 44 20 74 6f 64 day;...DWORD tod 0670: 5f 6d 6f 6e 74 68 3b 0d 0a 09 44 57 4f 52 44 20 _month;...DWORD 0680: 74 6f 64 5f 79 65 61 72 3b 0d 0a 09 44 57 4f 52 tod_year;...DWOR 0690: 44 20 74 6f 64 5f 77 65 65 6b 64 61 79 3b 0d 0a D tod_weekday;.. 06a0: 7d 0d 0a 61 6c 69 61 73 20 54 49 4d 45 5f 4f 46 }..alias TIME_OF 06b0: 5f 44 41 59 5f 49 4e 46 4f 2a 20 50 54 49 4d 45 _DAY_INFO* PTIME 06c0: 5f 4f 46 5f 44 41 59 5f 49 4e 46 4f 2c 20 4c 50 _OF_DAY_INFO, LP 06d0: 54 49 4d 45 5f 4f 46 5f 44 41 59 5f 49 4e 46 4f TIME_OF_DAY_INFO 06e0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e ;....extern (Win 06f0: 64 6f 77 73 29 20 7b 0d 0a 09 4e 45 54 5f 41 50 dows) {...NET_AP 0700: 49 5f 53 54 41 54 55 53 20 4e 65 74 52 65 6d 6f I_STATUS NetRemo 0710: 74 65 54 4f 44 28 4c 50 43 57 53 54 52 2c 20 50 teTOD(LPCWSTR, P 0720: 42 59 54 45 2a 29 3b 0d 0a 09 4e 45 54 5f 41 50 BYTE*);...NET_AP 0730: 49 5f 53 54 41 54 55 53 20 4e 65 74 52 65 6d 6f I_STATUS NetRemo 0740: 74 65 43 6f 6d 70 75 74 65 72 53 75 70 70 6f 72 teComputerSuppor 0750: 74 73 28 4c 50 43 57 53 54 52 2c 20 44 57 4f 52 ts(LPCWSTR, DWOR 0760: 44 2c 20 50 44 57 4f 52 44 29 3b 0d 0a 09 4e 45 D, PDWORD);...NE 0770: 54 5f 41 50 49 5f 53 54 41 54 55 53 20 52 78 52 T_API_STATUS RxR 0780: 65 6d 6f 74 65 41 70 69 28 44 57 4f 52 44 2c 20 emoteApi(DWORD, 0790: 4c 50 43 57 53 54 52 2c 20 4c 50 44 45 53 43 2c LPCWSTR, LPDESC, 07a0: 20 4c 50 44 45 53 43 2c 20 4c 50 44 45 53 43 2c LPDESC, LPDESC, 07b0: 0d 0a 09 20 20 4c 50 44 45 53 43 2c 20 4c 50 44 ... LPDESC, LPD 07c0: 45 53 43 2c 20 4c 50 44 45 53 43 2c 20 4c 50 44 ESC, LPDESC, LPD 07d0: 45 53 43 2c 20 44 57 4f 52 44 2c 20 2e 2e 2e 29 ESC, DWORD, ...) 07e0: 3b 0d 0a 7d 0d 0a ;..}..