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

📄 stnetapi.pas

📁 条码控件: 一维条码控件 二维条码控件 PDF417Barcode MaxiCodeBarcode
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  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 + -