// defines a Local Group Member Info Level 0 structure
Type LOCALGROUP_MEMBERS_INFO_0=record
lgrmi0_sid:PSID;
End;
// defines a Local Group Member Info Level 3 structure
Type LOCALGROUP_MEMBERS_INFO_3=record
lgrmi3_domainandname:LPWSTR;
End;
// defines User Level 0 structure
Type USER_INFO_0=record
usri0_name:LPWSTR;
End;
// defines User Level 1 structure
Type USER_INFO_1=record
usri1_name:LPWSTR;
usri1_password:LPWSTR;
usri1_password_age:DWORD;
usri1_priv:DWORD;
usri1_home_dir:LPWSTR;
usri1_comment:LPWSTR;
usri1_flags:DWORD;
usri1_script_path:LPWSTR;
End;
// defines User Level 2 structure
Type USER_INFO_2=record
usri2_name:LPWSTR;
usri2_password:LPWSTR;
usri2_password_age:DWORD;
usri2_priv:DWORD;
usri2_home_dir:LPWSTR;
usri2_comment:LPWSTR;
usri2_flags:DWORD;
usri2_script_path:LPWSTR;
usri2_auth_flags:DWORD;
usri2_full_name:LPWSTR;
usri2_usr_comment:LPWSTR;
usri2_parms:LPWSTR;
usri2_workstations:LPWSTR;
usri2_last_logon:DWORD;
usri2_last_logoff:DWORD;
usri2_acct_expires:DWORD;
usri2_max_storage:DWORD;
usri2_units_per_week:DWORD;
usri2_logon_hours:PChar;
usri2_bad_pw_count:DWORD;
usri2_num_logons:DWORD;
usri2_logon_server:LPWSTR;
usri2_country_code:DWORD;
usri2_code_page:DWORD;
End;
// defines User Level 3 structure
Type USER_INFO_3=record
usri3_name:LPWSTR;
usri3_password:LPWSTR;
usri3_password_age:DWORD;
usri3_priv:DWORD;
usri3_home_dir:LPWSTR;
usri3_comment:LPWSTR;
usri3_flags:DWORD;
usri3_script_path:LPWSTR;
usri3_auth_flags:DWORD;
usri3_full_name:LPWSTR;
usri3_usr_comment:LPWSTR;
usri3_parms:LPWSTR;
usri3_workstations:LPWSTR;
usri3_last_logon:DWORD;
usri3_last_logoff:DWORD;
usri3_acct_expires:DWORD;
usri3_max_storage:DWORD;
usri3_units_per_week:DWORD;
usri3_logon_hours:PBYTE;
usri3_bad_pw_count:DWORD;
usri3_num_logons:DWORD;
usri3_logon_server:LPWSTR;
usri3_country_code:DWORD;
usri3_code_page:DWORD;
usri3_user_id:DWORD;
usri3_primary_group_id:DWORD;
usri3_profile:LPWSTR;
usri3_home_dir_drive:LPWSTR;
usri3_password_expired:DWORD;
End;
// defines User Level 10 structure
Type USER_INFO_10=record
usri10_name:LPWSTR;
usri10_comment:LPWSTR;
usri10_usr_comment:LPWSTR;
usri10_full_name:LPWSTR;
End;
// defines User Level 11 structure
Type USER_INFO_11=record
usri11_name:LPWSTR;
usri11_comment:LPWSTR;
usri11_usr_comment:LPWSTR;
usri11_full_name:LPWSTR;
usri11_priv:DWORD;
usri11_auth_flags:DWORD;
usri11_password_age:DWORD;
usri11_home_dir:LPWSTR;
usri11_parms:LPWSTR;
usri11_last_logon:DWORD;
usri11_last_logoff:DWORD;
usri11_bad_pw_count:DWORD;
usri11_num_logons:DWORD;
usri11_logon_server:LPWSTR;
usri11_country_code:DWORD;
usri11_workstations:LPWSTR;
usri11_max_storage:DWORD;
usri11_units_per_week:DWORD;
usri11_logon_hours:PChar;
usri11_code_page:DWORD;
End;
// defines User Level 20 structure
Type USER_INFO_20=record
usri20_name:LPWSTR;
usri20_full_name:LPWSTR;
usri20_comment:LPWSTR;
usri20_flags:DWORD;
usri20_user_id:DWORD;
End;
// defines a Global Group Level 0 structure
Type GROUP_INFO_0=record
grpi0_name:LPWSTR;
End;
// defines a Global Group Level 1 structure
Type GROUP_INFO_1=record
grpi1_name:LPWSTR;
grpi1_comment:LPWSTR;
End;
// defines a Global Group Level 2 structure
Type GROUP_INFO_2=record
grpi2_name:LPWSTR;
grpi2_comment:LPWSTR;
grpi2_group_id:DWORD;
grpi2_attributes:DWORD;
End;
// defines a User Info Level 0 structure
Type GROUP_USERS_INFO_0=record
grui0_name:LPWSTR;
End;
// defines a User Info Level 1 structure
Type GROUP_USERS_INFO_1=record
grui1_name:LPWSTR;
grui1_attributes:DWORD;
End;
// defines a User Modals Level 0 structure
Type USER_MODALS_INFO_0=record
usrmod0_min_passwd_len:DWORD;
usrmod0_max_passwd_age:DWORD;
usrmod0_min_passwd_age:DWORD;
usrmod0_force_logoff:DWORD;
usrmod0_password_hist_len:DWORD;
End;
// defines a User Modals Level 1 structure
Type USER_MODALS_INFO_1=record
usrmod1_role:DWORD;
usrmod1_primary:LPWSTR;
End;
// defines a User Modals Level 2 structure
Type USER_MODALS_INFO_2=record
usrmod2_domain_name:LPWSTR;
usrmod2_domain_id:PSID;
End;
// defines a Server Transport Level 0 structure
Type SERVER_TRANSPORT_INFO_0=record
svti0_number_of_vcs:DWORD;
svti0_transport_name:LPWSTR;
svti0_transport_address:PChar;
svti0_transportaddresslength:DWORD;
svti0_networkaddress:LPWSTR;
End;
// defines a Workstation Transport Level 0 structure
Type WKSTA_TRANSPORT_INFO_0=record
wkti0_quality_of_service:DWORD;
wkti0_number_of_vcs:DWORD;
wkti0_transport_name:LPWSTR;
wkti0_transport_address:LPWSTR;
End;
// defines a Server Level 100 structure
Type SERVER_INFO_100=record
sv100_platform_id:DWORD;
sv100_name:LPWSTR;
End;
// defines a Server Level 101 structure
Type SERVER_INFO_101=record
sv101_platform_id:DWORD;
sv101_name:LPWSTR;
sv101_version_major:DWORD;
sv101_version_minor:DWORD;
sv101_type:DWORD;
sv101_comment:LPWSTR;
End;
// defines a Server Level 102 structure
Type SERVER_INFO_102=record
sv102_platform_id:DWORD;
sv102_name:LPWSTR;
sv102_version_major:DWORD;
sv102_version_minor:DWORD;
sv102_type:DWORD;
sv102_comment:LPWSTR;
sv102_users:DWORD;
sv102_disc:DWORD;
sv102_hidden:Boolean;
sv102_announce:DWORD;
sv102_anndelta:DWORD;
sv102_userpath:LPWSTR;
End;
// defines a Server Level 402 structure
Type SERVER_INFO_402=record
sv402_ulist_mtime:DWORD;
sv402_glist_mtime:DWORD;
sv402_alist_mtime:DWORD;
sv402_alerts:LPWSTR;
sv402_security:DWORD;
sv402_numadmin:DWORD;
sv402_lanmask:DWORD;
sv402_guestacct:LPWSTR;
sv402_chdevs:DWORD;
sv402_chdevq:DWORD;
sv402_chdevjobs:DWORD;
sv402_connections:DWORD;
sv402_shares:DWORD;
sv402_openfiles:DWORD;
sv402_sessopens:DWORD;
sv402_sessvcs:DWORD;
sv402_sessreqs:DWORD;
sv402_opensearch:DWORD;
sv402_activelocks:DWORD;
sv402_numreqbuf:DWORD;
sv402_sizreqbuf:DWORD;
sv402_numbigbuf:DWORD;
sv402_numfiletasks:DWORD;
sv402_alertsched:DWORD;
sv402_erroralert:DWORD;
sv402_logonalert:DWORD;
sv402_accessalert:DWORD;
sv402_diskalert:DWORD;
sv402_netioalert:DWORD;
sv402_maxauditsz:DWORD;
sv402_srvheuristics:LPWSTR;
End;
// defines a Server Level 403 structure
Type SERVER_INFO_403=record
sv403_ulist_mtime:DWORD;
sv403_glist_mtime:DWORD;
sv403_alist_mtime:DWORD;
sv403_alerts:LPWSTR;
sv403_security:DWORD;
sv403_numadmin:DWORD;
sv403_lanmask:DWORD;
sv403_guestacct:LPWSTR;
sv403_chdevs:DWORD;
sv403_chdevq:DWORD;
sv403_chdevjobs:DWORD;
sv403_connections:DWORD;
sv403_shares:DWORD;
sv403_openfiles:DWORD;
sv403_sessopens:DWORD;
sv403_sessvcs:DWORD;
sv403_sessreqs:DWORD;
sv403_opensearch:DWORD;
sv403_activelocks:DWORD;
sv403_numreqbuf:DWORD;
sv403_sizreqbuf:DWORD;
sv403_numbigbuf:DWORD;
sv403_numfiletasks:DWORD;
sv403_alertsched:DWORD;
sv403_erroralert:DWORD;
sv403_logonalert:DWORD;
sv403_accessalert:DWORD;
sv403_diskalert:DWORD;
sv403_netioalert:DWORD;
sv403_maxauditsz:DWORD;
sv403_srvheuristics:LPWSTR;
sv403_auditedevents:DWORD;
sv403_autoprofile:DWORD;
sv403_autopath:LPWSTR;
End;
// defines a Server Level 502 structure
Type SERVER_INFO_502=record
sv502_sessopens:DWORD;
sv502_sessvcs:DWORD;
sv502_opensearch:DWORD;
sv502_sizreqbuf:DWORD;
sv502_initworkitems:DWORD;
sv502_maxworkitems:DWORD;
sv502_rawworkitems:DWORD;
sv502_irpstacksize:DWORD;
sv502_maxrawbuflen:DWORD;
sv502_sessusers:DWORD;
sv502_sessconns:DWORD;
sv502_maxpagedmemoryusage:DWORD;
sv502_maxnonpagedmemoryusage:DWORD;
sv502_enablesoftcompat:Boolean;
sv502_enableforcedlogoff:Boolean;
sv502_timesource:Boolean;
sv502_acceptdownlevelapis:Boolean;
sv502_lmannounce:Boolean;
End;
// defines a Server Level 503 structure
Type SERVER_INFO_503=record
sv503_sessopens:DWORD;
sv503_sessvcs:DWORD;
sv503_opensearch:DWORD;
sv503_sizreqbuf:DWORD;
sv503_initworkitems:DWORD;
sv503_maxworkitems:DWORD;
sv503_rawworkitems:DWORD;
sv503_irpstacksize:DWORD;
sv503_maxrawbuflen:DWORD;
sv503_sessusers:DWORD;
sv503_sessconns:DWORD;
sv503_maxpagedmemoryusage:DWORD;
sv503_maxnonpagedmemoryusage:DWORD;
sv503_enablesoftcompat:Boolean;
sv503_enableforcedlogoff:Boolean;
sv503_timesource:Boolean;
sv503_acceptdownlevelapis:Boolean;
sv503_lmannounce:Boolean;
sv503_domain:PChar;
sv503_maxcopyreadlen:DWORD;
sv503_maxcopywritelen:DWORD;
sv503_minkeepsearch:DWORD;
sv503_maxkeepsearch:DWORD;
sv503_minkeepcomplsearch:DWORD;
sv503_maxkeepcomplsearch:DWORD;
sv503_threadcountadd:DWORD;
sv503_numblockthreads:DWORD;
sv503_scavtimeout:DWORD;
sv503_minrcvqueue:DWORD;
sv503_minfreeworkitems:DWORD;
sv503_xactmemsize:DWORD;
sv503_threadpriority:DWORD;
sv503_maxmpxct:DWORD;
sv503_oplockbreakwait:DWORD;
sv503_oplockbreakresponsewait:DWORD;
sv503_enableoplocks:Boolean;
sv503_enableoplockforceclose:Boolean;
sv503_enablefcbopens:Boolean;
sv503_enableraw:Boolean;
sv503_enabledpc:Boolean;
sv503_enablemdlio:Boolean;
sv503_enablefastio:Boolean;
End;
// defines a NT Workstation Statistics structure
Type STAT_WORKSTATION_0_NT=record
StatisticsStartTime:LARGE_INTEGER;
BytesReceived:LARGE_INTEGER;
SmbsReceived:LARGE_INTEGER;
PagingReadBytesRequested:LARGE_INTEGER;
NonPagingReadBytesRequested:LARGE_INTEGER;
CacheReadBytesRequested:LARGE_INTEGER;
NetworkReadBytesRequested:LARGE_INTEGER;
BytesTransmitted:LARGE_INTEGER;
SmbsTransmitted:LARGE_INTEGER;
PagingWriteBytesRequested:LARGE_INTEGER;
NonPagingWriteBytesRequested:LARGE_INTEGER;
CacheWriteBytesRequested:LARGE_INTEGER;
NetworkWriteBytesRequested:LARGE_INTEGER;
InitiallyFailedOperations:DWORD;
FailedCompletionOperations:DWORD;
ReadOperations:DWORD;
RandomReadOperations:DWORD;
ReadSmbs:DWORD;
LargeReadSmbs:DWORD;
SmallReadSmbs:DWORD;
WriteOperations:DWORD;
RandomWriteOperations:DWORD;
WriteSmbs:DWORD;
LargeWriteSmbs:DWORD;
SmallWriteSmbs:DWORD;
RawReadsDenied:DWORD;
RawWritesDenied:DWORD;
NetworkErrors:DWORD;
Sessions:DWORD;
FailedSessions:DWORD;
Reconnects:DWORD;
CoreConnects:DWORD;
Lanman20Connects:DWORD;
Lanman21Connects:DWORD;
LanmanNtConnects:DWORD;
ServerDisconnects:DWORD;
HungSessions:DWORD;
UseCount:DWORD;
FailedUseCount:DWORD;
CurrentCommands:DWORD;
End;
// defines a Workstation Level 100 structure
Type WKSTA_INFO_100=record
wki100_platform_id:DWORD;
wki100_computername:LPWSTR;
wki100_langroup:LPWSTR;
wki100_ver_major:DWORD;
wki100_ver_minor:DWORD;
End;
// defines a Workstation Level 101 structure
Type WKSTA_INFO_101=record
wki101_platform_id:DWORD;
wki101_computername:LPWSTR;
wki101_langroup:LPWSTR;
wki101_ver_major:DWORD;
wki101_ver_minor:DWORD;
wki101_lanroot:LPWSTR;
End;
// defines a Workstation Level 102 structure
Type WKSTA_INFO_102=record
wki102_platform_id:DWORD;
wki102_computername:LPWSTR;
wki102_langroup:LPWSTR;
wki102_ver_major:DWORD;
wki102_ver_minor:DWORD;
wki102_lanroot:LPWSTR;
wki102_logged_on_users:DWORD;
End;
// defines a Workstation Level 302 structure
Type WKSTA_INFO_302=record
wki302_char_wait:DWORD;
wki302_collection_time:DWORD;
wki302_maximum_collection_count:DWORD;
wki302_keep_conn:DWORD;
wki302_keep_search:DWORD;
wki302_max_cmds:DWORD;
wki302_num_work_buf:DWORD;
wki302_siz_work_buf:DWORD;
wki302_max_wrk_cache:DWORD;
wki302_sess_timeout:DWORD;
wki302_siz_error:DWORD;
wki302_num_alerts:DWORD;
wki302_num_services:DWORD;
wki302_errlog_sz:DWORD;
wki302_print_buf_time:DWORD;
wki302_num_char_buf:DWORD;
wki302_siz_char_buf:DWORD;
wki302_wrk_heuristics:LPWSTR;
wki302_mailslots:DWORD;
wki302_num_dgram_buf:DWORD;
End;
// defines a Workstation Level 402 structure
Type WKSTA_INFO_402=record
wki402_char_wait:DWORD;
wki402_collection_time:DWORD;
wki402_maximum_collection_count:DWORD;
wki402_keep_conn:DWORD;
wki402_keep_search:DWORD;
wki402_max_cmds:DWORD;
wki402_num_work_buf:DWORD;
wki402_siz_work_buf:DWORD;
wki402_max_wrk_cache:DWORD;
wki402_sess_timeout:DWORD;
wki402_siz_error:DWORD;
wki402_num_alerts:DWORD;
wki402_num_services:DWORD;
wki402_errlog_sz:DWORD;
wki402_print_buf_time:DWORD;
wki402_num_char_buf:DWORD;
wki402_siz_char_buf:DWORD;
wki402_wrk_heuristics:LPWSTR;
wki402_mailslots:DWORD;
wki402_num_dgram_buf:DWORD;
wki402_max_threads:DWORD;
End;
// defines a Workstation Level 502 structure
Type WKSTA_INFO_502=record
wki502_char_wait:DWORD;
wki502_collection_time:DWORD;
wki502_maximum_collection_count:DWORD;
wki502_keep_conn:DWORD;
wki502_max_cmds:DWORD;
wki502_sess_timeout:DWORD;
wki502_siz_char_buf:DWORD;
wki502_max_threads:DWORD;
wki502_lock_quota:DWORD;
wki502_lock_increment:DWORD;
wki502_lock_maximum:DWORD;
wki502_pipe_increment:DWORD;
wki502_pipe_maximum:DWORD;
wki502_cache_file_timeout:DWORD;
wki502_dormant_file_limit:DWORD;
wki502_read_ahead_throughput:DWORD;
wki502_num_mailslot_buffers:DWORD;
wki502_num_srv_announce_buffers:DWORD;
wki502_dgreceiver_threads:DWORD;
wki502_use_opportunistic_locking:Boolean;
wki502_use_unlock_behind:Boolean;
wki502_use_close_behind:Boolean;
wki502_buf_named_pipes:Boolean;
wki502_use_lock_read_unlock:Boolean;
wki502_utilize_nt_caching:Boolean;
wki502_use_raw_read:Boolean;
wki502_use_raw_write:Boolean;
wki502_use_write_raw_data:Boolean;
wki502_use_encryption:Boolean;
wki502_buf_files_deny_write:Boolean;
wki502_buf_read_only_files:Boolean;
wki502_force_core_create_mode:Boolean;
wki502_use_512_byte_max_transfer:Boolean;
End;
// defines a Workstation User Level 0 structure
Type WKSTA_USER_INFO_0=record
wkui0_username:LPWSTR;
End;
// defines a Workstation User Level 1 structure
Type WKSTA_USER_INFO_1=record
wkui1_username:LPWSTR;
wkui1_logon_domain:LPWSTR;
wkui1_logon_server:LPWSTR;
wkui1_oth_domains:LPWSTR;
End;
// defines a Workstation User Level 1101 structure
Type WKSTA_USER_INFO_1101=record
wkui1101_oth_domains:PChar;
End;
// defines a Name Buffer structure
Type NAME_BUFFER=record
name:Array[0..NCBNAMSZ] Of UCHAR;
name_num:UCHAR;
name_flags:UCHAR;
End;
// defines a Network Control Block structure
Type NCB=record
ncb_command:UCHAR;
ncb_retcode:UCHAR;
ncb_lsn:UCHAR;
ncb_num:UCHAR;
ncb_buffer:PUCHAR;
ncb_length:WORD;
ncb_callname:Array[0..NCBNAMSZ] Of UCHAR;
ncb_name:Array[0..NCBNAMSZ] Of UCHAR;
ncb_rto:UCHAR;
ncb_sto:UCHAR;
ncb_post:Pointer;
ncb_lana_num:UCHAR;
ncb_cmd_cplt:UCHAR;
ncb_reserve:Array[0..10] Of UCHAR;
ncb_event:THandle;
End;
// defines an Adapter Status structure
Type ADAPTER_STATUS=record
adapter_address:Array[0..6] Of Char;
rev_major:UCHAR;
reserved0:UCHAR;
adapter_type:UCHAR;
rev_minor:UCHAR;
duration:WORD;
frmr_recv:WORD;
frmr_xmit:WORD;
iframe_recv_err:WORD;
xmit_aborts:WORD;
xmit_success:DWORD;
recv_success:DWORD;
iframe_xmit_err:WORD;
recv_buff_unavail:WORD;
t1_timeouts:WORD;
ti_timeouts:WORD;
reserved1:DWORD;
free_ncbs:WORD;
max_cfg_ncbs:WORD;
max_ncbs:WORD;
xmit_buf_unavail:WORD;
max_dgram_size:WORD;
pending_sess:WORD;
max_cfg_sess:WORD;
max_sess:WORD;
max_sess_pkt_size:WORD;
name_count:WORD;
End;
// Local Group Function Defines
function NetLocalGroupAdd(Server:PWideChar;Level:DWORD;Buffer:PChar;ParmError:PChar):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupAdd';
function NetLocalGroupAddMember(Server:PWideChar;GroupName:PWideChar;MembersID:PSID):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupAddMember';
function NetLocalGroupDel(Server:PWideChar;GroupName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupDel';
function NetLocalGroupDelMember(Server:PWideChar;GroupName:PWideChar;MembersID:PSID):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupDelMember';
function NetLocalGroupEnum(Server:PWideChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;ResumeHandle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupEnum';
function NetLocalGroupGetInfo(Server:PWideChar;GroupName:PWideChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupGetInfo';
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';
function NetLocalGroupSetInfo(Server:PWideChar;GroupName:PWideChar;Level:DWORD;Buffer:PChar;ParmError:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupSetInfo';
function NetLocalGroupSetMembers(Server:PWideChar;GroupName:PWideChar;Level:DWORD;Buf:PChar;TotalEntries:DWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetLocalGroupSetMembers';
// Global Group Function Defines
function NetGroupAdd(ServerName:PWideChar;Level:DWORD;Buf:PChar;ParmError:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupAdd';
function NetGroupAddUser(ServerName:PWideChar;GroupName:PWideChar;UserName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupAddUser';
function NetGroupDel(Server:PWideChar;GroupName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupDel';
function NetGroupDelUser(Server:PWideChar;GroupName:PWideChar;UserName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupDelUser';
function NetGroupEnum(Server:PWideChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupEnum';
function NetGroupGetInfo(Server:PWideChar;GroupName:PWideChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupGetInfo';
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';
function NetGroupSetInfo(Server:PWideChar;GroupName:PWideChar;Level:DWORD;Buf:PChar;ParmError:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupSetInfo';
function NetGroupSetUsers(Server:PWideChar;GroupName:PWideChar;Level:DWORD;Buf:PChar;TotalEntries:DWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetGroupSetUsers';
// User Modals Function Defines
function NetUserModalsGet(Server:PWideChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetUserModalsGet';
function NetUserModalsSet(Server:PWideChar;Level:DWORD;Buf:PChar;ParmError:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetUserModalsSet';
// Statistics Function Defines
function NetStatisticsGet(Server:PWideChar;Service:PWideChar;Level:DWORD;Options:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetStatisticsGet';
// User Management Function Defines
function NetUserAdd(Server:PWideChar;Level:DWORD;Buffer:PChar;ParmError:PChar):LongInt; stdcall; external 'netapi32.dll' name 'NetUserAdd';
function NetUserDel(Server:PWideChar;UserName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetUserDel';
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';
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';
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';
function NetUserSetGroups(Server:PWideChar;UserName:PWideChar;Level:DWORD;Buffer:PChar;Num_Entries:DWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetUserSetGroups';
function NetUserGetInfo(Server:PWideChar;UserName:PWideChar;Level:DWORD;Buffer:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetUserGetInfo';
function NetUserSetInfo(Server:PWideChar;UserName:PWideChar;Level:DWORD;Buffer:PChar;ParmError:PChar):LongInt; stdcall; external 'netapi32.dll' name 'NetUserSetInfo';
function NetUserChangePassword(Domain:PWideChar;UserName:PWideChar;OldPassword:PWideChar;NewPassword:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetUserChangePassword';
// Server & Transport Function Defines
function NetServerTransportAdd(Server:PChar;Level:DWORD;BufPtr:PChar):LongInt; stdcall; external 'netapi32.dll' name 'NetServerTransportAdd';
function NetServerTransportDel(Server:PWideChar;TransportName:PWideChar):LongInt; stdcall; external 'netapi32.dll' name 'NetServerTransportDel';
function NetServerTransportEnum(Server:PChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:DWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetServerTransportEnum';
function NetServerDiskEnum(Server:PChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetServerDiskEnum';
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';
function NetServerGetInfo(Server:LPWSTR;Level:DWORD;var BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetServerGetInfo';
function NetServerSetInfo(Server:PChar;Level:DWORD;Buf:PChar;Parm_Error:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetServerSetInfo';
// Workstation Function Defines
function NetWkstaGetInfo(Server:PChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaGetInfo';
function NetWkstaSetInfo(Server:PChar;Level:DWORD;Buf:PChar;Parm_Error:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaSetInfo';
function NetWkstaUserGetInfo(Reserved:PChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaUserGetInfo';
function NetWkstaUserSetInfo(Reserved:PChar;Level:DWORD;BufPtr:Pointer;Parm_Error:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaUserSetInfo';
function NetWkstaUserEnum(Server:PChar;Level:DWORD;BufPtr:Pointer;PrefMaxLen:DWORD;EntriesRead:LPDWORD;TotalEntries:LPDWORD;Resume_Handle:LPDWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetWkstaUserEnum';
// Netbios function Defines
function Netbios(PNCB:Pointer):UCHAR; stdcall; external 'netapi32.dll' name 'Netbios';
// Other function Defines
function NetApiBufferFree(Buffer:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetApiBufferFree';
// Session Functions
function NetSessionDel(Server:PChar;ClientName:PChar;UserName:PChar;Reserved:DWORD):LongInt; stdcall; external 'netapi32.dll' name 'NetSessionDel';
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';
function NetSessionGetInfo(Server:PChar;ClientName:PChar;UserName:PChar;Level:DWORD;BufPtr:Pointer):LongInt; stdcall; external 'netapi32.dll' name 'NetSessionGetInfo';