Hex Artifact Content

Not logged in

Artifact 95dca8c0f3ce0fc0ab7edf045c46895a7991b033:


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 68 61             lmsha
0070: 72 65 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  re.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 68 61 72 65 3b 0d 0a 70 72 61 67 6d 61  lmshare;..pragma
02c0: 28 6c 69 62 2c 20 22 6e 65 74 61 70 69 22 29 3b  (lib, "netapi");
02d0: 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32  ....import win32
02e0: 2e 6c 6d 63 6f 6e 73 3b 0d 0a 70 72 69 76 61 74  .lmcons;..privat
02f0: 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77  e import win32.w
0300: 33 32 61 70 69 2c 20 77 69 6e 33 32 2e 77 69 6e  32api, win32.win
0310: 64 65 66 3b 0d 0a 0d 0a 0d 0a 63 6f 6e 73 74 20  def;......const 
0320: 53 48 41 52 45 5f 4e 45 54 4e 41 4d 45 5f 50 41  SHARE_NETNAME_PA
0330: 52 4d 4e 55 4d 20 20 20 20 20 20 3d 20 31 3b 0d  RMNUM      = 1;.
0340: 0a 63 6f 6e 73 74 20 53 48 41 52 45 5f 54 59 50  .const SHARE_TYP
0350: 45 5f 50 41 52 4d 4e 55 4d 20 20 20 20 20 20 20  E_PARMNUM       
0360: 20 20 3d 20 33 3b 0d 0a 63 6f 6e 73 74 20 53 48    = 3;..const SH
0370: 41 52 45 5f 52 45 4d 41 52 4b 5f 50 41 52 4d 4e  ARE_REMARK_PARMN
0380: 55 4d 20 20 20 20 20 20 20 3d 20 34 3b 0d 0a 63  UM       = 4;..c
0390: 6f 6e 73 74 20 53 48 41 52 45 5f 50 45 52 4d 49  onst SHARE_PERMI
03a0: 53 53 49 4f 4e 53 5f 50 41 52 4d 4e 55 4d 20 20  SSIONS_PARMNUM  
03b0: 3d 20 35 3b 0d 0a 63 6f 6e 73 74 20 53 48 41 52  = 5;..const SHAR
03c0: 45 5f 4d 41 58 5f 55 53 45 53 5f 50 41 52 4d 4e  E_MAX_USES_PARMN
03d0: 55 4d 20 20 20 20 20 3d 20 36 3b 0d 0a 63 6f 6e  UM     = 6;..con
03e0: 73 74 20 53 48 41 52 45 5f 43 55 52 52 45 4e 54  st SHARE_CURRENT
03f0: 5f 55 53 45 53 5f 50 41 52 4d 4e 55 4d 20 3d 20  _USES_PARMNUM = 
0400: 37 3b 0d 0a 63 6f 6e 73 74 20 53 48 41 52 45 5f  7;..const SHARE_
0410: 50 41 54 48 5f 50 41 52 4d 4e 55 4d 20 20 20 20  PATH_PARMNUM    
0420: 20 20 20 20 20 3d 20 38 3b 0d 0a 63 6f 6e 73 74       = 8;..const
0430: 20 53 48 41 52 45 5f 50 41 53 53 57 44 5f 50 41   SHARE_PASSWD_PA
0440: 52 4d 4e 55 4d 20 20 20 20 20 20 20 3d 20 39 3b  RMNUM       = 9;
0450: 0d 0a 63 6f 6e 73 74 20 53 48 41 52 45 5f 46 49  ..const SHARE_FI
0460: 4c 45 5f 53 44 5f 50 41 52 4d 4e 55 4d 20 20 20  LE_SD_PARMNUM   
0470: 20 20 20 3d 20 35 30 31 3b 0d 0a 63 6f 6e 73 74     = 501;..const
0480: 20 53 48 41 52 45 5f 52 45 4d 41 52 4b 5f 49 4e   SHARE_REMARK_IN
0490: 46 4f 4c 45 56 45 4c 20 20 20 3d 20 50 41 52 4d  FOLEVEL   = PARM
04a0: 4e 55 4d 5f 42 41 53 45 5f 49 4e 46 4f 4c 45 56  NUM_BASE_INFOLEV
04b0: 45 4c 20 2b 20 53 48 41 52 45 5f 52 45 4d 41 52  EL + SHARE_REMAR
04c0: 4b 5f 50 41 52 4d 4e 55 4d 3b 0d 0a 63 6f 6e 73  K_PARMNUM;..cons
04d0: 74 20 53 48 41 52 45 5f 4d 41 58 5f 55 53 45 53  t SHARE_MAX_USES
04e0: 5f 49 4e 46 4f 4c 45 56 45 4c 20 3d 20 50 41 52  _INFOLEVEL = PAR
04f0: 4d 4e 55 4d 5f 42 41 53 45 5f 49 4e 46 4f 4c 45  MNUM_BASE_INFOLE
0500: 56 45 4c 20 2b 20 53 48 41 52 45 5f 4d 41 58 5f  VEL + SHARE_MAX_
0510: 55 53 45 53 5f 50 41 52 4d 4e 55 4d 3b 0d 0a 63  USES_PARMNUM;..c
0520: 6f 6e 73 74 20 53 48 41 52 45 5f 46 49 4c 45 5f  onst SHARE_FILE_
0530: 53 44 5f 49 4e 46 4f 4c 45 56 45 4c 20 20 3d 20  SD_INFOLEVEL  = 
0540: 50 41 52 4d 4e 55 4d 5f 42 41 53 45 5f 49 4e 46  PARMNUM_BASE_INF
0550: 4f 4c 45 56 45 4c 20 2b 20 53 48 41 52 45 5f 46  OLEVEL + SHARE_F
0560: 49 4c 45 5f 53 44 5f 50 41 52 4d 4e 55 4d 3b 0d  ILE_SD_PARMNUM;.
0570: 0a 0d 0a 63 6f 6e 73 74 20 53 48 49 31 5f 4e 55  ...const SHI1_NU
0580: 4d 5f 45 4c 45 4d 45 4e 54 53 20 3d 20 34 3b 0d  M_ELEMENTS = 4;.
0590: 0a 63 6f 6e 73 74 20 53 48 49 32 5f 4e 55 4d 5f  .const SHI2_NUM_
05a0: 45 4c 45 4d 45 4e 54 53 20 3d 20 31 30 3b 0d 0a  ELEMENTS = 10;..
05b0: 0d 0a 63 6f 6e 73 74 20 53 54 59 50 45 5f 44 49  ..const STYPE_DI
05c0: 53 4b 54 52 45 45 20 3d 20 30 3b 0d 0a 63 6f 6e  SKTREE = 0;..con
05d0: 73 74 20 53 54 59 50 45 5f 50 52 49 4e 54 51 20  st STYPE_PRINTQ 
05e0: 20 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74 20 53 54    = 1;..const ST
05f0: 59 50 45 5f 44 45 56 49 43 45 20 20 20 3d 20 32  YPE_DEVICE   = 2
0600: 3b 0d 0a 63 6f 6e 73 74 20 53 54 59 50 45 5f 49  ;..const STYPE_I
0610: 50 43 20 20 20 20 20 20 3d 20 33 3b 0d 0a 63 6f  PC      = 3;..co
0620: 6e 73 74 20 53 54 59 50 45 5f 44 46 53 20 20 20  nst STYPE_DFS   
0630: 20 20 20 3d 20 31 30 30 3b 0d 0a 63 6f 6e 73 74     = 100;..const
0640: 20 53 54 59 50 45 5f 53 50 45 43 49 41 4c 20 20   STYPE_SPECIAL  
0650: 3d 20 30 78 38 30 30 30 30 30 30 30 3b 0d 0a 0d  = 0x80000000;...
0660: 0a 63 6f 6e 73 74 20 44 57 4f 52 44 20 53 48 49  .const DWORD SHI
0670: 5f 55 53 45 53 5f 55 4e 4c 49 4d 49 54 45 44 20  _USES_UNLIMITED 
0680: 3d 20 2d 31 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 53  = -1;....const S
0690: 45 53 53 5f 47 55 45 53 54 20 3d 20 31 3b 0d 0a  ESS_GUEST = 1;..
06a0: 63 6f 6e 73 74 20 53 45 53 53 5f 4e 4f 45 4e 43  const SESS_NOENC
06b0: 52 59 50 54 49 4f 4e 20 3d 20 32 3b 0d 0a 63 6f  RYPTION = 2;..co
06c0: 6e 73 74 20 53 45 53 49 31 5f 4e 55 4d 5f 45 4c  nst SESI1_NUM_EL
06d0: 45 4d 45 4e 54 53 20 3d 20 38 3b 0d 0a 63 6f 6e  EMENTS = 8;..con
06e0: 73 74 20 53 45 53 49 32 5f 4e 55 4d 5f 45 4c 45  st SESI2_NUM_ELE
06f0: 4d 45 4e 54 53 20 3d 20 39 3b 0d 0a 0d 0a 63 6f  MENTS = 9;....co
0700: 6e 73 74 20 50 45 52 4d 5f 46 49 4c 45 5f 52 45  nst PERM_FILE_RE
0710: 41 44 20 20 20 3d 20 31 3b 0d 0a 63 6f 6e 73 74  AD   = 1;..const
0720: 20 50 45 52 4d 5f 46 49 4c 45 5f 57 52 49 54 45   PERM_FILE_WRITE
0730: 20 20 3d 20 32 3b 0d 0a 63 6f 6e 73 74 20 50 45    = 2;..const PE
0740: 52 4d 5f 46 49 4c 45 5f 43 52 45 41 54 45 20 3d  RM_FILE_CREATE =
0750: 20 34 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 46 49   4;....struct FI
0760: 4c 45 5f 49 4e 46 4f 5f 32 20 7b 0d 0a 09 44 57  LE_INFO_2 {...DW
0770: 4f 52 44 20 66 69 32 5f 69 64 3b 0d 0a 7d 0d 0a  ORD fi2_id;..}..
0780: 61 6c 69 61 73 20 46 49 4c 45 5f 49 4e 46 4f 5f  alias FILE_INFO_
0790: 32 2a 20 50 46 49 4c 45 5f 49 4e 46 4f 5f 32 2c  2* PFILE_INFO_2,
07a0: 20 4c 50 46 49 4c 45 5f 49 4e 46 4f 5f 32 3b 0d   LPFILE_INFO_2;.
07b0: 0a 0d 0a 73 74 72 75 63 74 20 46 49 4c 45 5f 49  ...struct FILE_I
07c0: 4e 46 4f 5f 33 20 7b 0d 0a 09 44 57 4f 52 44 20  NFO_3 {...DWORD 
07d0: 66 69 33 5f 69 64 3b 0d 0a 09 44 57 4f 52 44 20  fi3_id;...DWORD 
07e0: 66 69 33 5f 70 65 72 6d 69 73 73 69 6f 6e 73 3b  fi3_permissions;
07f0: 0d 0a 09 44 57 4f 52 44 20 66 69 33 5f 6e 75 6d  ...DWORD fi3_num
0800: 5f 6c 6f 63 6b 73 3b 0d 0a 09 4c 50 54 53 54 52  _locks;...LPTSTR
0810: 20 66 69 33 5f 70 61 74 68 6e 61 6d 65 3b 0d 0a   fi3_pathname;..
0820: 09 4c 50 54 53 54 52 20 66 69 33 5f 75 73 65 72  .LPTSTR fi3_user
0830: 6e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  name;..}..alias 
0840: 46 49 4c 45 5f 49 4e 46 4f 5f 33 2a 20 50 46 49  FILE_INFO_3* PFI
0850: 4c 45 5f 49 4e 46 4f 5f 33 2c 20 4c 50 46 49 4c  LE_INFO_3, LPFIL
0860: 45 5f 49 4e 46 4f 5f 33 3b 0d 0a 0d 0a 73 74 72  E_INFO_3;....str
0870: 75 63 74 20 53 48 41 52 45 5f 49 4e 46 4f 5f 30  uct SHARE_INFO_0
0880: 20 7b 0d 0a 09 4c 50 54 53 54 52 20 73 68 69 30   {...LPTSTR shi0
0890: 5f 6e 65 74 6e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c  _netname;..}..al
08a0: 69 61 73 20 53 48 41 52 45 5f 49 4e 46 4f 5f 30  ias SHARE_INFO_0
08b0: 2a 20 50 53 48 41 52 45 5f 49 4e 46 4f 5f 30 2c  * PSHARE_INFO_0,
08c0: 20 4c 50 53 48 41 52 45 5f 49 4e 46 4f 5f 30 3b   LPSHARE_INFO_0;
08d0: 0d 0a 0d 0a 73 74 72 75 63 74 20 53 48 41 52 45  ....struct SHARE
08e0: 5f 49 4e 46 4f 5f 31 20 7b 0d 0a 09 4c 50 54 53  _INFO_1 {...LPTS
08f0: 54 52 20 73 68 69 31 5f 6e 65 74 6e 61 6d 65 3b  TR shi1_netname;
0900: 0d 0a 09 44 57 4f 52 44 20 73 68 69 31 5f 74 79  ...DWORD shi1_ty
0910: 70 65 3b 0d 0a 09 4c 50 54 53 54 52 20 73 68 69  pe;...LPTSTR shi
0920: 31 5f 72 65 6d 61 72 6b 3b 0d 0a 7d 0d 0a 61 6c  1_remark;..}..al
0930: 69 61 73 20 53 48 41 52 45 5f 49 4e 46 4f 5f 31  ias SHARE_INFO_1
0940: 2a 20 50 53 48 41 52 45 5f 49 4e 46 4f 5f 31 2c  * PSHARE_INFO_1,
0950: 20 4c 50 53 48 41 52 45 5f 49 4e 46 4f 5f 31 3b   LPSHARE_INFO_1;
0960: 0d 0a 0d 0a 73 74 72 75 63 74 20 53 48 41 52 45  ....struct SHARE
0970: 5f 49 4e 46 4f 5f 32 20 7b 0d 0a 09 4c 50 54 53  _INFO_2 {...LPTS
0980: 54 52 20 73 68 69 32 5f 6e 65 74 6e 61 6d 65 3b  TR shi2_netname;
0990: 0d 0a 09 44 57 4f 52 44 20 73 68 69 32 5f 74 79  ...DWORD shi2_ty
09a0: 70 65 3b 0d 0a 09 4c 50 54 53 54 52 20 73 68 69  pe;...LPTSTR shi
09b0: 32 5f 72 65 6d 61 72 6b 3b 0d 0a 09 44 57 4f 52  2_remark;...DWOR
09c0: 44 20 73 68 69 32 5f 70 65 72 6d 69 73 73 69 6f  D shi2_permissio
09d0: 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 73 68 69 32  ns;...DWORD shi2
09e0: 5f 6d 61 78 5f 75 73 65 73 3b 0d 0a 09 44 57 4f  _max_uses;...DWO
09f0: 52 44 20 73 68 69 32 5f 63 75 72 72 65 6e 74 5f  RD shi2_current_
0a00: 75 73 65 73 3b 0d 0a 09 4c 50 54 53 54 52 20 73  uses;...LPTSTR s
0a10: 68 69 32 5f 70 61 74 68 3b 0d 0a 09 4c 50 54 53  hi2_path;...LPTS
0a20: 54 52 20 73 68 69 32 5f 70 61 73 73 77 64 3b 0d  TR shi2_passwd;.
0a30: 0a 7d 0d 0a 61 6c 69 61 73 20 53 48 41 52 45 5f  .}..alias SHARE_
0a40: 49 4e 46 4f 5f 32 2a 20 50 53 48 41 52 45 5f 49  INFO_2* PSHARE_I
0a50: 4e 46 4f 5f 32 2c 20 4c 50 53 48 41 52 45 5f 49  NFO_2, LPSHARE_I
0a60: 4e 46 4f 5f 32 3b 0d 0a 0d 0a 73 74 72 75 63 74  NFO_2;....struct
0a70: 20 53 48 41 52 45 5f 49 4e 46 4f 5f 35 30 32 20   SHARE_INFO_502 
0a80: 7b 0d 0a 09 4c 50 54 53 54 52 20 73 68 69 35 30  {...LPTSTR shi50
0a90: 32 5f 6e 65 74 6e 61 6d 65 3b 0d 0a 09 44 57 4f  2_netname;...DWO
0aa0: 52 44 20 73 68 69 35 30 32 5f 74 79 70 65 3b 0d  RD shi502_type;.
0ab0: 0a 09 4c 50 54 53 54 52 20 73 68 69 35 30 32 5f  ..LPTSTR shi502_
0ac0: 72 65 6d 61 72 6b 3b 0d 0a 09 44 57 4f 52 44 20  remark;...DWORD 
0ad0: 73 68 69 35 30 32 5f 70 65 72 6d 69 73 73 69 6f  shi502_permissio
0ae0: 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 73 68 69 35  ns;...DWORD shi5
0af0: 30 32 5f 6d 61 78 5f 75 73 65 73 3b 0d 0a 09 44  02_max_uses;...D
0b00: 57 4f 52 44 20 73 68 69 35 30 32 5f 63 75 72 72  WORD shi502_curr
0b10: 65 6e 74 5f 75 73 65 73 3b 0d 0a 09 4c 50 54 53  ent_uses;...LPTS
0b20: 54 52 20 73 68 69 35 30 32 5f 70 61 74 68 3b 0d  TR shi502_path;.
0b30: 0a 09 4c 50 54 53 54 52 20 73 68 69 35 30 32 5f  ..LPTSTR shi502_
0b40: 70 61 73 73 77 64 3b 0d 0a 09 44 57 4f 52 44 20  passwd;...DWORD 
0b50: 73 68 69 35 30 32 5f 72 65 73 65 72 76 65 64 3b  shi502_reserved;
0b60: 0d 0a 09 50 53 45 43 55 52 49 54 59 5f 44 45 53  ...PSECURITY_DES
0b70: 43 52 49 50 54 4f 52 20 73 68 69 35 30 32 5f 73  CRIPTOR shi502_s
0b80: 65 63 75 72 69 74 79 5f 64 65 73 63 72 69 70 74  ecurity_descript
0b90: 6f 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 48  or;..}..alias SH
0ba0: 41 52 45 5f 49 4e 46 4f 5f 35 30 32 2a 20 50 53  ARE_INFO_502* PS
0bb0: 48 41 52 45 5f 49 4e 46 4f 5f 35 30 32 2c 20 4c  HARE_INFO_502, L
0bc0: 50 53 48 41 52 45 5f 49 4e 46 4f 5f 35 30 32 3b  PSHARE_INFO_502;
0bd0: 0d 0a 0d 0a 73 74 72 75 63 74 20 53 48 41 52 45  ....struct SHARE
0be0: 5f 49 4e 46 4f 5f 31 30 30 34 20 7b 0d 0a 09 4c  _INFO_1004 {...L
0bf0: 50 54 53 54 52 20 73 68 69 31 30 30 34 5f 72 65  PTSTR shi1004_re
0c00: 6d 61 72 6b 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  mark;..}..alias 
0c10: 53 48 41 52 45 5f 49 4e 46 4f 5f 31 30 30 34 2a  SHARE_INFO_1004*
0c20: 20 50 53 48 41 52 45 5f 49 4e 46 4f 5f 31 30 30   PSHARE_INFO_100
0c30: 34 2c 20 4c 50 53 48 41 52 45 5f 49 4e 46 4f 5f  4, LPSHARE_INFO_
0c40: 31 30 30 34 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  1004;....struct 
0c50: 53 48 41 52 45 5f 49 4e 46 4f 5f 31 30 30 36 20  SHARE_INFO_1006 
0c60: 7b 0d 0a 09 44 57 4f 52 44 20 73 68 69 31 30 30  {...DWORD shi100
0c70: 36 5f 6d 61 78 5f 75 73 65 73 3b 0d 0a 7d 0d 0a  6_max_uses;..}..
0c80: 61 6c 69 61 73 20 53 48 41 52 45 5f 49 4e 46 4f  alias SHARE_INFO
0c90: 5f 31 30 30 36 2a 20 50 53 48 41 52 45 5f 49 4e  _1006* PSHARE_IN
0ca0: 46 4f 5f 31 30 30 36 2c 20 4c 50 53 48 41 52 45  FO_1006, LPSHARE
0cb0: 5f 49 4e 46 4f 5f 31 30 30 36 3b 0d 0a 0d 0a 73  _INFO_1006;....s
0cc0: 74 72 75 63 74 20 53 48 41 52 45 5f 49 4e 46 4f  truct SHARE_INFO
0cd0: 5f 31 35 30 31 20 7b 0d 0a 09 44 57 4f 52 44 20  _1501 {...DWORD 
0ce0: 73 68 69 31 35 30 31 5f 72 65 73 65 72 76 65 64  shi1501_reserved
0cf0: 3b 0d 0a 09 50 53 45 43 55 52 49 54 59 5f 44 45  ;...PSECURITY_DE
0d00: 53 43 52 49 50 54 4f 52 20 73 68 69 31 35 30 31  SCRIPTOR shi1501
0d10: 5f 73 65 63 75 72 69 74 79 5f 64 65 73 63 72 69  _security_descri
0d20: 70 74 6f 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ptor;..}..alias 
0d30: 53 48 41 52 45 5f 49 4e 46 4f 5f 31 35 30 31 2a  SHARE_INFO_1501*
0d40: 20 50 53 48 41 52 45 5f 49 4e 46 4f 5f 31 35 30   PSHARE_INFO_150
0d50: 31 2c 20 4c 50 53 48 41 52 45 5f 49 4e 46 4f 5f  1, LPSHARE_INFO_
0d60: 31 35 30 31 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  1501;....struct 
0d70: 53 45 53 53 49 4f 4e 5f 49 4e 46 4f 5f 30 20 7b  SESSION_INFO_0 {
0d80: 0d 0a 09 4c 50 57 53 54 52 20 73 65 73 69 30 5f  ...LPWSTR sesi0_
0d90: 63 6e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  cname;..}..alias
0da0: 20 53 45 53 53 49 4f 4e 5f 49 4e 46 4f 5f 30 2a   SESSION_INFO_0*
0db0: 20 50 53 45 53 53 49 4f 4e 5f 49 4e 46 4f 5f 30   PSESSION_INFO_0
0dc0: 2c 20 4c 50 53 45 53 53 49 4f 4e 5f 49 4e 46 4f  , LPSESSION_INFO
0dd0: 5f 30 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 53 45  _0;....struct SE
0de0: 53 53 49 4f 4e 5f 49 4e 46 4f 5f 31 20 7b 0d 0a  SSION_INFO_1 {..
0df0: 09 4c 50 54 53 54 52 20 73 65 73 69 31 5f 63 6e  .LPTSTR sesi1_cn
0e00: 61 6d 65 3b 0d 0a 09 4c 50 54 53 54 52 20 73 65  ame;...LPTSTR se
0e10: 73 69 31 5f 75 73 65 72 6e 61 6d 65 3b 0d 0a 09  si1_username;...
0e20: 44 57 4f 52 44 20 73 65 73 69 31 5f 6e 75 6d 5f  DWORD sesi1_num_
0e30: 6f 70 65 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 73  opens;...DWORD s
0e40: 65 73 69 31 5f 74 69 6d 65 3b 0d 0a 09 44 57 4f  esi1_time;...DWO
0e50: 52 44 20 73 65 73 69 31 5f 69 64 6c 65 5f 74 69  RD sesi1_idle_ti
0e60: 6d 65 3b 0d 0a 09 44 57 4f 52 44 20 73 65 73 69  me;...DWORD sesi
0e70: 31 5f 75 73 65 72 5f 66 6c 61 67 73 3b 0d 0a 7d  1_user_flags;..}
0e80: 0d 0a 61 6c 69 61 73 20 53 45 53 53 49 4f 4e 5f  ..alias SESSION_
0e90: 49 4e 46 4f 5f 31 2a 20 50 53 45 53 53 49 4f 4e  INFO_1* PSESSION
0ea0: 5f 49 4e 46 4f 5f 31 2c 20 4c 50 53 45 53 53 49  _INFO_1, LPSESSI
0eb0: 4f 4e 5f 49 4e 46 4f 5f 31 3b 0d 0a 0d 0a 73 74  ON_INFO_1;....st
0ec0: 72 75 63 74 20 53 45 53 53 49 4f 4e 5f 49 4e 46  ruct SESSION_INF
0ed0: 4f 5f 32 20 7b 0d 0a 09 4c 50 54 53 54 52 20 73  O_2 {...LPTSTR s
0ee0: 65 73 69 32 5f 63 6e 61 6d 65 3b 0d 0a 09 4c 50  esi2_cname;...LP
0ef0: 54 53 54 52 20 73 65 73 69 32 5f 75 73 65 72 6e  TSTR sesi2_usern
0f00: 61 6d 65 3b 0d 0a 09 44 57 4f 52 44 20 73 65 73  ame;...DWORD ses
0f10: 69 32 5f 6e 75 6d 5f 6f 70 65 6e 73 3b 0d 0a 09  i2_num_opens;...
0f20: 44 57 4f 52 44 20 73 65 73 69 32 5f 74 69 6d 65  DWORD sesi2_time
0f30: 3b 0d 0a 09 44 57 4f 52 44 20 73 65 73 69 32 5f  ;...DWORD sesi2_
0f40: 69 64 6c 65 5f 74 69 6d 65 3b 0d 0a 09 44 57 4f  idle_time;...DWO
0f50: 52 44 20 73 65 73 69 32 5f 75 73 65 72 5f 66 6c  RD sesi2_user_fl
0f60: 61 67 73 3b 0d 0a 09 4c 50 57 53 54 52 20 73 65  ags;...LPWSTR se
0f70: 73 69 32 5f 63 6c 74 79 70 65 5f 6e 61 6d 65 3b  si2_cltype_name;
0f80: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 45 53 53 49  ..}..alias SESSI
0f90: 4f 4e 5f 49 4e 46 4f 5f 32 2a 20 50 53 45 53 53  ON_INFO_2* PSESS
0fa0: 49 4f 4e 5f 49 4e 46 4f 5f 32 2c 20 4c 50 53 45  ION_INFO_2, LPSE
0fb0: 53 53 49 4f 4e 5f 49 4e 46 4f 5f 32 3b 0d 0a 0d  SSION_INFO_2;...
0fc0: 0a 73 74 72 75 63 74 20 53 45 53 53 49 4f 4e 5f  .struct SESSION_
0fd0: 49 4e 46 4f 5f 31 30 20 7b 0d 0a 09 4c 50 57 53  INFO_10 {...LPWS
0fe0: 54 52 20 73 65 73 69 31 30 5f 63 6e 61 6d 65 3b  TR sesi10_cname;
0ff0: 0d 0a 09 4c 50 57 53 54 52 20 73 65 73 69 31 30  ...LPWSTR sesi10
1000: 5f 75 73 65 72 6e 61 6d 65 3b 0d 0a 09 44 57 4f  _username;...DWO
1010: 52 44 20 73 65 73 69 31 30 5f 74 69 6d 65 3b 0d  RD sesi10_time;.
1020: 0a 09 44 57 4f 52 44 20 73 65 73 69 31 30 5f 69  ..DWORD sesi10_i
1030: 64 6c 65 5f 74 69 6d 65 3b 0d 0a 7d 0d 0a 61 6c  dle_time;..}..al
1040: 69 61 73 20 53 45 53 53 49 4f 4e 5f 49 4e 46 4f  ias SESSION_INFO
1050: 5f 31 30 2a 20 50 53 45 53 53 49 4f 4e 5f 49 4e  _10* PSESSION_IN
1060: 46 4f 5f 31 30 2c 20 4c 50 53 45 53 53 49 4f 4e  FO_10, LPSESSION
1070: 5f 49 4e 46 4f 5f 31 30 3b 0d 0a 0d 0a 73 74 72  _INFO_10;....str
1080: 75 63 74 20 53 45 53 53 49 4f 4e 5f 49 4e 46 4f  uct SESSION_INFO
1090: 5f 35 30 32 20 7b 0d 0a 09 4c 50 57 53 54 52 20  _502 {...LPWSTR 
10a0: 73 65 73 69 35 30 32 5f 63 6e 61 6d 65 3b 0d 0a  sesi502_cname;..
10b0: 09 4c 50 57 53 54 52 20 73 65 73 69 35 30 32 5f  .LPWSTR sesi502_
10c0: 75 73 65 72 6e 61 6d 65 3b 0d 0a 09 44 57 4f 52  username;...DWOR
10d0: 44 20 73 65 73 69 35 30 32 5f 6e 75 6d 5f 6f 70  D sesi502_num_op
10e0: 65 6e 73 3b 0d 0a 09 44 57 4f 52 44 20 73 65 73  ens;...DWORD ses
10f0: 69 35 30 32 5f 74 69 6d 65 3b 0d 0a 09 44 57 4f  i502_time;...DWO
1100: 52 44 20 73 65 73 69 35 30 32 5f 69 64 6c 65 5f  RD sesi502_idle_
1110: 74 69 6d 65 3b 0d 0a 09 44 57 4f 52 44 20 73 65  time;...DWORD se
1120: 73 69 35 30 32 5f 75 73 65 72 5f 66 6c 61 67 73  si502_user_flags
1130: 3b 0d 0a 09 4c 50 57 53 54 52 20 73 65 73 69 35  ;...LPWSTR sesi5
1140: 30 32 5f 63 6c 74 79 70 65 5f 6e 61 6d 65 3b 0d  02_cltype_name;.
1150: 0a 09 4c 50 57 53 54 52 20 73 65 73 69 35 30 32  ..LPWSTR sesi502
1160: 5f 74 72 61 6e 73 70 6f 72 74 3b 0d 0a 7d 0d 0a  _transport;..}..
1170: 61 6c 69 61 73 20 53 45 53 53 49 4f 4e 5f 49 4e  alias SESSION_IN
1180: 46 4f 5f 35 30 32 2a 20 50 53 45 53 53 49 4f 4e  FO_502* PSESSION
1190: 5f 49 4e 46 4f 5f 35 30 32 2c 20 4c 50 53 45 53  _INFO_502, LPSES
11a0: 53 49 4f 4e 5f 49 4e 46 4f 5f 35 30 32 3b 0d 0a  SION_INFO_502;..
11b0: 0d 0a 73 74 72 75 63 74 20 43 4f 4e 4e 45 43 54  ..struct CONNECT
11c0: 49 4f 4e 5f 49 4e 46 4f 5f 30 20 7b 0d 0a 09 44  ION_INFO_0 {...D
11d0: 57 4f 52 44 20 63 6f 6e 69 30 5f 69 64 3b 0d 0a  WORD coni0_id;..
11e0: 7d 0d 0a 61 6c 69 61 73 20 43 4f 4e 4e 45 43 54  }..alias CONNECT
11f0: 49 4f 4e 5f 49 4e 46 4f 5f 30 2a 20 50 43 4f 4e  ION_INFO_0* PCON
1200: 4e 45 43 54 49 4f 4e 5f 49 4e 46 4f 5f 30 2c 20  NECTION_INFO_0, 
1210: 4c 50 43 4f 4e 4e 45 43 54 49 4f 4e 5f 49 4e 46  LPCONNECTION_INF
1220: 4f 5f 30 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 43  O_0;....struct C
1230: 4f 4e 4e 45 43 54 49 4f 4e 5f 49 4e 46 4f 5f 31  ONNECTION_INFO_1
1240: 20 7b 0d 0a 09 44 57 4f 52 44 20 63 6f 6e 69 31   {...DWORD coni1
1250: 5f 69 64 3b 0d 0a 09 44 57 4f 52 44 20 63 6f 6e  _id;...DWORD con
1260: 69 31 5f 74 79 70 65 3b 0d 0a 09 44 57 4f 52 44  i1_type;...DWORD
1270: 20 63 6f 6e 69 31 5f 6e 75 6d 5f 6f 70 65 6e 73   coni1_num_opens
1280: 3b 0d 0a 09 44 57 4f 52 44 20 63 6f 6e 69 31 5f  ;...DWORD coni1_
1290: 6e 75 6d 5f 75 73 65 72 73 3b 0d 0a 09 44 57 4f  num_users;...DWO
12a0: 52 44 20 63 6f 6e 69 31 5f 74 69 6d 65 3b 0d 0a  RD coni1_time;..
12b0: 09 4c 50 57 53 54 52 20 63 6f 6e 69 31 5f 75 73  .LPWSTR coni1_us
12c0: 65 72 6e 61 6d 65 3b 0d 0a 09 4c 50 57 53 54 52  ername;...LPWSTR
12d0: 20 63 6f 6e 69 31 5f 6e 65 74 6e 61 6d 65 3b 0d   coni1_netname;.
12e0: 0a 7d 0d 0a 61 6c 69 61 73 20 43 4f 4e 4e 45 43  .}..alias CONNEC
12f0: 54 49 4f 4e 5f 49 4e 46 4f 5f 31 2a 20 50 43 4f  TION_INFO_1* PCO
1300: 4e 4e 45 43 54 49 4f 4e 5f 49 4e 46 4f 5f 31 2c  NNECTION_INFO_1,
1310: 20 4c 50 43 4f 4e 4e 45 43 54 49 4f 4e 5f 49 4e   LPCONNECTION_IN
1320: 46 4f 5f 31 3b 0d 0a 0d 0a 65 78 74 65 72 6e 20  FO_1;....extern 
1330: 28 57 69 6e 64 6f 77 73 29 20 7b 0d 0a 4e 45 54  (Windows) {..NET
1340: 5f 41 50 49 5f 53 54 41 54 55 53 20 4e 65 74 53  _API_STATUS NetS
1350: 68 61 72 65 41 64 64 28 4c 50 57 53 54 52 2c 44  hareAdd(LPWSTR,D
1360: 57 4f 52 44 2c 50 42 59 54 45 2c 50 44 57 4f 52  WORD,PBYTE,PDWOR
1370: 44 29 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53 54 41  D);..NET_API_STA
1380: 54 55 53 20 4e 65 74 53 68 61 72 65 45 6e 75 6d  TUS NetShareEnum
1390: 28 4c 50 57 53 54 52 2c 44 57 4f 52 44 2c 50 42  (LPWSTR,DWORD,PB
13a0: 59 54 45 2a 2c 44 57 4f 52 44 2c 50 44 57 4f 52  YTE*,DWORD,PDWOR
13b0: 44 2c 50 44 57 4f 52 44 2c 50 44 57 4f 52 44 29  D,PDWORD,PDWORD)
13c0: 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53 54 41 54 55  ;..NET_API_STATU
13d0: 53 20 4e 65 74 53 68 61 72 65 45 6e 75 6d 53 74  S NetShareEnumSt
13e0: 69 63 6b 79 28 4c 50 57 53 54 52 2c 44 57 4f 52  icky(LPWSTR,DWOR
13f0: 44 2c 50 42 59 54 45 2a 2c 44 57 4f 52 44 2c 50  D,PBYTE*,DWORD,P
1400: 44 57 4f 52 44 2c 50 44 57 4f 52 44 2c 50 44 57  DWORD,PDWORD,PDW
1410: 4f 52 44 20 72 65 73 75 6d 65 5f 68 61 6e 64 6c  ORD resume_handl
1420: 65 29 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53 54 41  e);..NET_API_STA
1430: 54 55 53 20 4e 65 74 53 68 61 72 65 47 65 74 49  TUS NetShareGetI
1440: 6e 66 6f 28 4c 50 57 53 54 52 2c 4c 50 57 53 54  nfo(LPWSTR,LPWST
1450: 52 2c 44 57 4f 52 44 2c 50 42 59 54 45 2a 29 3b  R,DWORD,PBYTE*);
1460: 0d 0a 4e 45 54 5f 41 50 49 5f 53 54 41 54 55 53  ..NET_API_STATUS
1470: 20 4e 65 74 53 68 61 72 65 53 65 74 49 6e 66 6f   NetShareSetInfo
1480: 28 4c 50 57 53 54 52 2c 4c 50 57 53 54 52 2c 44  (LPWSTR,LPWSTR,D
1490: 57 4f 52 44 2c 50 42 59 54 45 2c 50 44 57 4f 52  WORD,PBYTE,PDWOR
14a0: 44 29 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53 54 41  D);..NET_API_STA
14b0: 54 55 53 20 4e 65 74 53 68 61 72 65 44 65 6c 28  TUS NetShareDel(
14c0: 4c 50 57 53 54 52 2c 4c 50 57 53 54 52 2c 44 57  LPWSTR,LPWSTR,DW
14d0: 4f 52 44 29 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53  ORD);..NET_API_S
14e0: 54 41 54 55 53 20 4e 65 74 53 68 61 72 65 44 65  TATUS NetShareDe
14f0: 6c 53 74 69 63 6b 79 28 4c 50 57 53 54 52 2c 4c  lSticky(LPWSTR,L
1500: 50 57 53 54 52 2c 44 57 4f 52 44 29 3b 0d 0a 4e  PWSTR,DWORD);..N
1510: 45 54 5f 41 50 49 5f 53 54 41 54 55 53 20 4e 65  ET_API_STATUS Ne
1520: 74 53 68 61 72 65 43 68 65 63 6b 28 4c 50 57 53  tShareCheck(LPWS
1530: 54 52 2c 4c 50 57 53 54 52 2c 50 44 57 4f 52 44  TR,LPWSTR,PDWORD
1540: 29 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53 54 41 54  );..NET_API_STAT
1550: 55 53 20 4e 65 74 53 65 73 73 69 6f 6e 45 6e 75  US NetSessionEnu
1560: 6d 28 4c 50 57 53 54 52 2c 4c 50 57 53 54 52 2c  m(LPWSTR,LPWSTR,
1570: 4c 50 57 53 54 52 2c 44 57 4f 52 44 2c 50 42 59  LPWSTR,DWORD,PBY
1580: 54 45 2a 2c 44 57 4f 52 44 2c 50 44 57 4f 52 44  TE*,DWORD,PDWORD
1590: 2c 50 44 57 4f 52 44 2c 50 44 57 4f 52 44 29 3b  ,PDWORD,PDWORD);
15a0: 0d 0a 4e 45 54 5f 41 50 49 5f 53 54 41 54 55 53  ..NET_API_STATUS
15b0: 20 4e 65 74 53 65 73 73 69 6f 6e 44 65 6c 28 4c   NetSessionDel(L
15c0: 50 57 53 54 52 2c 4c 50 57 53 54 52 2c 4c 50 57  PWSTR,LPWSTR,LPW
15d0: 53 54 52 29 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53  STR);..NET_API_S
15e0: 54 41 54 55 53 20 4e 65 74 53 65 73 73 69 6f 6e  TATUS NetSession
15f0: 47 65 74 49 6e 66 6f 28 4c 50 57 53 54 52 2c 4c  GetInfo(LPWSTR,L
1600: 50 57 53 54 52 2c 4c 50 57 53 54 52 2c 44 57 4f  PWSTR,LPWSTR,DWO
1610: 52 44 2c 50 42 59 54 45 2a 29 3b 0d 0a 4e 45 54  RD,PBYTE*);..NET
1620: 5f 41 50 49 5f 53 54 41 54 55 53 20 4e 65 74 43  _API_STATUS NetC
1630: 6f 6e 6e 65 63 74 69 6f 6e 45 6e 75 6d 28 4c 50  onnectionEnum(LP
1640: 57 53 54 52 2c 4c 50 57 53 54 52 2c 44 57 4f 52  WSTR,LPWSTR,DWOR
1650: 44 2c 50 42 59 54 45 2a 2c 44 57 4f 52 44 2c 50  D,PBYTE*,DWORD,P
1660: 44 57 4f 52 44 2c 50 44 57 4f 52 44 2c 50 44 57  DWORD,PDWORD,PDW
1670: 4f 52 44 29 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53  ORD);..NET_API_S
1680: 54 41 54 55 53 20 4e 65 74 46 69 6c 65 43 6c 6f  TATUS NetFileClo
1690: 73 65 28 4c 50 57 53 54 52 2c 44 57 4f 52 44 29  se(LPWSTR,DWORD)
16a0: 3b 0d 0a 4e 45 54 5f 41 50 49 5f 53 54 41 54 55  ;..NET_API_STATU
16b0: 53 20 4e 65 74 46 69 6c 65 45 6e 75 6d 28 4c 50  S NetFileEnum(LP
16c0: 57 53 54 52 2c 4c 50 57 53 54 52 2c 4c 50 57 53  WSTR,LPWSTR,LPWS
16d0: 54 52 2c 44 57 4f 52 44 2c 50 42 59 54 45 2a 2c  TR,DWORD,PBYTE*,
16e0: 44 57 4f 52 44 2c 50 44 57 4f 52 44 2c 50 44 57  DWORD,PDWORD,PDW
16f0: 4f 52 44 2c 50 44 57 4f 52 44 29 3b 0d 0a 4e 45  ORD,PDWORD);..NE
1700: 54 5f 41 50 49 5f 53 54 41 54 55 53 20 4e 65 74  T_API_STATUS Net
1710: 46 69 6c 65 47 65 74 49 6e 66 6f 28 4c 50 57 53  FileGetInfo(LPWS
1720: 54 52 2c 44 57 4f 52 44 2c 44 57 4f 52 44 2c 50  TR,DWORD,DWORD,P
1730: 42 59 54 45 2a 29 3b 0d 0a 7d                    BYTE*);..}