Artifact 0b642be89bc8d9dcc1998668f63b52b767f04e0f:
- File
src/win32/lmstats.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 73 74 61 lmsta
0070: 74 73 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 ts.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 73 74 61 74 73 3b 0d 0a 70 72 61 67 6d 61 lmstats;..pragma
02c0: 28 6c 69 62 2c 20 22 6e 65 74 61 70 69 33 32 22 (lib, "netapi32"
02d0: 29 3b 0d 0a 0d 0a 70 72 69 76 61 74 65 20 69 6d );....private im
02e0: 70 6f 72 74 20 77 69 6e 33 32 2e 6c 6d 63 6f 6e port win32.lmcon
02f0: 73 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b s, win32.windef;
0300: 0d 0a 0d 0a 63 6f 6e 73 74 20 55 4c 4f 4e 47 0d ....const ULONG.
0310: 0a 09 53 54 41 54 53 4f 50 54 5f 43 4c 52 20 20 ..STATSOPT_CLR
0320: 20 3d 20 31 2c 0d 0a 09 53 54 41 54 53 5f 4e 4f = 1,...STATS_NO
0330: 5f 56 41 4c 55 45 20 3d 20 2d 31 2c 0d 0a 09 53 _VALUE = -1,...S
0340: 54 41 54 53 5f 4f 56 45 52 46 4c 4f 57 20 3d 20 TATS_OVERFLOW =
0350: 2d 32 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 53 54 -2;....struct ST
0360: 41 54 5f 53 45 52 56 45 52 5f 30 7b 0d 0a 09 44 AT_SERVER_0{...D
0370: 57 4f 52 44 20 73 74 73 30 5f 73 74 61 72 74 3b WORD sts0_start;
0380: 0d 0a 09 44 57 4f 52 44 20 73 74 73 30 5f 66 6f ...DWORD sts0_fo
0390: 70 65 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 73 74 pens;...DWORD st
03a0: 73 30 5f 64 65 76 6f 70 65 6e 73 3b 0d 0a 09 44 s0_devopens;...D
03b0: 57 4f 52 44 20 73 74 73 30 5f 6a 6f 62 73 71 75 WORD sts0_jobsqu
03c0: 65 75 65 64 3b 0d 0a 09 44 57 4f 52 44 20 73 74 eued;...DWORD st
03d0: 73 30 5f 73 6f 70 65 6e 73 3b 0d 0a 09 44 57 4f s0_sopens;...DWO
03e0: 52 44 20 73 74 73 30 5f 73 74 69 6d 65 64 6f 75 RD sts0_stimedou
03f0: 74 3b 0d 0a 09 44 57 4f 52 44 20 73 74 73 30 5f t;...DWORD sts0_
0400: 73 65 72 72 6f 72 6f 75 74 3b 0d 0a 09 44 57 4f serrorout;...DWO
0410: 52 44 20 73 74 73 30 5f 70 77 65 72 72 6f 72 73 RD sts0_pwerrors
0420: 3b 0d 0a 09 44 57 4f 52 44 20 73 74 73 30 5f 70 ;...DWORD sts0_p
0430: 65 72 6d 65 72 72 6f 72 73 3b 0d 0a 09 44 57 4f ermerrors;...DWO
0440: 52 44 20 73 74 73 30 5f 73 79 73 65 72 72 6f 72 RD sts0_syserror
0450: 73 3b 0d 0a 09 44 57 4f 52 44 20 73 74 73 30 5f s;...DWORD sts0_
0460: 62 79 74 65 73 73 65 6e 74 5f 6c 6f 77 3b 0d 0a bytessent_low;..
0470: 09 44 57 4f 52 44 20 73 74 73 30 5f 62 79 74 65 .DWORD sts0_byte
0480: 73 73 65 6e 74 5f 68 69 67 68 3b 0d 0a 09 44 57 ssent_high;...DW
0490: 4f 52 44 20 73 74 73 30 5f 62 79 74 65 73 72 63 ORD sts0_bytesrc
04a0: 76 64 5f 6c 6f 77 3b 0d 0a 09 44 57 4f 52 44 20 vd_low;...DWORD
04b0: 73 74 73 30 5f 62 79 74 65 73 72 63 76 64 5f 68 sts0_bytesrcvd_h
04c0: 69 67 68 3b 0d 0a 09 44 57 4f 52 44 20 73 74 73 igh;...DWORD sts
04d0: 30 5f 61 76 72 65 73 70 6f 6e 73 65 3b 0d 0a 09 0_avresponse;...
04e0: 44 57 4f 52 44 20 73 74 73 30 5f 72 65 71 62 75 DWORD sts0_reqbu
04f0: 66 6e 65 65 64 3b 0d 0a 09 44 57 4f 52 44 20 73 fneed;...DWORD s
0500: 74 73 30 5f 62 69 67 62 75 66 6e 65 65 64 3b 0d ts0_bigbufneed;.
0510: 0a 7d 0d 0a 61 6c 69 61 73 20 53 54 41 54 5f 53 .}..alias STAT_S
0520: 45 52 56 45 52 5f 30 2a 20 50 53 54 41 54 5f 53 ERVER_0* PSTAT_S
0530: 45 52 56 45 52 5f 30 2c 20 4c 50 53 54 41 54 5f ERVER_0, LPSTAT_
0540: 53 45 52 56 45 52 5f 30 3b 0d 0a 0d 0a 2f 2f 20 SERVER_0;....//
0550: 23 69 66 64 65 66 20 4c 4d 32 30 5f 57 4f 52 4b #ifdef LM20_WORK
0560: 53 54 41 54 49 4f 4e 5f 53 54 41 54 49 53 54 49 STATION_STATISTI
0570: 43 53 0d 0a 2f 2f 20 74 79 70 65 64 65 66 20 73 CS..// typedef s
0580: 74 72 75 63 74 20 5f 53 54 41 54 5f 57 4f 52 4b truct _STAT_WORK
0590: 53 54 41 54 49 4f 4e 5f 30 20 7b 0d 0a 2f 2f 20 STATION_0 {..//
05a0: 09 44 57 4f 52 44 20 73 74 77 30 5f 73 74 61 72 .DWORD stw0_star
05b0: 74 3b 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 t;..// .DWORD st
05c0: 77 30 5f 6e 75 6d 4e 43 42 5f 72 3b 0d 0a 2f 2f w0_numNCB_r;..//
05d0: 20 09 44 57 4f 52 44 20 73 74 77 30 5f 6e 75 6d .DWORD stw0_num
05e0: 4e 43 42 5f 73 3b 0d 0a 2f 2f 20 09 44 57 4f 52 NCB_s;..// .DWOR
05f0: 44 20 73 74 77 30 5f 6e 75 6d 4e 43 42 5f 61 3b D stw0_numNCB_a;
0600: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0610: 5f 66 69 4e 43 42 5f 72 3b 0d 0a 2f 2f 20 09 44 _fiNCB_r;..// .D
0620: 57 4f 52 44 20 73 74 77 30 5f 66 69 4e 43 42 5f WORD stw0_fiNCB_
0630: 73 3b 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 s;..// .DWORD st
0640: 77 30 5f 66 69 4e 43 42 5f 61 3b 0d 0a 2f 2f 20 w0_fiNCB_a;..//
0650: 09 44 57 4f 52 44 20 73 74 77 30 5f 66 63 4e 43 .DWORD stw0_fcNC
0660: 42 5f 72 3b 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 B_r;..// .DWORD
0670: 73 74 77 30 5f 66 63 4e 43 42 5f 73 3b 0d 0a 2f stw0_fcNCB_s;../
0680: 2f 20 09 44 57 4f 52 44 20 73 74 77 30 5f 66 63 / .DWORD stw0_fc
0690: 4e 43 42 5f 61 3b 0d 0a 2f 2f 20 09 44 57 4f 52 NCB_a;..// .DWOR
06a0: 44 20 73 74 77 30 5f 73 65 73 73 74 61 72 74 3b D stw0_sesstart;
06b0: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
06c0: 5f 73 65 73 73 66 61 69 6c 63 6f 6e 3b 0d 0a 2f _sessfailcon;../
06d0: 2f 20 09 44 57 4f 52 44 20 73 74 77 30 5f 73 65 / .DWORD stw0_se
06e0: 73 73 62 72 6f 6b 65 3b 0d 0a 2f 2f 20 09 44 57 ssbroke;..// .DW
06f0: 4f 52 44 20 73 74 77 30 5f 75 73 65 73 3b 0d 0a ORD stw0_uses;..
0700: 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 5f 75 // .DWORD stw0_u
0710: 73 65 66 61 69 6c 3b 0d 0a 2f 2f 20 09 44 57 4f sefail;..// .DWO
0720: 52 44 20 73 74 77 30 5f 61 75 74 6f 72 65 63 3b RD stw0_autorec;
0730: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0740: 5f 62 79 74 65 73 73 65 6e 74 5f 72 5f 6c 6f 3b _bytessent_r_lo;
0750: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0760: 5f 62 79 74 65 73 73 65 6e 74 5f 72 5f 68 69 3b _bytessent_r_hi;
0770: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0780: 5f 62 79 74 65 73 72 63 76 64 5f 72 5f 6c 6f 3b _bytesrcvd_r_lo;
0790: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
07a0: 5f 62 79 74 65 73 72 63 76 64 5f 72 5f 68 69 3b _bytesrcvd_r_hi;
07b0: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
07c0: 5f 62 79 74 65 73 73 65 6e 74 5f 73 5f 6c 6f 3b _bytessent_s_lo;
07d0: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
07e0: 5f 62 79 74 65 73 73 65 6e 74 5f 73 5f 68 69 3b _bytessent_s_hi;
07f0: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0800: 5f 62 79 74 65 73 72 63 76 64 5f 73 5f 6c 6f 3b _bytesrcvd_s_lo;
0810: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0820: 5f 62 79 74 65 73 72 63 76 64 5f 73 5f 68 69 3b _bytesrcvd_s_hi;
0830: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0840: 5f 62 79 74 65 73 73 65 6e 74 5f 61 5f 6c 6f 3b _bytessent_a_lo;
0850: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0860: 5f 62 79 74 65 73 73 65 6e 74 5f 61 5f 68 69 3b _bytessent_a_hi;
0870: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
0880: 5f 62 79 74 65 73 72 63 76 64 5f 61 5f 6c 6f 3b _bytesrcvd_a_lo;
0890: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
08a0: 5f 62 79 74 65 73 72 63 76 64 5f 61 5f 68 69 3b _bytesrcvd_a_hi;
08b0: 0d 0a 2f 2f 20 09 44 57 4f 52 44 20 73 74 77 30 ..// .DWORD stw0
08c0: 5f 72 65 71 62 75 66 6e 65 65 64 3b 0d 0a 2f 2f _reqbufneed;..//
08d0: 20 09 44 57 4f 52 44 20 73 74 77 30 5f 62 69 67 .DWORD stw0_big
08e0: 62 75 66 6e 65 65 64 3b 0d 0a 2f 2f 20 7d 20 53 bufneed;..// } S
08f0: 54 41 54 5f 57 4f 52 4b 53 54 41 54 49 4f 4e 5f TAT_WORKSTATION_
0900: 30 2c 2a 50 53 54 41 54 5f 57 4f 52 4b 53 54 41 0,*PSTAT_WORKSTA
0910: 54 49 4f 4e 5f 30 2c 2a 4c 50 53 54 41 54 5f 57 TION_0,*LPSTAT_W
0920: 4f 52 4b 53 54 41 54 49 4f 4e 5f 30 3b 0d 0a 2f ORKSTATION_0;../
0930: 2f 20 23 65 6c 73 65 0d 0a 0d 0a 73 74 72 75 63 / #else....struc
0940: 74 20 53 54 41 54 5f 57 4f 52 4b 53 54 41 54 49 t STAT_WORKSTATI
0950: 4f 4e 5f 30 7b 0d 0a 09 4c 41 52 47 45 5f 49 4e ON_0{...LARGE_IN
0960: 54 45 47 45 52 20 53 74 61 74 69 73 74 69 63 73 TEGER Statistics
0970: 53 74 61 72 74 54 69 6d 65 3b 0d 0a 09 4c 41 52 StartTime;...LAR
0980: 47 45 5f 49 4e 54 45 47 45 52 20 42 79 74 65 73 GE_INTEGER Bytes
0990: 52 65 63 65 69 76 65 64 3b 0d 0a 09 4c 41 52 47 Received;...LARG
09a0: 45 5f 49 4e 54 45 47 45 52 20 53 6d 62 73 52 65 E_INTEGER SmbsRe
09b0: 63 65 69 76 65 64 3b 0d 0a 09 4c 41 52 47 45 5f ceived;...LARGE_
09c0: 49 4e 54 45 47 45 52 20 50 61 67 69 6e 67 52 65 INTEGER PagingRe
09d0: 61 64 42 79 74 65 73 52 65 71 75 65 73 74 65 64 adBytesRequested
09e0: 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 ;...LARGE_INTEGE
09f0: 52 20 4e 6f 6e 50 61 67 69 6e 67 52 65 61 64 42 R NonPagingReadB
0a00: 79 74 65 73 52 65 71 75 65 73 74 65 64 3b 0d 0a ytesRequested;..
0a10: 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 43 .LARGE_INTEGER C
0a20: 61 63 68 65 52 65 61 64 42 79 74 65 73 52 65 71 acheReadBytesReq
0a30: 75 65 73 74 65 64 3b 0d 0a 09 4c 41 52 47 45 5f uested;...LARGE_
0a40: 49 4e 54 45 47 45 52 20 4e 65 74 77 6f 72 6b 52 INTEGER NetworkR
0a50: 65 61 64 42 79 74 65 73 52 65 71 75 65 73 74 65 eadBytesRequeste
0a60: 64 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 d;...LARGE_INTEG
0a70: 45 52 20 42 79 74 65 73 54 72 61 6e 73 6d 69 74 ER BytesTransmit
0a80: 74 65 64 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 ted;...LARGE_INT
0a90: 45 47 45 52 20 53 6d 62 73 54 72 61 6e 73 6d 69 EGER SmbsTransmi
0aa0: 74 74 65 64 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e tted;...LARGE_IN
0ab0: 54 45 47 45 52 20 50 61 67 69 6e 67 57 72 69 74 TEGER PagingWrit
0ac0: 65 42 79 74 65 73 52 65 71 75 65 73 74 65 64 3b eBytesRequested;
0ad0: 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 ...LARGE_INTEGER
0ae0: 20 4e 6f 6e 50 61 67 69 6e 67 57 72 69 74 65 42 NonPagingWriteB
0af0: 79 74 65 73 52 65 71 75 65 73 74 65 64 3b 0d 0a ytesRequested;..
0b00: 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 43 .LARGE_INTEGER C
0b10: 61 63 68 65 57 72 69 74 65 42 79 74 65 73 52 65 acheWriteBytesRe
0b20: 71 75 65 73 74 65 64 3b 0d 0a 09 4c 41 52 47 45 quested;...LARGE
0b30: 5f 49 4e 54 45 47 45 52 20 4e 65 74 77 6f 72 6b _INTEGER Network
0b40: 57 72 69 74 65 42 79 74 65 73 52 65 71 75 65 73 WriteBytesReques
0b50: 74 65 64 3b 0d 0a 09 44 57 4f 52 44 20 49 6e 69 ted;...DWORD Ini
0b60: 74 69 61 6c 6c 79 46 61 69 6c 65 64 4f 70 65 72 tiallyFailedOper
0b70: 61 74 69 6f 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 ations;...DWORD
0b80: 46 61 69 6c 65 64 43 6f 6d 70 6c 65 74 69 6f 6e FailedCompletion
0b90: 4f 70 65 72 61 74 69 6f 6e 73 3b 0d 0a 09 44 57 Operations;...DW
0ba0: 4f 52 44 20 52 65 61 64 4f 70 65 72 61 74 69 6f ORD ReadOperatio
0bb0: 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 52 61 6e 64 ns;...DWORD Rand
0bc0: 6f 6d 52 65 61 64 4f 70 65 72 61 74 69 6f 6e 73 omReadOperations
0bd0: 3b 0d 0a 09 44 57 4f 52 44 20 52 65 61 64 53 6d ;...DWORD ReadSm
0be0: 62 73 3b 0d 0a 09 44 57 4f 52 44 20 4c 61 72 67 bs;...DWORD Larg
0bf0: 65 52 65 61 64 53 6d 62 73 3b 0d 0a 09 44 57 4f eReadSmbs;...DWO
0c00: 52 44 20 53 6d 61 6c 6c 52 65 61 64 53 6d 62 73 RD SmallReadSmbs
0c10: 3b 0d 0a 09 44 57 4f 52 44 20 57 72 69 74 65 4f ;...DWORD WriteO
0c20: 70 65 72 61 74 69 6f 6e 73 3b 0d 0a 09 44 57 4f perations;...DWO
0c30: 52 44 20 52 61 6e 64 6f 6d 57 72 69 74 65 4f 70 RD RandomWriteOp
0c40: 65 72 61 74 69 6f 6e 73 3b 0d 0a 09 44 57 4f 52 erations;...DWOR
0c50: 44 20 57 72 69 74 65 53 6d 62 73 3b 0d 0a 09 44 D WriteSmbs;...D
0c60: 57 4f 52 44 20 4c 61 72 67 65 57 72 69 74 65 53 WORD LargeWriteS
0c70: 6d 62 73 3b 0d 0a 09 44 57 4f 52 44 20 53 6d 61 mbs;...DWORD Sma
0c80: 6c 6c 57 72 69 74 65 53 6d 62 73 3b 0d 0a 09 44 llWriteSmbs;...D
0c90: 57 4f 52 44 20 52 61 77 52 65 61 64 73 44 65 6e WORD RawReadsDen
0ca0: 69 65 64 3b 0d 0a 09 44 57 4f 52 44 20 52 61 77 ied;...DWORD Raw
0cb0: 57 72 69 74 65 73 44 65 6e 69 65 64 3b 0d 0a 09 WritesDenied;...
0cc0: 44 57 4f 52 44 20 4e 65 74 77 6f 72 6b 45 72 72 DWORD NetworkErr
0cd0: 6f 72 73 3b 0d 0a 09 44 57 4f 52 44 20 53 65 73 ors;...DWORD Ses
0ce0: 73 69 6f 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 46 sions;...DWORD F
0cf0: 61 69 6c 65 64 53 65 73 73 69 6f 6e 73 3b 0d 0a ailedSessions;..
0d00: 09 44 57 4f 52 44 20 52 65 63 6f 6e 6e 65 63 74 .DWORD Reconnect
0d10: 73 3b 0d 0a 09 44 57 4f 52 44 20 43 6f 72 65 43 s;...DWORD CoreC
0d20: 6f 6e 6e 65 63 74 73 3b 0d 0a 09 44 57 4f 52 44 onnects;...DWORD
0d30: 20 4c 61 6e 6d 61 6e 32 30 43 6f 6e 6e 65 63 74 Lanman20Connect
0d40: 73 3b 0d 0a 09 44 57 4f 52 44 20 4c 61 6e 6d 61 s;...DWORD Lanma
0d50: 6e 32 31 43 6f 6e 6e 65 63 74 73 3b 0d 0a 09 44 n21Connects;...D
0d60: 57 4f 52 44 20 4c 61 6e 6d 61 6e 4e 74 43 6f 6e WORD LanmanNtCon
0d70: 6e 65 63 74 73 3b 0d 0a 09 44 57 4f 52 44 20 53 nects;...DWORD S
0d80: 65 72 76 65 72 44 69 73 63 6f 6e 6e 65 63 74 73 erverDisconnects
0d90: 3b 0d 0a 09 44 57 4f 52 44 20 48 75 6e 67 53 65 ;...DWORD HungSe
0da0: 73 73 69 6f 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 ssions;...DWORD
0db0: 55 73 65 43 6f 75 6e 74 3b 0d 0a 09 44 57 4f 52 UseCount;...DWOR
0dc0: 44 20 46 61 69 6c 65 64 55 73 65 43 6f 75 6e 74 D FailedUseCount
0dd0: 3b 0d 0a 09 44 57 4f 52 44 20 43 75 72 72 65 6e ;...DWORD Curren
0de0: 74 43 6f 6d 6d 61 6e 64 73 3b 0d 0a 7d 0d 0a 61 tCommands;..}..a
0df0: 6c 69 61 73 20 53 54 41 54 5f 57 4f 52 4b 53 54 lias STAT_WORKST
0e00: 41 54 49 4f 4e 5f 30 2a 20 50 53 54 41 54 5f 57 ATION_0* PSTAT_W
0e10: 4f 52 4b 53 54 41 54 49 4f 4e 5f 30 2c 20 4c 50 ORKSTATION_0, LP
0e20: 53 54 41 54 5f 57 4f 52 4b 53 54 41 54 49 4f 4e STAT_WORKSTATION
0e30: 5f 30 3b 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 _0;....extern (W
0e40: 69 6e 64 6f 77 73 29 3a 0d 0a 4e 45 54 5f 41 50 indows):..NET_AP
0e50: 49 5f 53 54 41 54 55 53 20 4e 65 74 53 74 61 74 I_STATUS NetStat
0e60: 69 73 74 69 63 73 47 65 74 28 4c 50 57 53 54 52 isticsGet(LPWSTR
0e70: 2c 4c 50 57 53 54 52 2c 44 57 4f 52 44 2c 44 57 ,LPWSTR,DWORD,DW
0e80: 4f 52 44 2c 50 42 59 54 45 2a 29 3b 0d 0a ORD,PBYTE*);..