📄 jwalmaccess.pas
字号:
end;
{$EXTERNALSYM _USER_MODALS_INFO_1004}
USER_MODALS_INFO_1004 = _USER_MODALS_INFO_1004;
{$EXTERNALSYM USER_MODALS_INFO_1004}
TUserModalsInfo1004 = USER_MODALS_INFO_1004;
PUserModalsInfo1004 = PUSER_MODALS_INFO_1004;
LPUSER_MODALS_INFO_1005 = ^USER_MODALS_INFO_1005;
{$EXTERNALSYM LPUSER_MODALS_INFO_1005}
PUSER_MODALS_INFO_1005 = ^USER_MODALS_INFO_1005;
{$EXTERNALSYM PUSER_MODALS_INFO_1005}
_USER_MODALS_INFO_1005 = record
usrmod1005_password_hist_len: DWORD;
end;
{$EXTERNALSYM _USER_MODALS_INFO_1005}
USER_MODALS_INFO_1005 = _USER_MODALS_INFO_1005;
{$EXTERNALSYM USER_MODALS_INFO_1005}
TUserModalsInfo1005 = USER_MODALS_INFO_1005;
PUserModalsInfo1005 = PUSER_MODALS_INFO_1005;
LPUSER_MODALS_INFO_1006 = ^USER_MODALS_INFO_1006;
{$EXTERNALSYM LPUSER_MODALS_INFO_1006}
PUSER_MODALS_INFO_1006 = ^USER_MODALS_INFO_1006;
{$EXTERNALSYM PUSER_MODALS_INFO_1006}
_USER_MODALS_INFO_1006 = record
usrmod1006_role: DWORD;
end;
{$EXTERNALSYM _USER_MODALS_INFO_1006}
USER_MODALS_INFO_1006 = _USER_MODALS_INFO_1006;
{$EXTERNALSYM USER_MODALS_INFO_1006}
TUserModalsInfo1006 = USER_MODALS_INFO_1006;
PUserModalsInfo1006 = PUSER_MODALS_INFO_1006;
LPUSER_MODALS_INFO_1007 = ^USER_MODALS_INFO_1007;
{$EXTERNALSYM LPUSER_MODALS_INFO_1007}
PUSER_MODALS_INFO_1007 = ^USER_MODALS_INFO_1007;
{$EXTERNALSYM PUSER_MODALS_INFO_1007}
_USER_MODALS_INFO_1007 = record
usrmod1007_primary: LPWSTR;
end;
{$EXTERNALSYM _USER_MODALS_INFO_1007}
USER_MODALS_INFO_1007 = _USER_MODALS_INFO_1007;
{$EXTERNALSYM USER_MODALS_INFO_1007}
TUserModalsInfo1007 = USER_MODALS_INFO_1007;
PUserModalsInfo1007 = PUSER_MODALS_INFO_1007;
//
// Special Values and Constants - User
//
//
// Bit masks for field usriX_flags of USER_INFO_X (X = 0/1).
//
const
UF_SCRIPT = $0001;
{$EXTERNALSYM UF_SCRIPT}
UF_ACCOUNTDISABLE = $0002;
{$EXTERNALSYM UF_ACCOUNTDISABLE}
UF_HOMEDIR_REQUIRED = $0008;
{$EXTERNALSYM UF_HOMEDIR_REQUIRED}
UF_LOCKOUT = $0010;
{$EXTERNALSYM UF_LOCKOUT}
UF_PASSWD_NOTREQD = $0020;
{$EXTERNALSYM UF_PASSWD_NOTREQD}
UF_PASSWD_CANT_CHANGE = $0040;
{$EXTERNALSYM UF_PASSWD_CANT_CHANGE}
UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED = $0080;
{$EXTERNALSYM UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED}
//
// Account type bits as part of usri_flags.
//
UF_TEMP_DUPLICATE_ACCOUNT = $0100;
{$EXTERNALSYM UF_TEMP_DUPLICATE_ACCOUNT}
UF_NORMAL_ACCOUNT = $0200;
{$EXTERNALSYM UF_NORMAL_ACCOUNT}
UF_INTERDOMAIN_TRUST_ACCOUNT = $0800;
{$EXTERNALSYM UF_INTERDOMAIN_TRUST_ACCOUNT}
UF_WORKSTATION_TRUST_ACCOUNT = $1000;
{$EXTERNALSYM UF_WORKSTATION_TRUST_ACCOUNT}
UF_SERVER_TRUST_ACCOUNT = $2000;
{$EXTERNALSYM UF_SERVER_TRUST_ACCOUNT}
UF_MACHINE_ACCOUNT_MASK = (UF_INTERDOMAIN_TRUST_ACCOUNT or UF_WORKSTATION_TRUST_ACCOUNT or UF_SERVER_TRUST_ACCOUNT);
{$EXTERNALSYM UF_MACHINE_ACCOUNT_MASK}
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;
{$EXTERNALSYM UF_ACCOUNT_TYPE_MASK}
UF_DONT_EXPIRE_PASSWD = $10000;
{$EXTERNALSYM UF_DONT_EXPIRE_PASSWD}
UF_MNS_LOGON_ACCOUNT = $20000;
{$EXTERNALSYM UF_MNS_LOGON_ACCOUNT}
UF_SMARTCARD_REQUIRED = $40000;
{$EXTERNALSYM UF_SMARTCARD_REQUIRED}
UF_TRUSTED_FOR_DELEGATION = $80000;
{$EXTERNALSYM UF_TRUSTED_FOR_DELEGATION}
UF_NOT_DELEGATED = $100000;
{$EXTERNALSYM UF_NOT_DELEGATED}
UF_USE_DES_KEY_ONLY = $200000;
{$EXTERNALSYM UF_USE_DES_KEY_ONLY}
UF_DONT_REQUIRE_PREAUTH = $400000;
{$EXTERNALSYM UF_DONT_REQUIRE_PREAUTH}
UF_PASSWORD_EXPIRED = DWORD($800000);
{$EXTERNALSYM UF_PASSWORD_EXPIRED}
UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION = $1000000;
{$EXTERNALSYM UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION}
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 or
UF_ENCRYPTED_TEXT_PASSWORD_ALLOWED or
UF_SMARTCARD_REQUIRED or
UF_TRUSTED_FOR_DELEGATION or
UF_NOT_DELEGATED or
UF_USE_DES_KEY_ONLY or
UF_DONT_REQUIRE_PREAUTH or
UF_PASSWORD_EXPIRED or
UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION;
{$EXTERNALSYM UF_SETTABLE_BITS}
//
// bit masks for the NetUserEnum filter parameter.
//
FILTER_TEMP_DUPLICATE_ACCOUNT = ($0001);
{$EXTERNALSYM FILTER_TEMP_DUPLICATE_ACCOUNT}
FILTER_NORMAL_ACCOUNT = ($0002);
{$EXTERNALSYM FILTER_NORMAL_ACCOUNT}
// #define FILTER_PROXY_ACCOUNT (0x0004)
FILTER_INTERDOMAIN_TRUST_ACCOUNT = ($0008);
{$EXTERNALSYM FILTER_INTERDOMAIN_TRUST_ACCOUNT}
FILTER_WORKSTATION_TRUST_ACCOUNT = ($0010);
{$EXTERNALSYM FILTER_WORKSTATION_TRUST_ACCOUNT}
FILTER_SERVER_TRUST_ACCOUNT = ($0020);
{$EXTERNALSYM FILTER_SERVER_TRUST_ACCOUNT}
//
// bit masks for the NetUserGetLocalGroups flags
//
LG_INCLUDE_INDIRECT = ($0001);
{$EXTERNALSYM LG_INCLUDE_INDIRECT}
//
// Bit masks for field usri2_auth_flags of USER_INFO_2.
//
AF_OP_PRINT = $1;
{$EXTERNALSYM AF_OP_PRINT}
AF_OP_COMM = $2;
{$EXTERNALSYM AF_OP_COMM}
AF_OP_SERVER = $4;
{$EXTERNALSYM AF_OP_SERVER}
AF_OP_ACCOUNTS = $8;
{$EXTERNALSYM AF_OP_ACCOUNTS}
AF_SETTABLE_BITS = (AF_OP_PRINT or AF_OP_COMM or AF_OP_SERVER or AF_OP_ACCOUNTS);
{$EXTERNALSYM AF_SETTABLE_BITS}
//
// UAS role manifests under NETLOGON
//
UAS_ROLE_STANDALONE = 0;
{$EXTERNALSYM UAS_ROLE_STANDALONE}
UAS_ROLE_MEMBER = 1;
{$EXTERNALSYM UAS_ROLE_MEMBER}
UAS_ROLE_BACKUP = 2;
{$EXTERNALSYM UAS_ROLE_BACKUP}
UAS_ROLE_PRIMARY = 3;
{$EXTERNALSYM UAS_ROLE_PRIMARY}
//
// Values for ParmError for NetUserSetInfo.
//
USER_NAME_PARMNUM = 1;
{$EXTERNALSYM USER_NAME_PARMNUM}
USER_PASSWORD_PARMNUM = 3;
{$EXTERNALSYM USER_PASSWORD_PARMNUM}
USER_PASSWORD_AGE_PARMNUM = 4;
{$EXTERNALSYM USER_PASSWORD_AGE_PARMNUM}
USER_PRIV_PARMNUM = 5;
{$EXTERNALSYM USER_PRIV_PARMNUM}
USER_HOME_DIR_PARMNUM = 6;
{$EXTERNALSYM USER_HOME_DIR_PARMNUM}
USER_COMMENT_PARMNUM = 7;
{$EXTERNALSYM USER_COMMENT_PARMNUM}
USER_FLAGS_PARMNUM = 8;
{$EXTERNALSYM USER_FLAGS_PARMNUM}
USER_SCRIPT_PATH_PARMNUM = 9;
{$EXTERNALSYM USER_SCRIPT_PATH_PARMNUM}
USER_AUTH_FLAGS_PARMNUM = 10;
{$EXTERNALSYM USER_AUTH_FLAGS_PARMNUM}
USER_FULL_NAME_PARMNUM = 11;
{$EXTERNALSYM USER_FULL_NAME_PARMNUM}
USER_USR_COMMENT_PARMNUM = 12;
{$EXTERNALSYM USER_USR_COMMENT_PARMNUM}
USER_PARMS_PARMNUM = 13;
{$EXTERNALSYM USER_PARMS_PARMNUM}
USER_WORKSTATIONS_PARMNUM = 14;
{$EXTERNALSYM USER_WORKSTATIONS_PARMNUM}
USER_LAST_LOGON_PARMNUM = 15;
{$EXTERNALSYM USER_LAST_LOGON_PARMNUM}
USER_LAST_LOGOFF_PARMNUM = 16;
{$EXTERNALSYM USER_LAST_LOGOFF_PARMNUM}
USER_ACCT_EXPIRES_PARMNUM = 17;
{$EXTERNALSYM USER_ACCT_EXPIRES_PARMNUM}
USER_MAX_STORAGE_PARMNUM = 18;
{$EXTERNALSYM USER_MAX_STORAGE_PARMNUM}
USER_UNITS_PER_WEEK_PARMNUM = 19;
{$EXTERNALSYM USER_UNITS_PER_WEEK_PARMNUM}
USER_LOGON_HOURS_PARMNUM = 20;
{$EXTERNALSYM USER_LOGON_HOURS_PARMNUM}
USER_PAD_PW_COUNT_PARMNUM = 21;
{$EXTERNALSYM USER_PAD_PW_COUNT_PARMNUM}
USER_NUM_LOGONS_PARMNUM = 22;
{$EXTERNALSYM USER_NUM_LOGONS_PARMNUM}
USER_LOGON_SERVER_PARMNUM = 23;
{$EXTERNALSYM USER_LOGON_SERVER_PARMNUM}
USER_COUNTRY_CODE_PARMNUM = 24;
{$EXTERNALSYM USER_COUNTRY_CODE_PARMNUM}
USER_CODE_PAGE_PARMNUM = 25;
{$EXTERNALSYM USER_CODE_PAGE_PARMNUM}
USER_PRIMARY_GROUP_PARMNUM = 51;
{$EXTERNALSYM USER_PRIMARY_GROUP_PARMNUM}
USER_PROFILE = 52; // ?? Delete when convenient
{$EXTERNALSYM USER_PROFILE}
USER_PROFILE_PARMNUM = 52;
{$EXTERNALSYM USER_PROFILE_PARMNUM}
USER_HOME_DIR_DRIVE_PARMNUM = 53;
{$EXTERNALSYM USER_HOME_DIR_DRIVE_PARMNUM}
//
// the new infolevel counterparts of the old info level + parmnum
//
USER_NAME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_NAME_PARMNUM);
{$EXTERNALSYM USER_NAME_INFOLEVEL}
USER_PASSWORD_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PASSWORD_PARMNUM);
{$EXTERNALSYM USER_PASSWORD_INFOLEVEL}
USER_PASSWORD_AGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PASSWORD_AGE_PARMNUM);
{$EXTERNALSYM USER_PASSWORD_AGE_INFOLEVEL}
USER_PRIV_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PRIV_PARMNUM);
{$EXTERNALSYM USER_PRIV_INFOLEVEL}
USER_HOME_DIR_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_HOME_DIR_PARMNUM);
{$EXTERNALSYM USER_HOME_DIR_INFOLEVEL}
USER_COMMENT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_COMMENT_PARMNUM);
{$EXTERNALSYM USER_COMMENT_INFOLEVEL}
USER_FLAGS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_FLAGS_PARMNUM);
{$EXTERNALSYM USER_FLAGS_INFOLEVEL}
USER_SCRIPT_PATH_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_SCRIPT_PATH_PARMNUM);
{$EXTERNALSYM USER_SCRIPT_PATH_INFOLEVEL}
USER_AUTH_FLAGS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_AUTH_FLAGS_PARMNUM);
{$EXTERNALSYM USER_AUTH_FLAGS_INFOLEVEL}
USER_FULL_NAME_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_FULL_NAME_PARMNUM);
{$EXTERNALSYM USER_FULL_NAME_INFOLEVEL}
USER_USR_COMMENT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_USR_COMMENT_PARMNUM);
{$EXTERNALSYM USER_USR_COMMENT_INFOLEVEL}
USER_PARMS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PARMS_PARMNUM);
{$EXTERNALSYM USER_PARMS_INFOLEVEL}
USER_WORKSTATIONS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_WORKSTATIONS_PARMNUM);
{$EXTERNALSYM USER_WORKSTATIONS_INFOLEVEL}
USER_LAST_LOGON_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_LAST_LOGON_PARMNUM);
{$EXTERNALSYM USER_LAST_LOGON_INFOLEVEL}
USER_LAST_LOGOFF_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_LAST_LOGOFF_PARMNUM);
{$EXTERNALSYM USER_LAST_LOGOFF_INFOLEVEL}
USER_ACCT_EXPIRES_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_ACCT_EXPIRES_PARMNUM);
{$EXTERNALSYM USER_ACCT_EXPIRES_INFOLEVEL}
USER_MAX_STORAGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_MAX_STORAGE_PARMNUM);
{$EXTERNALSYM USER_MAX_STORAGE_INFOLEVEL}
USER_UNITS_PER_WEEK_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_UNITS_PER_WEEK_PARMNUM);
{$EXTERNALSYM USER_UNITS_PER_WEEK_INFOLEVEL}
USER_LOGON_HOURS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_LOGON_HOURS_PARMNUM);
{$EXTERNALSYM USER_LOGON_HOURS_INFOLEVEL}
USER_PAD_PW_COUNT_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PAD_PW_COUNT_PARMNUM);
{$EXTERNALSYM USER_PAD_PW_COUNT_INFOLEVEL}
USER_NUM_LOGONS_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_NUM_LOGONS_PARMNUM);
{$EXTERNALSYM USER_NUM_LOGONS_INFOLEVEL}
USER_LOGON_SERVER_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_LOGON_SERVER_PARMNUM);
{$EXTERNALSYM USER_LOGON_SERVER_INFOLEVEL}
USER_COUNTRY_CODE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_COUNTRY_CODE_PARMNUM);
{$EXTERNALSYM USER_COUNTRY_CODE_INFOLEVEL}
USER_CODE_PAGE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_CODE_PAGE_PARMNUM);
{$EXTERNALSYM USER_CODE_PAGE_INFOLEVEL}
USER_PRIMARY_GROUP_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_PRIMARY_GROUP_PARMNUM);
{$EXTERNALSYM USER_PRIMARY_GROUP_INFOLEVEL}
// todo USER_POSIX_ID_PARMNUM where is it defined?
// USER_POSIX_ID_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_POSIX_ID_PARMNUM);
// {$EXTERNALSYM USER_POSIX_ID_INFOLEVEL}
USER_HOME_DIR_DRIVE_INFOLEVEL = (PARMNUM_BASE_INFOLEVEL + USER_HOME_DIR_DRIVE_PARMNUM);
{$EXTERNALSYM USER_HOME_DIR_DRIVE_INFOLEVEL}
//
// For SetInfo call (parmnum 0) when password change not required
//
NULL_USERSETINFO_PASSWD = ' ';
{$EXTERNALSYM NULL_USERSETINFO_PASSWD}
TIMEQ_FOREVER = ULONG(-1);
{$EXTERNALSYM TIMEQ_FOREVER}
USER_MAXSTORAGE_UNLIMITED = ULONG(-1);
{$EXTERNALSYM USER_MAXSTORAGE_UNLIMITED}
USER_NO_LOGOFF = ULONG(-1);
{$EXTERNALSYM USER_NO_LOGOFF}
UNITS_PER_DAY = 24;
{$EXTERNALSYM UNITS_PER_DAY}
UNITS_PER_WEEK = UNITS_PER_DAY * 7;
{$EXTERNALSYM UNITS_PER_WEEK}
//
// Privilege levels (USER_INFO_X field usriX_priv (X = 0/1)).
//
USER_PRIV_MASK = $3;
{$EXTERNALSYM USER_PRIV_MASK}
USER_PRIV_GUEST = 0;
{$EXTERNALSYM USER_PRIV_GUEST}
USER_PRIV_USER = 1;
{$EXTERNALSYM USER_PRIV_USER}
USER_PRIV_ADMIN = 2;
{$EXTERNALSYM USER_PRIV_ADMIN}
//
// user modals related defaults
//
MAX_PASSWD_LEN = PWLEN;
{$EXTERNALSYM MAX_PASSWD_LEN}
DEF_MIN_PWLEN = 6;
{$EXTERNALSYM DEF_MIN_PWLEN}
DEF_PWUNIQUENESS = 5;
{$EXTERNALSYM DEF_PWUNIQUENESS}
DEF_MAX_PWHIST = 8;
{$EXTERNALSYM DEF_MAX_PWHIST}
DEF_MAX_PWAGE = TIMEQ_FOREVER; // forever
{$EXTERNALSYM DEF_MAX_PWAGE}
DEF_MIN_PWAGE = 0; // 0 days
{$EXTERNALSYM DEF_MIN_PWAGE}
DEF_FORCE_LOGOFF = ULONG($ffffffff); // never
{$EXTERNALSYM DEF_FORCE_LOGOFF}
DEF_MAX_BADPW = 0; // no limit
{$EXTERNALSYM DEF_MAX_BADPW}
ONE_DAY = ULONG(01*24*3600); // 01 day
{$EXTERNALSYM ONE_DAY}
//
// User Logon Validation (codes returned)
//
VALIDATED_LOGON = 0;
{$EXTERNALSYM VALIDATED_LOGON}
PASSWORD_EXPIRED = 2;
{$EXTERNALSYM PASSWORD_EXPIRED}
NON_VALIDATED_LOGON = 3;
{$EXTERNALSYM NON_VALIDATED_LOGON}
VALID_LOGOFF = 1;
{$EXTERNALSYM VALID_LOGOFF}
//
// parmnum manifests for user modals
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -