Hex Artifact Content

Not logged in

Artifact 00c58add0720686e7b5388ea366939a8dbe99123:


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 6c 6d 75 73              lmus
0070: 65 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20  e.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 75 73 65 3b 0d 0a 70 72 61 67 6d 61 28 6c  lmuse;..pragma(l
02c0: 69 62 2c 20 22 6e 65 74 61 70 69 33 32 22 29 3b  ib, "netapi32");
02d0: 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32  ....import win32
02e0: 2e 6c 6d 75 73 65 66 6c 67 3b 0d 0a 70 72 69 76  .lmuseflg;..priv
02f0: 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32  ate import win32
0300: 2e 6c 6d 63 6f 6e 73 2c 20 77 69 6e 33 32 2e 77  .lmcons, win32.w
0310: 69 6e 64 65 66 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b  indef;....enum {
0320: 0d 0a 09 55 53 45 5f 4c 4f 43 41 4c 5f 50 41 52  ...USE_LOCAL_PAR
0330: 4d 4e 55 4d 20 3d 20 31 2c 0d 0a 09 55 53 45 5f  MNUM = 1,...USE_
0340: 52 45 4d 4f 54 45 5f 50 41 52 4d 4e 55 4d 2c 0d  REMOTE_PARMNUM,.
0350: 0a 09 55 53 45 5f 50 41 53 53 57 4f 52 44 5f 50  ..USE_PASSWORD_P
0360: 41 52 4d 4e 55 4d 2c 0d 0a 09 55 53 45 5f 41 53  ARMNUM,...USE_AS
0370: 47 54 59 50 45 5f 50 41 52 4d 4e 55 4d 2c 0d 0a  GTYPE_PARMNUM,..
0380: 09 55 53 45 5f 55 53 45 52 4e 41 4d 45 5f 50 41  .USE_USERNAME_PA
0390: 52 4d 4e 55 4d 2c 0d 0a 09 55 53 45 5f 44 4f 4d  RMNUM,...USE_DOM
03a0: 41 49 4e 4e 41 4d 45 5f 50 41 52 4d 4e 55 4d 0d  AINNAME_PARMNUM.
03b0: 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 55  .}....enum {...U
03c0: 53 45 5f 4f 4b 2c 0d 0a 09 55 53 45 5f 50 41 55  SE_OK,...USE_PAU
03d0: 53 45 44 2c 0d 0a 09 55 53 45 5f 53 45 53 53 4c  SED,...USE_SESSL
03e0: 4f 53 54 2c 0d 0a 09 55 53 45 5f 44 49 53 43 4f  OST,...USE_DISCO
03f0: 4e 4e 20 3d 20 55 53 45 5f 53 45 53 53 4c 4f 53  NN = USE_SESSLOS
0400: 54 2c 0d 0a 09 55 53 45 5f 4e 45 54 45 52 52 2c  T,...USE_NETERR,
0410: 0d 0a 09 55 53 45 5f 43 4f 4e 4e 2c 0d 0a 09 55  ...USE_CONN,...U
0420: 53 45 5f 52 45 43 4f 4e 4e 0d 0a 7d 0d 0a 0d 0a  SE_RECONN..}....
0430: 63 6f 6e 73 74 20 44 57 4f 52 44 20 55 53 45 5f  const DWORD USE_
0440: 57 49 4c 44 43 41 52 44 20 3d 20 2d 31 3b 0d 0a  WILDCARD = -1;..
0450: 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 55 53 45 5f 44  ..enum {...USE_D
0460: 49 53 4b 44 45 56 2c 0d 0a 09 55 53 45 5f 53 50  ISKDEV,...USE_SP
0470: 4f 4f 4c 44 45 56 2c 0d 0a 09 55 53 45 5f 43 48  OOLDEV,...USE_CH
0480: 41 52 44 45 56 2c 0d 0a 09 55 53 45 5f 49 50 43  ARDEV,...USE_IPC
0490: 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 55 53  ..}....struct US
04a0: 45 5f 49 4e 46 4f 5f 30 20 7b 0d 0a 09 4c 50 57  E_INFO_0 {...LPW
04b0: 53 54 52 20 75 69 30 5f 6c 6f 63 61 6c 3b 0d 0a  STR ui0_local;..
04c0: 09 4c 50 57 53 54 52 20 75 69 30 5f 72 65 6d 6f  .LPWSTR ui0_remo
04d0: 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 55 53  te;..}..alias US
04e0: 45 5f 49 4e 46 4f 5f 30 2a 20 50 55 53 45 5f 49  E_INFO_0* PUSE_I
04f0: 4e 46 4f 5f 30 2c 20 4c 50 55 53 45 5f 49 4e 46  NFO_0, LPUSE_INF
0500: 4f 5f 30 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 55  O_0;....struct U
0510: 53 45 5f 49 4e 46 4f 5f 31 20 7b 0d 0a 09 4c 50  SE_INFO_1 {...LP
0520: 57 53 54 52 20 75 69 31 5f 6c 6f 63 61 6c 3b 0d  WSTR ui1_local;.
0530: 0a 09 4c 50 57 53 54 52 20 75 69 31 5f 72 65 6d  ..LPWSTR ui1_rem
0540: 6f 74 65 3b 0d 0a 09 4c 50 57 53 54 52 20 75 69  ote;...LPWSTR ui
0550: 31 5f 70 61 73 73 77 6f 72 64 3b 0d 0a 09 44 57  1_password;...DW
0560: 4f 52 44 20 75 69 31 5f 73 74 61 74 75 73 3b 0d  ORD ui1_status;.
0570: 0a 09 44 57 4f 52 44 20 75 69 31 5f 61 73 67 5f  ..DWORD ui1_asg_
0580: 74 79 70 65 3b 0d 0a 09 44 57 4f 52 44 20 75 69  type;...DWORD ui
0590: 31 5f 72 65 66 63 6f 75 6e 74 3b 0d 0a 09 44 57  1_refcount;...DW
05a0: 4f 52 44 20 75 69 31 5f 75 73 65 63 6f 75 6e 74  ORD ui1_usecount
05b0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 55 53 45 5f  ;..}..alias USE_
05c0: 49 4e 46 4f 5f 31 2a 20 50 55 53 45 5f 49 4e 46  INFO_1* PUSE_INF
05d0: 4f 5f 31 2c 20 4c 50 55 53 45 5f 49 4e 46 4f 5f  O_1, LPUSE_INFO_
05e0: 31 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 55 53 45  1;....struct USE
05f0: 5f 49 4e 46 4f 5f 32 20 7b 0d 0a 09 4c 50 57 53  _INFO_2 {...LPWS
0600: 54 52 20 75 69 32 5f 6c 6f 63 61 6c 3b 0d 0a 09  TR ui2_local;...
0610: 4c 50 57 53 54 52 20 75 69 32 5f 72 65 6d 6f 74  LPWSTR ui2_remot
0620: 65 3b 0d 0a 09 4c 50 57 53 54 52 20 75 69 32 5f  e;...LPWSTR ui2_
0630: 70 61 73 73 77 6f 72 64 3b 0d 0a 09 44 57 4f 52  password;...DWOR
0640: 44 20 75 69 32 5f 73 74 61 74 75 73 3b 0d 0a 09  D ui2_status;...
0650: 44 57 4f 52 44 20 75 69 32 5f 61 73 67 5f 74 79  DWORD ui2_asg_ty
0660: 70 65 3b 0d 0a 09 44 57 4f 52 44 20 75 69 32 5f  pe;...DWORD ui2_
0670: 72 65 66 63 6f 75 6e 74 3b 0d 0a 09 44 57 4f 52  refcount;...DWOR
0680: 44 20 75 69 32 5f 75 73 65 63 6f 75 6e 74 3b 0d  D ui2_usecount;.
0690: 0a 09 4c 50 57 53 54 52 20 75 69 32 5f 75 73 65  ..LPWSTR ui2_use
06a0: 72 6e 61 6d 65 3b 0d 0a 09 4c 50 57 53 54 52 20  rname;...LPWSTR 
06b0: 75 69 32 5f 64 6f 6d 61 69 6e 6e 61 6d 65 3b 0d  ui2_domainname;.
06c0: 0a 7d 0d 0a 61 6c 69 61 73 20 55 53 45 5f 49 4e  .}..alias USE_IN
06d0: 46 4f 5f 32 2a 20 50 55 53 45 5f 49 4e 46 4f 5f  FO_2* PUSE_INFO_
06e0: 32 2c 20 4c 50 55 53 45 5f 49 4e 46 4f 5f 32 3b  2, LPUSE_INFO_2;
06f0: 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e 64  ....extern (Wind
0700: 6f 77 73 29 20 7b 0d 0a 09 4e 45 54 5f 41 50 49  ows) {...NET_API
0710: 5f 53 54 41 54 55 53 20 4e 65 74 55 73 65 41 64  _STATUS NetUseAd
0720: 64 28 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 2c  d(LPWSTR, DWORD,
0730: 20 50 42 59 54 45 2c 20 50 44 57 4f 52 44 29 3b   PBYTE, PDWORD);
0740: 0d 0a 09 4e 45 54 5f 41 50 49 5f 53 54 41 54 55  ...NET_API_STATU
0750: 53 20 4e 65 74 55 73 65 44 65 6c 28 4c 50 57 53  S NetUseDel(LPWS
0760: 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52  TR, LPWSTR, DWOR
0770: 44 29 3b 0d 0a 09 4e 45 54 5f 41 50 49 5f 53 54  D);...NET_API_ST
0780: 41 54 55 53 20 4e 65 74 55 73 65 45 6e 75 6d 28  ATUS NetUseEnum(
0790: 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 50  LPWSTR, DWORD, P
07a0: 42 59 54 45 2a 2c 20 44 57 4f 52 44 2c 20 50 44  BYTE*, DWORD, PD
07b0: 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 0d 0a 09  WORD, PDWORD,...
07c0: 20 20 50 44 57 4f 52 44 29 3b 0d 0a 09 4e 45 54    PDWORD);...NET
07d0: 5f 41 50 49 5f 53 54 41 54 55 53 20 4e 65 74 55  _API_STATUS NetU
07e0: 73 65 47 65 74 49 6e 66 6f 28 4c 50 57 53 54 52  seGetInfo(LPWSTR
07f0: 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 2c  , LPWSTR, DWORD,
0800: 20 50 42 59 54 45 2a 29 3b 0d 0a 7d 0d 0a         PBYTE*);..}..