home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 April / Chip_2002-04_cd1.bin / zkuste / delphi / kolekce / d56 / NT.ZIP / NTSecurityDecls.pas < prev    next >
Pascal/Delphi Source File  |  2002-01-19  |  33KB  |  932 lines

  1. unit NTSecurityDecls;
  2.  
  3. interface
  4.  
  5. uses Windows;
  6.  
  7. Const
  8.  
  9. // Event Log Constants
  10.  EVENTLOG_SEQUENTIAL_READ        =$0001;
  11.  EVENTLOG_SEEK_READ              =$0002;
  12.  EVENTLOG_FORWARDS_READ          =$0004;
  13.  EVENTLOG_BACKWARDS_READ         =$0008;
  14.  EVENTLOG_SUCCESS                =$0000;
  15.  EVENTLOG_ERROR_TYPE             =$0001;
  16.  EVENTLOG_WARNING_TYPE           =$0002;
  17.  EVENTLOG_INFORMATION_TYPE       =$0004;
  18.  EVENTLOG_AUDIT_SUCCESS          =$0008;
  19.  EVENTLOG_AUDIT_FAILURE          =$0010;
  20.  EVENTLOG_START_PAIRED_EVENT     =$0001;
  21.  EVENTLOG_END_PAIRED_EVENT       =$0002;
  22.  EVENTLOG_END_ALL_PAIRED_EVENTS  =$0004;
  23.  EVENTLOG_PAIRED_EVENT_ACTIVE    =$0008;
  24.  EVENTLOG_PAIRED_EVENT_INACTIVE  =$0010;
  25.  
  26. // File And Directory Access Rights
  27.  FILE_READ_DATA                  =$0001;     // file & pipe
  28.  FILE_LIST_DIRECTORY             =$0001;     // directory
  29.  FILE_WRITE_DATA                 =$0002;     // file & pipe
  30.  FILE_ADD_FILE                   =$0002;     // directory
  31.  FILE_APPEND_DATA                =$0004;     // file
  32.  FILE_ADD_SUBDIRECTORY           =$0004;     // directory
  33.  FILE_CREATE_PIPE_INSTANCE       =$0004;     // named pipe
  34.  FILE_READ_EA                    =$0008;     // file & directory
  35.  FILE_READ_PROPERTIES            =FILE_READ_EA;
  36.  FILE_WRITE_EA                   =$0010;     // file & directory
  37.  FILE_WRITE_PROPERTIES           =FILE_WRITE_EA;
  38.  FILE_EXECUTE                    =$0020;     // file
  39.  FILE_TRAVERSE                   =$0020;     // directory
  40.  FILE_DELETE_CHILD               =$0040;     // directory
  41.  FILE_READ_ATTRIBUTES            =$0080;     // all
  42.  FILE_WRITE_ATTRIBUTES           =$0100;     // all
  43.  FILE_ALL_ACCESS                 =(STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or $1FF);
  44.  FILE_GENERIC_READ               =(STANDARD_RIGHTS_READ Or FILE_READ_DATA Or FILE_READ_ATTRIBUTES Or FILE_READ_EA Or SYNCHRONIZE);
  45.  FILE_GENERIC_WRITE              =(STANDARD_RIGHTS_WRITE Or FILE_WRITE_DATA Or FILE_WRITE_ATTRIBUTES Or FILE_WRITE_EA Or FILE_APPEND_DATA Or SYNCHRONIZE);
  46.  FILE_GENERIC_EXECUTE            =(STANDARD_RIGHTS_EXECUTE Or FILE_READ_ATTRIBUTES Or FILE_EXECUTE Or SYNCHRONIZE);
  47.  
  48. // Access Types
  49.  ACCESS_MASK_DELETE                   =$00010000;
  50.  ACCESS_MASK_READ_CONTROL             =$00020000;
  51.  ACCESS_MASK_WRITE_DAC                =$00040000;
  52.  ACCESS_MASK_WRITE_OWNER              =$00080000;
  53.  ACCESS_MASK_SYNCHRONIZE              =$00100000;
  54.  ACCESS_MASK_STANDARD_RIGHTS_REQUIRED =$000F0000;
  55.  ACCESS_MASK_STANDARD_RIGHTS_READ     =READ_CONTROL;
  56.  ACCESS_MASK_STANDARD_RIGHTS_WRITE    =READ_CONTROL;
  57.  ACCESS_MASK_STANDARD_RIGHTS_EXECUTE  =READ_CONTROL;
  58.  ACCESS_MASK_STANDARD_RIGHTS_ALL      =$001F0000;
  59.  ACCESS_MASK_SPECIFIC_RIGHTS_ALL      =$0000FFFF;
  60.  
  61. // AccessSystemAcl access type
  62.  ACCESS_SYSTEM_SECURITY          =$01000000;
  63.  
  64. // MaximumAllowed access type
  65.  MAXIMUM_ALLOWED                 =$02000000;
  66.  
  67. //  These are the generic rights.
  68.  GENERIC_READ                    =$80000000;
  69.  GENERIC_WRITE                   =$40000000;
  70.  GENERIC_EXECUTE                 =$20000000;
  71.  GENERIC_ALL                     =$10000000;
  72.  
  73. // Well known SID's
  74.  SECURITY_NULL_SID_AUTHORITY     =[0,0,0,0,0,0];
  75.  SECURITY_WORLD_SID_AUTHORITY    =[0,0,0,0,0,1];
  76.  SECURITY_LOCAL_SID_AUTHORITY    =[0,0,0,0,0,2];
  77.  SECURITY_CREATOR_SID_AUTHORITY  =[0,0,0,0,0,3];
  78.  SECURITY_NON_UNIQUE_AUTHORITY   =[0,0,0,0,0,4];
  79.  SECURITY_NULL_RID               =$00000000;
  80.  SECURITY_WORLD_RID              =$00000000;
  81.  SECURITY_LOCAL_RID              =$00000000;
  82.  SECURITY_CREATOR_OWNER_RID      =$00000000;
  83.  SECURITY_CREATOR_GROUP_RID      =$00000001;
  84.  
  85. // NT well-known SIDs
  86.  SECURITY_NT_AUTHORITY           =[0,0,0,0,0,5];
  87.  SECURITY_DIALUP_RID             =$00000001;
  88.  SECURITY_NETWORK_RID            =$00000002;
  89.  SECURITY_BATCH_RID              =$00000003;
  90.  SECURITY_INTERACTIVE_RID        =$00000004;
  91.  SECURITY_SERVICE_RID            =$00000006;
  92.  SECURITY_ANONYMOUS_LOGON_RID    =$00000007;
  93.  SECURITY_LOGON_IDS_RID          =$00000005;
  94.  SECURITY_LOGON_IDS_RID_COUNT    =$3;
  95.  SECURITY_LOCAL_SYSTEM_RID       =00000012;
  96.  SECURITY_NT_NON_UNIQUE          =00000015;
  97.  SECURITY_BUILTIN_DOMAIN_RID     =00000020;
  98.  
  99. // Well-known users ...
  100.  DOMAIN_USER_RID_ADMIN           =$000001F4;
  101.  DOMAIN_USER_RID_GUEST           =$000001F5;
  102.  
  103. // well-known groups ...
  104.  DOMAIN_GROUP_RID_ADMINS         =$00000200;
  105.  DOMAIN_GROUP_RID_USERS          =$00000201;
  106.  DOMAIN_GROUP_RID_GUESTS         =$00000202;
  107.  
  108. // ACL revision
  109.  ACL_REVISION                    =2;
  110.  
  111. // ACE types
  112.  ACCESS_ALLOWED_ACE_TYPE         =0;
  113.  ACCESS_DENIED_ACE_TYPE          =1;
  114.  SYSTEM_AUDIT_ACE_TYPE           =2;
  115.  SYSTEM_ALARM_ACE_TYPE           =3;
  116.  
  117. // ACE inherit flags
  118.  OBJECT_INHERIT_ACE              =$1;
  119.  CONTAINER_INHERIT_ACE           =$2;
  120.  NO_PROPAGATE_INHERIT_ACE        =$4;
  121.  INHERIT_ONLY_ACE                =$8;
  122.  VALID_INHERIT_FLAGS             =$F;
  123.  SUCCESSFUL_ACCESS_ACE_FLAG      =$40;
  124.  FAILED_ACCESS_ACE_FLAG          =$80;
  125.  
  126. // Current Security Revision
  127.  SECURITY_DESCRIPTOR_REVISION    =1;
  128.  SECURITY_DESCRIPTOR_REVISION1   =1;
  129.  SECURITY_DESCRIPTOR_MIN_LENGTH  =20;
  130.  
  131. // DACL's
  132.  SE_OWNER_DEFAULTED              =$0001;
  133.  SE_GROUP_DEFAULTED              =$0002;
  134.  SE_DACL_PRESENT                 =$0004;
  135.  SE_DACL_DEFAULTED               =$0008;
  136.  SE_SACL_PRESENT                 =$0010;
  137.  SE_SACL_DEFAULTED               =$0020;
  138.  SE_SELF_RELATIVE                =$8000;
  139.  
  140. // Security Information
  141.  OWNER_SECURITY_INFORMATION      =$00000001;
  142.  GROUP_SECURITY_INFORMATION      =$00000002;
  143.  DACL_SECURITY_INFORMATION       =$00000004;
  144.  SACL_SECURITY_INFORMATION       =$00000008;
  145.  
  146. // Netbios
  147.  NCBNAMSZ                        =18;
  148.  
  149. // Server Types
  150.  SV_TYPE_WORKSTATION              =$00000001; // LAN Manager Workstation
  151.  SV_TYPE_SERVER                      =$00000002; // LAN Manager Server
  152.  SV_TYPE_SQLSERVER              =$00000004; // Server Running Microsoft SQL Server
  153.  SV_TYPE_DOMAIN_CTRL              =$00000008; // Primary Domain Controller
  154.  SV_TYPE_DOMAIN_BAKCTRL           =$00000010; // Backup Domain Controller
  155.  SV_TYPE_TIMESOURCE               =$00000020; // Server Running Timesource Service
  156.  SV_TYPE_AFP                      =$00000040; // Apple File Protocol Server
  157.  SV_TYPE_NOVELL                   =$00000080; // Novell Server
  158.  SV_TYPE_DOMAIN_MEMBER            =$00000100; // Domain Member
  159.  SV_TYPE_PRINT                    =$00000200; // Server Sharing Print Queue
  160.  SV_TYPE_DIALIN                   =$00000400; // Server Running Dial-In Service
  161.  SV_TYPE_XENIX_SERVER             =$00000800; // Xenix Server
  162.  SV_TYPE_NT                       =$00001000; // Windows NT Server
  163.  SV_TYPE_WFW                      =$00002000; // Server Running Windows For Workgroups
  164.  SV_TYPE_POTENTIAL_BROWSER        =$00010000; // Server That Can Run Browser Service
  165.  SV_TYPE_BACKUP_BROWSER           =$00020000; // Server Running A Browser Service As Backup
  166.  SV_TYPE_MASTER_BROWSER           =$00040000; // Server Running Master Browser Service
  167.  SV_TYPE_DOMAIN_MASTER            =$00080000; // Server Running Domain Master Browser
  168.  SV_TYPE_DOMAIN_ENUM              =$80000000; // Domain Announcement
  169.  SV_TYPE_ALL                      =$FFFFFFFF; // All Servers
  170.  
  171. // Session User Types
  172. SESS_GUEST             =$00000001;
  173. SESS_NONENCRYPTION         =$00000002;
  174.  
  175. const SD_SIZE = (65536 + SECURITY_DESCRIPTOR_MIN_LENGTH);
  176.  
  177. // Type Definitions
  178. Type ACL_SIZE_INFORMATION=record
  179.     AceCount:DWORD;
  180.     AclBytesInUse:DWORD;
  181.     AclBytesFree:DWORD;
  182. End;
  183.  
  184. Type ACE_HEADER=record
  185.     AceType:Byte;
  186.     AceFlags:Byte;
  187.     AceSize:Word;
  188. End;
  189.  
  190. Type ACCESS_ALLOWED_ACE=record
  191.      Header:ACE_HEADER;
  192.      Mask:DWORD;
  193.      SidStart:DWORD;
  194. End;
  195.  
  196. Type ACCESS_DENIED_ACE=record
  197.      Header:ACE_HEADER;
  198.      Mask:DWORD;
  199.      SidStart:DWORD;
  200. End;
  201.  
  202. Type LARGE_INTEGER=record
  203.     LowPart:DWORD;
  204.     HighPart:LongInt;
  205. End;
  206.  
  207. // defines a Session Level 0 structure
  208. Type SESSION_INFO_0=record
  209.     sesi0_cname:LPWSTR;
  210. End;
  211.  
  212. // defines a Session Level 1 structure
  213. Type SESSION_INFO_1=record
  214.     sesi1_cname:LPWSTR;
  215.     sesi1_username:LPWSTR;
  216.     sesi1_num_opens:DWORD;
  217.     sesi1_time:DWORD;
  218.     sesi1_idle_time:DWORD;
  219.     sesi1__flags:DWORD;
  220. End;
  221.  
  222. // defines a Session Level 2 structure
  223. Type SESSION_INFO_2=record
  224.     sesi2_cname:LPWSTR;
  225.     sesi2_username:LPWSTR;
  226.     sesi2_num_opens:DWORD;
  227.     sesi2_time:DWORD;
  228.     sesi2_idle_time:DWORD;
  229.     sesi2_flags:DWORD;
  230.     sesi2_cltype_name:LPWSTR;
  231. End;
  232.  
  233. // defines a Session Level 3 structure
  234. Type SESSION_INFO_10=record
  235.     sesi10_cname:LPWSTR;
  236.     sesi10_username:LPWSTR;
  237.     sesi10_time:DWORD;
  238.     sesi10_idle_time:DWORD;
  239. End;
  240.  
  241. // defines a Local Group Level 0 structure
  242. Type LOCALGROUP_INFO_0=record
  243.     lgrpi0_name:LPWSTR;
  244. End;
  245.  
  246. // defines a Local Group Level 1 structure
  247. Type LOCALGROUP_INFO_1=record
  248.     lgrpi1_name:LPWSTR;
  249.     lgrpi1_comment:LPWSTR;
  250. End;
  251.  
  252. // defines a Local Group Level 1002 structure
  253. Type LOCALGROUP_INFO_1002=record
  254.     lgrpi1002_comment:LPWSTR;
  255. End;
  256.  
  257. // defines a Local Group Member Info Level 0 structure
  258. Type LOCALGROUP_MEMBERS_INFO_0=record
  259.         lgrmi0_sid:PSID;
  260. End;
  261.  
  262. // defines a Local Group Member Info Level 3 structure
  263. Type LOCALGROUP_MEMBERS_INFO_3=record
  264.         lgrmi3_domainandname:LPWSTR;
  265. End;
  266.  
  267. // defines User Level 0 structure
  268. Type USER_INFO_0=record
  269.     usri0_name:LPWSTR;
  270. End;
  271.  
  272. // defines User Level 1 structure
  273. Type USER_INFO_1=record
  274.     usri1_name:LPWSTR;
  275.     usri1_password:LPWSTR;
  276.     usri1_password_age:DWORD;
  277.     usri1_priv:DWORD;
  278.     usri1_home_dir:LPWSTR;
  279.     usri1_comment:LPWSTR;
  280.     usri1_flags:DWORD;
  281.         usri1_script_path:LPWSTR;
  282. End;
  283.  
  284. // defines User Level 2 structure
  285. Type USER_INFO_2=record
  286.     usri2_name:LPWSTR;
  287.     usri2_password:LPWSTR;
  288.     usri2_password_age:DWORD;
  289.     usri2_priv:DWORD;
  290.         usri2_home_dir:LPWSTR;
  291.     usri2_comment:LPWSTR;
  292.     usri2_flags:DWORD;
  293.     usri2_script_path:LPWSTR;
  294.     usri2_auth_flags:DWORD;
  295.     usri2_full_name:LPWSTR;
  296.     usri2_usr_comment:LPWSTR;
  297.     usri2_parms:LPWSTR;
  298.     usri2_workstations:LPWSTR;
  299.     usri2_last_logon:DWORD;
  300.     usri2_last_logoff:DWORD;
  301.     usri2_acct_expires:DWORD;
  302.     usri2_max_storage:DWORD;
  303.     usri2_units_per_week:DWORD;
  304.     usri2_logon_hours:PChar;
  305.     usri2_bad_pw_count:DWORD;
  306.     usri2_num_logons:DWORD;
  307.     usri2_logon_server:LPWSTR;
  308.     usri2_country_code:DWORD;
  309.     usri2_code_page:DWORD;
  310. End;
  311.  
  312. // defines User Level 3 structure
  313. Type USER_INFO_3=record
  314.     usri3_name:LPWSTR;
  315.     usri3_password:LPWSTR;
  316.     usri3_password_age:DWORD;
  317.     usri3_priv:DWORD;
  318.     usri3_home_dir:LPWSTR;
  319.         usri3_comment:LPWSTR;
  320.         usri3_flags:DWORD;
  321.         usri3_script_path:LPWSTR;
  322.     usri3_auth_flags:DWORD;
  323.     usri3_full_name:LPWSTR;
  324.     usri3_usr_comment:LPWSTR;
  325.     usri3_parms:LPWSTR;
  326.     usri3_workstations:LPWSTR;
  327.     usri3_last_logon:DWORD;
  328.     usri3_last_logoff:DWORD;
  329.     usri3_acct_expires:DWORD;
  330.     usri3_max_storage:DWORD;
  331.     usri3_units_per_week:DWORD;
  332.     usri3_logon_hours:PBYTE;
  333.     usri3_bad_pw_count:DWORD;
  334.     usri3_num_logons:DWORD;
  335.     usri3_logon_server:LPWSTR;
  336.     usri3_country_code:DWORD;
  337.     usri3_code_page:DWORD;
  338.     usri3_user_id:DWORD;
  339.     usri3_primary_group_id:DWORD;
  340.     usri3_profile:LPWSTR;
  341.     usri3_home_dir_drive:LPWSTR;
  342.     usri3_password_expired:DWORD;
  343. End;
  344.  
  345. // defines User Level 10 structure
  346. Type USER_INFO_10=record
  347.     usri10_name:LPWSTR;
  348.     usri10_comment:LPWSTR;
  349.     usri10_usr_comment:LPWSTR;
  350.     usri10_full_name:LPWSTR;
  351. End;
  352.  
  353. // defines User Level 11 structure
  354. Type USER_INFO_11=record
  355.     usri11_name:LPWSTR;
  356.     usri11_comment:LPWSTR;
  357.     usri11_usr_comment:LPWSTR;
  358.     usri11_full_name:LPWSTR;
  359.     usri11_priv:DWORD;
  360.     usri11_auth_flags:DWORD;
  361.     usri11_password_age:DWORD;
  362.     usri11_home_dir:LPWSTR;
  363.     usri11_parms:LPWSTR;
  364.     usri11_last_logon:DWORD;
  365.     usri11_last_logoff:DWORD;
  366.     usri11_bad_pw_count:DWORD;
  367.     usri11_num_logons:DWORD;
  368.     usri11_logon_server:LPWSTR;
  369.     usri11_country_code:DWORD;
  370.     usri11_workstations:LPWSTR;
  371.     usri11_max_storage:DWORD;
  372.     usri11_units_per_week:DWORD;
  373.     usri11_logon_hours:PChar;
  374.     usri11_code_page:DWORD;
  375. End;
  376.  
  377. // defines User Level 20 structure
  378. Type USER_INFO_20=record
  379.     usri20_name:LPWSTR;
  380.     usri20_full_name:LPWSTR;
  381.     usri20_comment:LPWSTR;
  382.     usri20_flags:DWORD;
  383.     usri20_user_id:DWORD;
  384. End;
  385.  
  386. // defines a Global Group Level 0 structure
  387. Type GROUP_INFO_0=record
  388.     grpi0_name:LPWSTR;
  389. End;
  390.  
  391. // defines a Global Group Level 1 structure
  392. Type GROUP_INFO_1=record
  393.     grpi1_name:LPWSTR;
  394.     grpi1_comment:LPWSTR;
  395. End;
  396.  
  397. // defines a Global Group Level 2 structure
  398. Type GROUP_INFO_2=record
  399.     grpi2_name:LPWSTR;
  400.     grpi2_comment:LPWSTR;
  401.     grpi2_group_id:DWORD;
  402.     grpi2_attributes:DWORD;
  403. End;
  404.  
  405. // defines a User Info Level 0 structure
  406. Type GROUP_USERS_INFO_0=record
  407.     grui0_name:LPWSTR;
  408. End;
  409.  
  410. // defines a User Info Level 1 structure
  411. Type GROUP_USERS_INFO_1=record
  412.     grui1_name:LPWSTR;
  413.     grui1_attributes:DWORD;
  414. End;
  415.  
  416. // defines a User Modals Level 0 structure
  417. Type USER_MODALS_INFO_0=record
  418.     usrmod0_min_passwd_len:DWORD;
  419.     usrmod0_max_passwd_age:DWORD;
  420.     usrmod0_min_passwd_age:DWORD;
  421.     usrmod0_force_logoff:DWORD;
  422.     usrmod0_password_hist_len:DWORD;
  423. End;
  424.  
  425. // defines a User Modals Level 1 structure
  426. Type USER_MODALS_INFO_1=record
  427.     usrmod1_role:DWORD;
  428.     usrmod1_primary:LPWSTR;
  429. End;
  430.  
  431. // defines a User Modals Level 2 structure
  432. Type USER_MODALS_INFO_2=record
  433.     usrmod2_domain_name:LPWSTR;
  434.     usrmod2_domain_id:PSID;
  435. End;
  436.  
  437. // defines a Server Transport Level 0 structure
  438. Type SERVER_TRANSPORT_INFO_0=record
  439.     svti0_number_of_vcs:DWORD;
  440.     svti0_transport_name:LPWSTR;
  441.     svti0_transport_address:PChar;
  442.     svti0_transportaddresslength:DWORD;
  443.     svti0_networkaddress:LPWSTR;
  444. End;
  445.  
  446. // defines a Workstation Transport Level 0 structure
  447. Type WKSTA_TRANSPORT_INFO_0=record
  448.     wkti0_quality_of_service:DWORD;
  449.     wkti0_number_of_vcs:DWORD;
  450.     wkti0_transport_name:LPWSTR;
  451.     wkti0_transport_address:LPWSTR;
  452. End;
  453.  
  454. // defines a Server Level 100 structure
  455. Type SERVER_INFO_100=record
  456.     sv100_platform_id:DWORD;
  457.     sv100_name:LPWSTR;
  458. End;
  459.  
  460. // defines a Server Level 101 structure
  461. Type SERVER_INFO_101=record
  462.     sv101_platform_id:DWORD;
  463.     sv101_name:LPWSTR;
  464.     sv101_version_major:DWORD;
  465.     sv101_version_minor:DWORD;
  466.     sv101_type:DWORD;
  467.     sv101_comment:LPWSTR;
  468. End;
  469.  
  470. // defines a Server Level 102 structure
  471. Type SERVER_INFO_102=record
  472.     sv102_platform_id:DWORD;
  473.     sv102_name:LPWSTR;
  474.     sv102_version_major:DWORD;
  475.     sv102_version_minor:DWORD;
  476.     sv102_type:DWORD;
  477.     sv102_comment:LPWSTR;
  478.     sv102_users:DWORD;
  479.     sv102_disc:DWORD;
  480.     sv102_hidden:Boolean;
  481.     sv102_announce:DWORD;
  482.     sv102_anndelta:DWORD;
  483.     sv102_userpath:LPWSTR;
  484. End;
  485.  
  486. // defines a Server Level 402 structure
  487. Type SERVER_INFO_402=record
  488.     sv402_ulist_mtime:DWORD;
  489.     sv402_glist_mtime:DWORD;
  490.     sv402_alist_mtime:DWORD;
  491.     sv402_alerts:LPWSTR;
  492.     sv402_security:DWORD;
  493.     sv402_numadmin:DWORD;
  494.     sv402_lanmask:DWORD;
  495.     sv402_guestacct:LPWSTR;
  496.     sv402_chdevs:DWORD;
  497.     sv402_chdevq:DWORD;
  498.     sv402_chdevjobs:DWORD;
  499.     sv402_connections:DWORD;
  500.     sv402_shares:DWORD;
  501.     sv402_openfiles:DWORD;
  502.     sv402_sessopens:DWORD;
  503.     sv402_sessvcs:DWORD;
  504.     sv402_sessreqs:DWORD;
  505.     sv402_opensearch:DWORD;
  506.     sv402_activelocks:DWORD;
  507.     sv402_numreqbuf:DWORD;
  508.     sv402_sizreqbuf:DWORD;
  509.     sv402_numbigbuf:DWORD;
  510.     sv402_numfiletasks:DWORD;
  511.     sv402_alertsched:DWORD;
  512.     sv402_erroralert:DWORD;
  513.     sv402_logonalert:DWORD;
  514.     sv402_accessalert:DWORD;
  515.     sv402_diskalert:DWORD;
  516.     sv402_netioalert:DWORD;
  517.     sv402_maxauditsz:DWORD;
  518.     sv402_srvheuristics:LPWSTR;
  519. End;
  520.  
  521. // defines a Server Level 403 structure
  522. Type SERVER_INFO_403=record
  523.     sv403_ulist_mtime:DWORD;
  524.     sv403_glist_mtime:DWORD;
  525.     sv403_alist_mtime:DWORD;
  526.     sv403_alerts:LPWSTR;
  527.     sv403_security:DWORD;
  528.     sv403_numadmin:DWORD;
  529.     sv403_lanmask:DWORD;
  530.     sv403_guestacct:LPWSTR;
  531.     sv403_chdevs:DWORD;
  532.     sv403_chdevq:DWORD;
  533.     sv403_chdevjobs:DWORD;
  534.     sv403_connections:DWORD;
  535.     sv403_shares:DWORD;
  536.     sv403_openfiles:DWORD;
  537.     sv403_sessopens:DWORD;
  538.     sv403_sessvcs:DWORD;
  539.     sv403_sessreqs:DWORD;
  540.     sv403_opensearch:DWORD;
  541.     sv403_activelocks:DWORD;
  542.     sv403_numreqbuf:DWORD;
  543.     sv403_sizreqbuf:DWORD;
  544.     sv403_numbigbuf:DWORD;
  545.     sv403_numfiletasks:DWORD;
  546.     sv403_alertsched:DWORD;
  547.     sv403_erroralert:DWORD;
  548.     sv403_logonalert:DWORD;
  549.     sv403_accessalert:DWORD;
  550.     sv403_diskalert:DWORD;
  551.     sv403_netioalert:DWORD;
  552.     sv403_maxauditsz:DWORD;
  553.     sv403_srvheuristics:LPWSTR;
  554.     sv403_auditedevents:DWORD;
  555.     sv403_autoprofile:DWORD;
  556.     sv403_autopath:LPWSTR;
  557. End;
  558.  
  559. // defines a Server Level 502 structure
  560. Type SERVER_INFO_502=record
  561.     sv502_sessopens:DWORD;
  562.     sv502_sessvcs:DWORD;
  563.     sv502_opensearch:DWORD;
  564.     sv502_sizreqbuf:DWORD;
  565.     sv502_initworkitems:DWORD;
  566.     sv502_maxworkitems:DWORD;
  567.     sv502_rawworkitems:DWORD;
  568.     sv502_irpstacksize:DWORD;
  569.     sv502_maxrawbuflen:DWORD;
  570.     sv502_sessusers:DWORD;
  571.     sv502_sessconns:DWORD;
  572.     sv502_maxpagedmemoryusage:DWORD;
  573.     sv502_maxnonpagedmemoryusage:DWORD;
  574.     sv502_enablesoftcompat:Boolean;
  575.         sv502_enableforcedlogoff:Boolean;
  576.     sv502_timesource:Boolean;
  577.     sv502_acceptdownlevelapis:Boolean;
  578.     sv502_lmannounce:Boolean;
  579. End;
  580.  
  581. // defines a Server Level 503 structure
  582. Type SERVER_INFO_503=record
  583.     sv503_sessopens:DWORD;
  584.     sv503_sessvcs:DWORD;
  585.     sv503_opensearch:DWORD;
  586.     sv503_sizreqbuf:DWORD;
  587.     sv503_initworkitems:DWORD;
  588.     sv503_maxworkitems:DWORD;
  589.     sv503_rawworkitems:DWORD;
  590.     sv503_irpstacksize:DWORD;
  591.     sv503_maxrawbuflen:DWORD;
  592.     sv503_sessusers:DWORD;
  593.     sv503_sessconns:DWORD;
  594.     sv503_maxpagedmemoryusage:DWORD;
  595.     sv503_maxnonpagedmemoryusage:DWORD;
  596.     sv503_enablesoftcompat:Boolean;
  597.     sv503_enableforcedlogoff:Boolean;
  598.     sv503_timesource:Boolean;
  599.     sv503_acceptdownlevelapis:Boolean;
  600.     sv503_lmannounce:Boolean;
  601.     sv503_domain:PChar;
  602.     sv503_maxcopyreadlen:DWORD;
  603.     sv503_maxcopywritelen:DWORD;
  604.     sv503_minkeepsearch:DWORD;
  605.     sv503_maxkeepsearch:DWORD;
  606.     sv503_minkeepcomplsearch:DWORD;
  607.     sv503_maxkeepcomplsearch:DWORD;
  608.     sv503_threadcountadd:DWORD;
  609.     sv503_numblockthreads:DWORD;
  610.     sv503_scavtimeout:DWORD;
  611.     sv503_minrcvqueue:DWORD;
  612.     sv503_minfreeworkitems:DWORD;
  613.     sv503_xactmemsize:DWORD;
  614.     sv503_threadpriority:DWORD;
  615.     sv503_maxmpxct:DWORD;
  616.     sv503_oplockbreakwait:DWORD;
  617.     sv503_oplockbreakresponsewait:DWORD;
  618.     sv503_enableoplocks:Boolean;
  619.     sv503_enableoplockforceclose:Boolean;
  620.     sv503_enablefcbopens:Boolean;
  621.     sv503_enableraw:Boolean;
  622.     sv503_enabledpc:Boolean;
  623.     sv503_enablemdlio:Boolean;
  624.     sv503_enablefastio:Boolean;
  625. End;
  626.  
  627. // defines a NT Workstation Statistics structure
  628. Type STAT_WORKSTATION_0_NT=record
  629.     StatisticsStartTime:LARGE_INTEGER;
  630.     BytesReceived:LARGE_INTEGER;
  631.     SmbsReceived:LARGE_INTEGER;
  632.     PagingReadBytesRequested:LARGE_INTEGER;
  633.     NonPagingReadBytesRequested:LARGE_INTEGER;
  634.     CacheReadBytesRequested:LARGE_INTEGER;
  635.     NetworkReadBytesRequested:LARGE_INTEGER;
  636.     BytesTransmitted:LARGE_INTEGER;
  637.     SmbsTransmitted:LARGE_INTEGER;
  638.     PagingWriteBytesRequested:LARGE_INTEGER;
  639.     NonPagingWriteBytesRequested:LARGE_INTEGER;
  640.     CacheWriteBytesRequested:LARGE_INTEGER;
  641.     NetworkWriteBytesRequested:LARGE_INTEGER;
  642.     InitiallyFailedOperations:DWORD;
  643.     FailedCompletionOperations:DWORD;
  644.     ReadOperations:DWORD;
  645.     RandomReadOperations:DWORD;
  646.     ReadSmbs:DWORD;
  647.     LargeReadSmbs:DWORD;
  648.     SmallReadSmbs:DWORD;
  649.     WriteOperations:DWORD;
  650.     RandomWriteOperations:DWORD;
  651.     WriteSmbs:DWORD;
  652.     LargeWriteSmbs:DWORD;
  653.     SmallWriteSmbs:DWORD;
  654.     RawReadsDenied:DWORD;
  655.     RawWritesDenied:DWORD;
  656.     NetworkErrors:DWORD;
  657.     Sessions:DWORD;
  658.     FailedSessions:DWORD;
  659.     Reconnects:DWORD;
  660.     CoreConnects:DWORD;
  661.     Lanman20Connects:DWORD;
  662.     Lanman21Connects:DWORD;
  663.     LanmanNtConnects:DWORD;
  664.     ServerDisconnects:DWORD;
  665.     HungSessions:DWORD;
  666.     UseCount:DWORD;
  667.     FailedUseCount:DWORD;
  668.     CurrentCommands:DWORD;
  669. End;
  670.  
  671. // defines a Workstation Level 100 structure
  672. Type WKSTA_INFO_100=record
  673.     wki100_platform_id:DWORD;
  674.     wki100_computername:LPWSTR;
  675.     wki100_langroup:LPWSTR;
  676.     wki100_ver_major:DWORD;
  677.     wki100_ver_minor:DWORD;
  678. End;
  679.  
  680. // defines a Workstation Level 101 structure
  681. Type WKSTA_INFO_101=record
  682.     wki101_platform_id:DWORD;
  683.     wki101_computername:LPWSTR;
  684.     wki101_langroup:LPWSTR;
  685.     wki101_ver_major:DWORD;
  686.     wki101_ver_minor:DWORD;
  687.     wki101_lanroot:LPWSTR;
  688. End;
  689.  
  690. // defines a Workstation Level 102 structure
  691. Type WKSTA_INFO_102=record
  692.     wki102_platform_id:DWORD;
  693.     wki102_computername:LPWSTR;
  694.     wki102_langroup:LPWSTR;
  695.     wki102_ver_major:DWORD;
  696.     wki102_ver_minor:DWORD;
  697.     wki102_lanroot:LPWSTR;
  698.     wki102_logged_on_users:DWORD;
  699. End;
  700.  
  701. // defines a Workstation Level 302 structure
  702. Type WKSTA_INFO_302=record
  703.     wki302_char_wait:DWORD;
  704.     wki302_collection_time:DWORD;
  705.     wki302_maximum_collection_count:DWORD;
  706.     wki302_keep_conn:DWORD;
  707.     wki302_keep_search:DWORD;
  708.     wki302_max_cmds:DWORD;
  709.     wki302_num_work_buf:DWORD;
  710.     wki302_siz_work_buf:DWORD;
  711.     wki302_max_wrk_cache:DWORD;
  712.     wki302_sess_timeout:DWORD;
  713.     wki302_siz_error:DWORD;
  714.     wki302_num_alerts:DWORD;
  715.     wki302_num_services:DWORD;
  716.     wki302_errlog_sz:DWORD;
  717.     wki302_print_buf_time:DWORD;
  718.     wki302_num_char_buf:DWORD;
  719.     wki302_siz_char_buf:DWORD;
  720.     wki302_wrk_heuristics:LPWSTR;
  721.     wki302_mailslots:DWORD;
  722.     wki302_num_dgram_buf:DWORD;
  723. End;
  724.  
  725. // defines a Workstation Level 402 structure
  726. Type WKSTA_INFO_402=record
  727.     wki402_char_wait:DWORD;
  728.     wki402_collection_time:DWORD;
  729.     wki402_maximum_collection_count:DWORD;
  730.     wki402_keep_conn:DWORD;
  731.     wki402_keep_search:DWORD;
  732.     wki402_max_cmds:DWORD;
  733.     wki402_num_work_buf:DWORD;
  734.     wki402_siz_work_buf:DWORD;
  735.     wki402_max_wrk_cache:DWORD;
  736.     wki402_sess_timeout:DWORD;
  737.     wki402_siz_error:DWORD;
  738.     wki402_num_alerts:DWORD;
  739.     wki402_num_services:DWORD;
  740.     wki402_errlog_sz:DWORD;
  741.     wki402_print_buf_time:DWORD;
  742.     wki402_num_char_buf:DWORD;
  743.     wki402_siz_char_buf:DWORD;
  744.     wki402_wrk_heuristics:LPWSTR;
  745.     wki402_mailslots:DWORD;
  746.     wki402_num_dgram_buf:DWORD;
  747.     wki402_max_threads:DWORD;
  748. End;
  749.  
  750. // defines a Workstation Level 502 structure
  751. Type WKSTA_INFO_502=record
  752.     wki502_char_wait:DWORD;
  753.     wki502_collection_time:DWORD;
  754.     wki502_maximum_collection_count:DWORD;
  755.     wki502_keep_conn:DWORD;
  756.     wki502_max_cmds:DWORD;
  757.     wki502_sess_timeout:DWORD;
  758.     wki502_siz_char_buf:DWORD;
  759.     wki502_max_threads:DWORD;
  760.     wki502_lock_quota:DWORD;
  761.     wki502_lock_increment:DWORD;
  762.     wki502_lock_maximum:DWORD;
  763.     wki502_pipe_increment:DWORD;
  764.     wki502_pipe_maximum:DWORD;
  765.     wki502_cache_file_timeout:DWORD;
  766.     wki502_dormant_file_limit:DWORD;
  767.     wki502_read_ahead_throughput:DWORD;
  768.     wki502_num_mailslot_buffers:DWORD;
  769.     wki502_num_srv_announce_buffers:DWORD;
  770.     wki502_dgreceiver_threads:DWORD;
  771.     wki502_use_opportunistic_locking:Boolean;
  772.     wki502_use_unlock_behind:Boolean;
  773.     wki502_use_close_behind:Boolean;
  774.     wki502_buf_named_pipes:Boolean;
  775.     wki502_use_lock_read_unlock:Boolean;
  776.     wki502_utilize_nt_caching:Boolean;
  777.     wki502_use_raw_read:Boolean;
  778.     wki502_use_raw_write:Boolean;
  779.     wki502_use_write_raw_data:Boolean;
  780.     wki502_use_encryption:Boolean;
  781.     wki502_buf_files_deny_write:Boolean;
  782.     wki502_buf_read_only_files:Boolean;
  783.     wki502_force_core_create_mode:Boolean;
  784.     wki502_use_512_byte_max_transfer:Boolean;
  785. End;
  786.  
  787. // defines a Workstation User Level 0 structure
  788. Type WKSTA_USER_INFO_0=record
  789.     wkui0_username:LPWSTR;
  790. End;
  791.  
  792. // defines a Workstation User Level 1 structure
  793. Type WKSTA_USER_INFO_1=record
  794.     wkui1_username:LPWSTR;
  795.     wkui1_logon_domain:LPWSTR;
  796.     wkui1_logon_server:LPWSTR;
  797.     wkui1_oth_domains:LPWSTR;
  798. End;
  799.  
  800. // defines a Workstation User Level 1101 structure
  801. Type WKSTA_USER_INFO_1101=record
  802.     wkui1101_oth_domains:PChar;
  803. End;
  804.  
  805. // defines a Name Buffer structure
  806. Type NAME_BUFFER=record
  807.     name:Array[0..NCBNAMSZ] Of UCHAR;
  808.     name_num:UCHAR;
  809.     name_flags:UCHAR;
  810. End;
  811.  
  812. // defines a Network Control Block structure
  813. Type NCB=record
  814.     ncb_command:UCHAR;
  815.     ncb_retcode:UCHAR;
  816.     ncb_lsn:UCHAR;
  817.     ncb_num:UCHAR;
  818.     ncb_buffer:PUCHAR;
  819.     ncb_length:WORD;
  820.     ncb_callname:Array[0..NCBNAMSZ] Of UCHAR;
  821.     ncb_name:Array[0..NCBNAMSZ] Of UCHAR;
  822.     ncb_rto:UCHAR;
  823.     ncb_sto:UCHAR;
  824.     ncb_post:Pointer;
  825.     ncb_lana_num:UCHAR;
  826.     ncb_cmd_cplt:UCHAR;
  827.     ncb_reserve:Array[0..10] Of UCHAR;
  828.     ncb_event:THandle;
  829. End;
  830.  
  831. // defines an Adapter Status structure
  832. Type ADAPTER_STATUS=record
  833.     adapter_address:Array[0..6] Of Char;
  834.     rev_major:UCHAR;
  835.     reserved0:UCHAR;
  836.     adapter_type:UCHAR;
  837.     rev_minor:UCHAR;
  838.     duration:WORD;
  839.     frmr_recv:WORD;
  840.     frmr_xmit:WORD;
  841.     iframe_recv_err:WORD;
  842.     xmit_aborts:WORD;
  843.     xmit_success:DWORD;
  844.     recv_success:DWORD;
  845.     iframe_xmit_err:WORD;
  846.     recv_buff_unavail:WORD;
  847.     t1_timeouts:WORD;
  848.     ti_timeouts:WORD;
  849.     reserved1:DWORD;
  850.     free_ncbs:WORD;
  851.     max_cfg_ncbs:WORD;
  852.     max_ncbs:WORD;
  853.     xmit_buf_unavail:WORD;
  854.     max_dgram_size:WORD;
  855.     pending_sess:WORD;
  856.     max_cfg_sess:WORD;
  857.     max_sess:WORD;
  858.     max_sess_pkt_size:WORD;
  859.     name_count:WORD;
  860. End;
  861.  
  862. // Local Group Function Defines
  863. function NetLocalGroupAdd(Server:PWideChar;Level:DWORD;Buffer:PChar;ParmError:PChar):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupAdd';
  864. function NetLocalGroupAddMember(Server:PWideChar;GroupName:PWideChar;MembersID:PSID):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupAddMember';
  865. function NetLocalGroupDel(Server:PWideChar;GroupName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupDel';
  866. function NetLocalGroupDelMember(Server:PWideChar;GroupName:PWideChar;MembersID:PSID):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupDelMember';
  867. function NetLocalGroupEnum(Server:PWideChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;ResumeHandle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupEnum';
  868. function NetLocalGroupGetInfo(Server:PWideChar;GroupName:PWideChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupGetInfo';
  869. function NetLocalGroupGetMembers(Server:PWideChar;LocalGroupName:PWideChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;ResumeHandle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupGetMembers';
  870. function NetLocalGroupSetInfo(Server:PWideChar;GroupName:PWideChar;Level:DWORD;Buffer:PChar;ParmError:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupSetInfo';
  871. function NetLocalGroupSetMembers(Server:PWideChar;GroupName:PWideChar;Level:DWORD;Buf:PChar;TotalEntries:DWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupSetMembers';
  872.  
  873. // Global Group Function Defines
  874. function NetGroupAdd(ServerName:PWideChar;Level:DWORD;Buf:PChar;ParmError:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupAdd';
  875. function NetGroupAddUser(ServerName:PWideChar;GroupName:PWideChar;UserName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupAddUser';
  876. function NetGroupDel(Server:PWideChar;GroupName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupDel';
  877. function NetGroupDelUser(Server:PWideChar;GroupName:PWideChar;UserName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupDelUser';
  878. function NetGroupEnum(Server:PWideChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupEnum';
  879. function NetGroupGetInfo(Server:PWideChar;GroupName:PWideChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupGetInfo';
  880. function NetGroupGetUsers(Server:PWideChar;GroupName:PWideChar;Level:DWORD;BufPtr:Pointer;PreMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupGetUsers';
  881. function NetGroupSetInfo(Server:PWideChar;GroupName:PWideChar;Level:DWORD;Buf:PChar;ParmError:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupSetInfo';
  882. function NetGroupSetUsers(Server:PWideChar;GroupName:PWideChar;Level:DWORD;Buf:PChar;TotalEntries:DWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupSetUsers';
  883.  
  884. // User Modals Function Defines
  885. function NetUserModalsGet(Server:PWideChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetUserModalsGet';
  886. function NetUserModalsSet(Server:PWideChar;Level:DWORD;Buf:PChar;ParmError:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetUserModalsSet';
  887.  
  888. // Statistics Function Defines
  889. function NetStatisticsGet(Server:PWideChar;Service:PWideChar;Level:DWORD;Options:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetStatisticsGet';
  890.  
  891. // User Management Function Defines
  892. function NetUserAdd(Server:PWideChar;Level:DWORD;Buffer:PChar;ParmError:PChar):LongInt; stdcall; external 'netapi32.dll' name 'NetUserAdd';
  893. function NetUserDel(Server:PWideChar;UserName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetUserDel';
  894. function NetUserEnum(Server:PWideChar;Level:DWORD;Filter:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;ResumeHandle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetUserEnum';
  895. function NetUserGetLocalGroups(Server:PWideChar;UserName:PWideChar;Level:DWORD;Flags:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;ResumeHandle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetUserGetLocalGroups';
  896. function NetUserGetGroups(Server:PWideChar;UserName:PWideChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;ResumeHandle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetUserGetGroups';
  897. function NetUserSetGroups(Server:PWideChar;UserName:PWideChar;Level:DWORD;Buffer:PChar;Num_Entries:DWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetUserSetGroups';
  898. function NetUserGetInfo(Server:PWideChar;UserName:PWideChar;Level:DWORD;Buffer:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetUserGetInfo';
  899. function NetUserSetInfo(Server:PWideChar;UserName:PWideChar;Level:DWORD;Buffer:PChar;ParmError:PChar):LongInt; stdcall; external 'netapi32.dll' name 'NetUserSetInfo';
  900. function NetUserChangePassword(Domain:PWideChar;UserName:PWideChar;OldPassword:PWideChar;NewPassword:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetUserChangePassword';
  901.  
  902. // Server & Transport Function Defines
  903. function NetServerTransportAdd(Server:PChar;Level:DWORD;BufPtr:PChar):LongInt; stdcall; external 'netapi32.dll' name 'NetServerTransportAdd';
  904. function NetServerTransportDel(Server:PWideChar;TransportName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetServerTransportDel';
  905. function NetServerTransportEnum(Server:PChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:DWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetServerTransportEnum';
  906. function NetServerDiskEnum(Server:PChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetServerDiskEnum';
  907. function NetServerEnum(Server:PChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;ServerType:DWORD;Domain:PChar;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetServerEnum';
  908. function NetServerGetInfo(Server:LPWSTR;Level:DWORD;var BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetServerGetInfo';
  909. function NetServerSetInfo(Server:PChar;Level:DWORD;Buf:PChar;Parm_Error:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetServerSetInfo';
  910.  
  911. // Workstation Function Defines
  912. function NetWkstaGetInfo(Server:PChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaGetInfo';
  913. function NetWkstaSetInfo(Server:PChar;Level:DWORD;Buf:PChar;Parm_Error:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaSetInfo';
  914. function NetWkstaUserGetInfo(Reserved:PChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaUserGetInfo';
  915. function NetWkstaUserSetInfo(Reserved:PChar;Level:DWORD;BufPtr:Pointer;Parm_Error:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaUserSetInfo';
  916. function NetWkstaUserEnum(Server:PChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaUserEnum';
  917.  
  918. // Netbios function Defines
  919. function Netbios(PNCB:Pointer):UCHAR; stdcall; external 'netapi32.dll' name 'Netbios';
  920.  
  921. // Other function Defines
  922. function NetApiBufferFree(Buffer:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetApiBufferFree';
  923.  
  924. // Session Functions
  925. function NetSessionDel(Server:PChar;ClientName:PChar;UserName:PChar;Reserved:DWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetSessionDel';
  926. function NetSessionEnum(Server:PChar;ClientName:PChar;UserName:PChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetSessionEnum';
  927. function NetSessionGetInfo(Server:PChar;ClientName:PChar;UserName:PChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetSessionGetInfo';
  928.  
  929. implementation
  930.  
  931. end.
  932.