⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwalmaccess.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -