📄 stnetapi.pas
字号:
TUSER_MODALS_INFO_1001 = record
usrmod1001_min_passwd_len : DWord;
end;
PUSER_MODALS_INFO_1002 = ^TUSER_MODALS_INFO_1002;
TUSER_MODALS_INFO_1002 = record
usrmod1002_max_passwd_age : DWord;
end;
PUSER_MODALS_INFO_1003 = ^TUSER_MODALS_INFO_1003;
TUSER_MODALS_INFO_1003 = record
usrmod1003_min_passwd_age : DWord;
end;
PUSER_MODALS_INFO_1004 = ^TUSER_MODALS_INFO_1004;
TUSER_MODALS_INFO_1004 = record
usrmod1004_force_logoff : DWord;
end;
PUSER_MODALS_INFO_1005 = ^TUSER_MODALS_INFO_1005;
TUSER_MODALS_INFO_1005 = record
usrmod1005_password_hist_len : DWord;
end;
PUSER_MODALS_INFO_1006 = ^TUSER_MODALS_INFO_1006;
TUSER_MODALS_INFO_1006 = record
usrmod1006_role : DWord;
end;
PUSER_MODALS_INFO_1007 = ^TUSER_MODALS_INFO_1007;
TUSER_MODALS_INFO_1007 = record
usrmod1007_primary : LPWSTR;
end;
const
{ Bit masks for field usriX_flags of USER_INFO_X (X = 0/1). }
UF_SCRIPT = $0001;
UF_ACCOUNTDISABLE = $0002;
UF_HOMEDIR_REQUIRED = $0008;
UF_LOCKOUT = $0010;
UF_PASSWD_NOTREQD = $0020;
UF_PASSWD_CANT_CHANGE = $0040;
{ Account type bits as part of usri_flags. }
UF_TEMP_DUPLICATE_ACCOUNT = $0100;
UF_NORMAL_ACCOUNT = $0200;
UF_INTERDOMAIN_TRUST_ACCOUNT = $0800;
UF_WORKSTATION_TRUST_ACCOUNT = $1000;
UF_SERVER_TRUST_ACCOUNT = $2000;
UF_MACHINE_ACCOUNT_MASK = (UF_INTERDOMAIN_TRUST_ACCOUNT or
UF_WORKSTATION_TRUST_ACCOUNT or
UF_SERVER_TRUST_ACCOUNT);
UF_ACCOUNT_TYPE_MASK = (UF_TEMP_DUPLICATE_ACCOUNT or
UF_NORMAL_ACCOUNT or
UF_INTERDOMAIN_TRUST_ACCOUNT or
UF_WORKSTATION_TRUST_ACCOUNT or
UF_SERVER_TRUST_ACCOUNT);
UF_DONT_EXPIRE_PASSWD = $10000;
UF_MNS_LOGON_ACCOUNT = $20000;
UF_SETTABLE_BITS = (UF_SCRIPT or
UF_ACCOUNTDISABLE or
UF_LOCKOUT or
UF_HOMEDIR_REQUIRED or
UF_PASSWD_NOTREQD or
UF_PASSWD_CANT_CHANGE or
UF_ACCOUNT_TYPE_MASK or
UF_DONT_EXPIRE_PASSWD or
UF_MNS_LOGON_ACCOUNT);
{ bit masks for the NetUserEnum filter parameter. }
FILTER_TEMP_DUPLICATE_ACCOUNT = $0001;
FILTER_NORMAL_ACCOUNT = $0002;
{FILTER_PROXY_ACCOUNT = $0004;}
FILTER_INTERDOMAIN_TRUST_ACCOUNT = $0008;
FILTER_WORKSTATION_TRUST_ACCOUNT = $0010;
FILTER_SERVER_TRUST_ACCOUNT = $0020;
{ bit masks for the NetUserGetLocalGroups flags }
LG_INCLUDE_INDIRECT = $0001;
{ Bit masks for field usri2_auth_flags of USER_INFO_2. }
AF_OP_PRINT = $1;
AF_OP_COMM = $2;
AF_OP_SERVER = $4;
AF_OP_ACCOUNTS = $8;
AF_SETTABLE_BITS = (AF_OP_PRINT or AF_OP_COMM or
AF_OP_SERVER or AF_OP_ACCOUNTS);
{ UAS role manifests under NETLOGON }
UAS_ROLE_STANDALONE = 0;
UAS_ROLE_MEMBER = 1;
UAS_ROLE_BACKUP = 2;
UAS_ROLE_PRIMARY = 3;
{ Values for ParmError for NetUserSetInfo. }
USER_NAME_PARMNUM = 1;
USER_PASSWORD_PARMNUM = 3;
USER_PASSWORD_AGE_PARMNUM = 4;
USER_PRIV_PARMNUM = 5;
USER_HOME_DIR_PARMNUM = 6;
USER_COMMENT_PARMNUM = 7;
USER_FLAGS_PARMNUM = 8;
USER_SCRIPT_PATH_PARMNUM = 9;
USER_AUTH_FLAGS_PARMNUM = 10;
USER_FULL_NAME_PARMNUM = 11;
USER_USR_COMMENT_PARMNUM = 12;
USER_PARMS_PARMNUM = 13;
USER_WORKSTATIONS_PARMNUM = 14;
USER_LAST_LOGON_PARMNUM = 15;
USER_LAST_LOGOFF_PARMNUM = 16;
USER_ACCT_EXPIRES_PARMNUM = 17;
USER_MAX_STORAGE_PARMNUM = 18;
USER_UNITS_PER_WEEK_PARMNUM = 19;
USER_LOGON_HOURS_PARMNUM = 20;
USER_PAD_PW_COUNT_PARMNUM = 21;
USER_NUM_LOGONS_PARMNUM = 22;
USER_LOGON_SERVER_PARMNUM = 23;
USER_COUNTRY_CODE_PARMNUM = 24;
USER_CODE_PAGE_PARMNUM = 25;
USER_PRIMARY_GROUP_PARMNUM = 51;
USER_PROFILE = 52;
USER_PROFILE_PARMNUM = 52;
USER_HOME_DIR_DRIVE_PARMNUM = 53;
{ the new infolevel counterparts of the old info level + parmnum }
USER_NAME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_NAME_PARMNUM);
USER_PASSWORD_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PASSWORD_PARMNUM);
USER_PASSWORD_AGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PASSWORD_AGE_PARMNUM);
USER_PRIV_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PRIV_PARMNUM);
USER_HOME_DIR_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_HOME_DIR_PARMNUM);
USER_COMMENT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_COMMENT_PARMNUM);
USER_FLAGS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_FLAGS_PARMNUM);
USER_SCRIPT_PATH_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_SCRIPT_PATH_PARMNUM);
USER_AUTH_FLAGS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_AUTH_FLAGS_PARMNUM);
USER_FULL_NAME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_FULL_NAME_PARMNUM);
USER_USR_COMMENT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_USR_COMMENT_PARMNUM);
USER_PARMS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PARMS_PARMNUM);
USER_WORKSTATIONS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_WORKSTATIONS_PARMNUM);
USER_LAST_LOGON_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_LAST_LOGON_PARMNUM);
USER_LAST_LOGOFF_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_LAST_LOGOFF_PARMNUM);
USER_ACCT_EXPIRES_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_ACCT_EXPIRES_PARMNUM);
USER_MAX_STORAGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_MAX_STORAGE_PARMNUM);
USER_UNITS_PER_WEEK_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_UNITS_PER_WEEK_PARMNUM);
USER_LOGON_HOURS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_LOGON_HOURS_PARMNUM);
USER_PAD_PW_COUNT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PAD_PW_COUNT_PARMNUM);
USER_NUM_LOGONS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_NUM_LOGONS_PARMNUM);
USER_LOGON_SERVER_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_LOGON_SERVER_PARMNUM);
USER_COUNTRY_CODE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_COUNTRY_CODE_PARMNUM);
USER_CODE_PAGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_CODE_PAGE_PARMNUM);
USER_PRIMARY_GROUP_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PRIMARY_GROUP_PARMNUM);
USER_POSIX_ID_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_POSIX_ID_PARMNUM);
USER_HOME_DIR_DRIVE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_HOME_DIR_DRIVE_PARMNUM);
{ For SetInfo call (parmnum 0) when password change not required }
NULL_USERSETINFO_PASSWD = ' ';
TIMEQ_FOREVER = ULong(-1);
USER_MAXSTORAGE_UNLIMITED = ULong(-1);
USER_NO_LOGOFF = ULong(-1);
UNITS_PER_DAY = 24;
UNITS_PER_WEEK = UNITS_PER_DAY * 7;
{ Privilege levels (USER_INFO_X field usriX_priv (X = 0/1)). }
USER_PRIV_MASK = $3;
USER_PRIV_GUEST = 0;
USER_PRIV_USER = 1;
USER_PRIV_ADMIN = 2;
{ user modals related defaults }
MAX_PASSWD_LEN = PWLEN;
DEF_MIN_PWLEN = 6;
DEF_PWUNIQUENESS = 5;
DEF_MAX_PWHIST = 8;
DEF_MAX_PWAGE = TIMEQ_FOREVER; { forever }
DEF_MIN_PWAGE = ULong(0); { 0 days }
DEF_FORCE_LOGOFF = ULong($ffffffff); { never }
DEF_MAX_BADPW = 0; { no limit }
ONE_DAY = ULong(01*24*3600); { 01 day }
{ User Logon Validation (codes returned) }
VALIDATED_LOGON = 0;
PASSWORD_EXPIRED = 2;
NON_VALIDATED_LOGON = 3;
VALID_LOGOFF = 1;
{ parmnum manifests for user modals }
MODALS_MIN_PASSWD_LEN_PARMNUM = 1;
MODALS_MAX_PASSWD_AGE_PARMNUM = 2;
MODALS_MIN_PASSWD_AGE_PARMNUM = 3;
MODALS_FORCE_LOGOFF_PARMNUM = 4;
MODALS_PASSWD_HIST_LEN_PARMNUM = 5;
MODALS_ROLE_PARMNUM = 6;
MODALS_PRIMARY_PARMNUM = 7;
MODALS_DOMAIN_NAME_PARMNUM = 8;
MODALS_DOMAIN_ID_PARMNUM = 9;
MODALS_LOCKOUT_DURATION_PARMNUM = 10;
MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM = 11;
MODALS_LOCKOUT_THRESHOLD_PARMNUM = 12;
{ the new infolevel counterparts of the old info level + parmnum }
MODALS_MIN_PASSWD_LEN_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_MIN_PASSWD_LEN_PARMNUM);
MODALS_MAX_PASSWD_AGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_MAX_PASSWD_AGE_PARMNUM);
MODALS_MIN_PASSWD_AGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_MIN_PASSWD_AGE_PARMNUM);
MODALS_FORCE_LOGOFF_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_FORCE_LOGOFF_PARMNUM);
MODALS_PASSWD_HIST_LEN_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_PASSWD_HIST_LEN_PARMNUM);
MODALS_ROLE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_ROLE_PARMNUM);
MODALS_PRIMARY_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_PRIMARY_PARMNUM);
MODALS_DOMAIN_NAME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_DOMAIN_NAME_PARMNUM);
MODALS_DOMAIN_ID_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + MODALS_DOMAIN_ID_PARMNUM);
type
PGROUP_INFO_0 = ^TGROUP_INFO_0;
TGROUP_INFO_0 = record
grpi0_name : LPWSTR;
end;
PGROUP_INFO_1 = ^TGROUP_INFO_1;
TGROUP_INFO_1 = record
grpi1_name : LPWSTR;
grpi1_comment : LPWSTR;
end;
PGROUP_INFO_2 = ^TGROUP_INFO_2;
TGROUP_INFO_2 = record
grpi2_name : LPWSTR;
grpi2_comment : LPWSTR;
grpi2_group_id : DWord;
grpi2_attributes : DWord;
end;
PGROUP_INFO_1002 = ^TGROUP_INFO_1002;
TGROUP_INFO_1002 = record
grpi1002_comment : LPWSTR;
end;
PGROUP_INFO_1005 = ^TGROUP_INFO_1005;
TGROUP_INFO_1005 = record
grpi1005_attributes : DWord;
end;
PGROUP_USERS_INFO_0 = ^TGROUP_USERS_INFO_0;
TGROUP_USERS_INFO_0 = record
grui0_name : LPWSTR;
end;
PGROUP_USERS_INFO_1 = ^TGRO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -