ReactOS  0.4.13-dev-242-g611e6d7
lmaccess.h File Reference
#include <lmcons.h>
Include dependency graph for lmaccess.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _USER_INFO_0
 
struct  _USER_INFO_1
 
struct  _USER_INFO_2
 
struct  _USER_INFO_3
 
struct  _USER_INFO_4
 
struct  _USER_INFO_10
 
struct  _USER_INFO_11
 
struct  _USER_INFO_20
 
struct  _USER_INFO_21
 
struct  _USER_INFO_22
 
struct  _USER_INFO_23
 
struct  _USER_INFO_1003
 
struct  _USER_INFO_1005
 
struct  _USER_INFO_1006
 
struct  _USER_INFO_1007
 
struct  _USER_INFO_1008
 
struct  _USER_INFO_1009
 
struct  _USER_INFO_1010
 
struct  _USER_INFO_1011
 
struct  _USER_INFO_1012
 
struct  _USER_INFO_1013
 
struct  _USER_INFO_1014
 
struct  _USER_INFO_1017
 
struct  _USER_INFO_1018
 
struct  _USER_INFO_1020
 
struct  _USER_INFO_1023
 
struct  _USER_INFO_1024
 
struct  _USER_INFO_1025
 
struct  _USER_INFO_1051
 
struct  _USER_INFO_1052
 
struct  _USER_INFO_1053
 
struct  _USER_MODALS_INFO_0
 
struct  _USER_MODALS_INFO_1
 
struct  _USER_MODALS_INFO_2
 
struct  _USER_MODALS_INFO_3
 
struct  _USER_MODALS_INFO_1001
 
struct  _USER_MODALS_INFO_1002
 
struct  _USER_MODALS_INFO_1003
 
struct  _USER_MODALS_INFO_1004
 
struct  _USER_MODALS_INFO_1005
 
struct  _USER_MODALS_INFO_1006
 
struct  _USER_MODALS_INFO_1007
 
struct  _GROUP_INFO_0
 
struct  _GROUP_INFO_1
 
struct  _GROUP_INFO_2
 
struct  _GROUP_INFO_3
 
struct  _GROUP_INFO_1002
 
struct  _GROUP_INFO_1005
 
struct  _GROUP_USERS_INFO_0
 
struct  _GROUP_USERS_INFO_1
 
struct  _LOCALGROUP_INFO_0
 
struct  _LOCALGROUP_INFO_1
 
struct  _LOCALGROUP_INFO_1002
 
struct  _LOCALGROUP_MEMBERS_INFO_0
 
struct  _LOCALGROUP_MEMBERS_INFO_1
 
struct  _LOCALGROUP_MEMBERS_INFO_2
 
struct  _LOCALGROUP_MEMBERS_INFO_3
 
struct  _LOCALGROUP_USERS_INFO_0
 
struct  _NET_DISPLAY_USER
 
struct  _NET_DISPLAY_MACHINE
 
struct  _NET_DISPLAY_GROUP
 
struct  _ACCESS_INFO_0
 
struct  _ACCESS_INFO_1
 
struct  _ACCESS_INFO_1002
 
struct  _ACCESS_LIST
 
struct  _NETLOGON_INFO_1
 
struct  _NETLOGON_INFO_2
 
struct  _NETLOGON_INFO_3
 

Macros

#define GROUP_SPECIALGRP_USERS   L"USERS"
 
#define GROUP_SPECIALGRP_ADMINS   L"ADMINS"
 
#define GROUP_SPECIALGRP_GUESTS   L"GUESTS"
 
#define GROUP_SPECIALGRP_LOCAL   L"LOCAL"
 
#define ACCESS_LETTERS   "RWCXDAP "
 
#define NETLOGON_CONTROL_QUERY   1
 
#define NETLOGON_CONTROL_REPLICATE   2
 
#define NETLOGON_CONTROL_SYNCHRONIZE   3
 
#define NETLOGON_CONTROL_PDC_REPLICATE   4
 
#define NETLOGON_CONTROL_REDISCOVER   5
 
#define NETLOGON_CONTROL_TC_QUERY   6
 
#define NETLOGON_CONTROL_BACKUP_CHANGE_LOG   65532
 
#define NETLOGON_CONTROL_TRUNCATE_LOG   65533
 
#define NETLOGON_CONTROL_SET_DBFLAG   65534
 
#define NETLOGON_CONTROL_BREAKPOINT   65535
 
#define UF_SCRIPT   1
 
#define UF_ACCOUNTDISABLE   2
 
#define UF_HOMEDIR_REQUIRED   8
 
#define UF_LOCKOUT   16
 
#define UF_PASSWD_NOTREQD   32
 
#define UF_PASSWD_CANT_CHANGE   64
 
#define UF_TEMP_DUPLICATE_ACCOUNT   256
 
#define UF_NORMAL_ACCOUNT   512
 
#define UF_INTERDOMAIN_TRUST_ACCOUNT   2048
 
#define UF_WORKSTATION_TRUST_ACCOUNT   4096
 
#define UF_SERVER_TRUST_ACCOUNT   8192
 
#define UF_MNS_LOGON_ACCOUNT   131072
 
#define UF_MACHINE_ACCOUNT_MASK   (UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT)
 
#define UF_ACCOUNT_TYPE_MASK   (UF_TEMP_DUPLICATE_ACCOUNT|UF_NORMAL_ACCOUNT|UF_INTERDOMAIN_TRUST_ACCOUNT|UF_WORKSTATION_TRUST_ACCOUNT|UF_SERVER_TRUST_ACCOUNT)
 
#define UF_DONT_EXPIRE_PASSWD   65536
 
#define UF_SETTABLE_BITS   (UF_SCRIPT|UF_ACCOUNTDISABLE|UF_LOCKOUT|UF_HOMEDIR_REQUIRED|UF_PASSWD_NOTREQD|UF_PASSWD_CANT_CHANGE|UF_ACCOUNT_TYPE_MASK|UF_DONT_EXPIRE_PASSWD)
 
#define FILTER_TEMP_DUPLICATE_ACCOUNT   1
 
#define FILTER_NORMAL_ACCOUNT   2
 
#define FILTER_INTERDOMAIN_TRUST_ACCOUNT   8
 
#define FILTER_WORKSTATION_TRUST_ACCOUNT   16
 
#define FILTER_SERVER_TRUST_ACCOUNT   32
 
#define LG_INCLUDE_INDIRECT   1
 
#define AF_OP_PRINT   1
 
#define AF_OP_COMM   2
 
#define AF_OP_SERVER   4
 
#define AF_OP_ACCOUNTS   8
 
#define AF_SETTABLE_BITS   (AF_OP_PRINT|AF_OP_COMM|AF_OP_SERVER|AF_OP_ACCOUNTS)
 
#define UAS_ROLE_STANDALONE   0
 
#define UAS_ROLE_MEMBER   1
 
#define UAS_ROLE_BACKUP   2
 
#define UAS_ROLE_PRIMARY   3
 
#define USER_NAME_PARMNUM   1
 
#define USER_PASSWORD_PARMNUM   3
 
#define USER_PASSWORD_AGE_PARMNUM   4
 
#define USER_PRIV_PARMNUM   5
 
#define USER_HOME_DIR_PARMNUM   6
 
#define USER_COMMENT_PARMNUM   7
 
#define USER_FLAGS_PARMNUM   8
 
#define USER_SCRIPT_PATH_PARMNUM   9
 
#define USER_AUTH_FLAGS_PARMNUM   10
 
#define USER_FULL_NAME_PARMNUM   11
 
#define USER_USR_COMMENT_PARMNUM   12
 
#define USER_PARMS_PARMNUM   13
 
#define USER_WORKSTATIONS_PARMNUM   14
 
#define USER_LAST_LOGON_PARMNUM   15
 
#define USER_LAST_LOGOFF_PARMNUM   16
 
#define USER_ACCT_EXPIRES_PARMNUM   17
 
#define USER_MAX_STORAGE_PARMNUM   18
 
#define USER_UNITS_PER_WEEK_PARMNUM   19
 
#define USER_LOGON_HOURS_PARMNUM   20
 
#define USER_PAD_PW_COUNT_PARMNUM   21
 
#define USER_NUM_LOGONS_PARMNUM   22
 
#define USER_LOGON_SERVER_PARMNUM   23
 
#define USER_COUNTRY_CODE_PARMNUM   24
 
#define USER_CODE_PAGE_PARMNUM   25
 
#define USER_PRIMARY_GROUP_PARMNUM   51
 
#define USER_PROFILE   52
 
#define USER_PROFILE_PARMNUM   52
 
#define USER_HOME_DIR_DRIVE_PARMNUM   53
 
#define USER_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_NAME_PARMNUM)
 
#define USER_PASSWORD_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_PARMNUM)
 
#define USER_PASSWORD_AGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_AGE_PARMNUM)
 
#define USER_PRIV_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PRIV_PARMNUM)
 
#define USER_HOME_DIR_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_PARMNUM)
 
#define USER_COMMENT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_COMMENT_PARMNUM)
 
#define USER_FLAGS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_FLAGS_PARMNUM)
 
#define USER_SCRIPT_PATH_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_SCRIPT_PATH_PARMNUM)
 
#define USER_AUTH_FLAGS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_AUTH_FLAGS_PARMNUM)
 
#define USER_FULL_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_FULL_NAME_PARMNUM)
 
#define USER_USR_COMMENT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_USR_COMMENT_PARMNUM)
 
#define USER_PARMS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PARMS_PARMNUM)
 
#define USER_WORKSTATIONS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_WORKSTATIONS_PARMNUM)
 
#define USER_LAST_LOGON_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGON_PARMNUM)
 
#define USER_LAST_LOGOFF_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGOFF_PARMNUM)
 
#define USER_ACCT_EXPIRES_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_ACCT_EXPIRES_PARMNUM)
 
#define USER_MAX_STORAGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_MAX_STORAGE_PARMNUM)
 
#define USER_UNITS_PER_WEEK_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_UNITS_PER_WEEK_PARMNUM)
 
#define USER_LOGON_HOURS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_LOGON_HOURS_PARMNUM)
 
#define USER_PAD_PW_COUNT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PAD_PW_COUNT_PARMNUM)
 
#define USER_NUM_LOGONS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_NUM_LOGONS_PARMNUM)
 
#define USER_LOGON_SERVER_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_LOGON_SERVER_PARMNUM)
 
#define USER_COUNTRY_CODE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_COUNTRY_CODE_PARMNUM)
 
#define USER_CODE_PAGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_CODE_PAGE_PARMNUM)
 
#define USER_PRIMARY_GROUP_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PRIMARY_GROUP_PARMNUM)
 
#define USER_POSIX_ID_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_POSIX_ID_PARMNUM)
 
#define USER_HOME_DIR_DRIVE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_DRIVE_PARMNUM)
 
#define NULL_USERSETINFO_PASSWD   " "
 
#define TIMEQ_FOREVER   ((ULONG)-1)
 
#define USER_MAXSTORAGE_UNLIMITED   ((ULONG)-1)
 
#define USER_NO_LOGOFF   ((ULONG)-1L)
 
#define UNITS_PER_DAY   24
 
#define UNITS_PER_WEEK   168
 
#define USER_PRIV_MASK   3
 
#define USER_PRIV_GUEST   0
 
#define USER_PRIV_USER   1
 
#define USER_PRIV_ADMIN   2
 
#define MAX_PASSWD_LEN   PWLEN
 
#define DEF_MIN_PWLEN   6
 
#define DEF_PWUNIQUENESS   5
 
#define DEF_MAX_PWHIST   8
 
#define DEF_MAX_PWAGE   TIMEQ_FOREVER
 
#define DEF_MIN_PWAGE   0
 
#define DEF_FORCE_LOGOFF   (ULONG)0xffffffff
 
#define DEF_MAX_BADPW   0
 
#define ONE_DAY   86400
 
#define VALIDATED_LOGON   0
 
#define PASSWORD_EXPIRED   2
 
#define NON_VALIDATED_LOGON   3
 
#define VALID_LOGOFF   1
 
#define MODALS_MIN_PASSWD_LEN_PARMNUM   1
 
#define MODALS_MAX_PASSWD_AGE_PARMNUM   2
 
#define MODALS_MIN_PASSWD_AGE_PARMNUM   3
 
#define MODALS_FORCE_LOGOFF_PARMNUM   4
 
#define MODALS_PASSWD_HIST_LEN_PARMNUM   5
 
#define MODALS_ROLE_PARMNUM   6
 
#define MODALS_PRIMARY_PARMNUM   7
 
#define MODALS_DOMAIN_NAME_PARMNUM   8
 
#define MODALS_DOMAIN_ID_PARMNUM   9
 
#define MODALS_LOCKOUT_DURATION_PARMNUM   10
 
#define MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM   11
 
#define MODALS_LOCKOUT_THRESHOLD_PARMNUM   12
 
#define MODALS_MIN_PASSWD_LEN_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_LEN_PARMNUM)
 
#define MODALS_MAX_PASSWD_AGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_MAX_PASSWD_AGE_PARMNUM)
 
#define MODALS_MIN_PASSWD_AGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_AGE_PARMNUM)
 
#define MODALS_FORCE_LOGOFF_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_FORCE_LOGOFF_PARMNUM)
 
#define MODALS_PASSWD_HIST_LEN_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_PASSWD_HIST_LEN_PARMNUM)
 
#define MODALS_ROLE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_ROLE_PARMNUM)
 
#define MODALS_PRIMARY_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_PRIMARY_PARMNUM)
 
#define MODALS_DOMAIN_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_NAME_PARMNUM)
 
#define MODALS_DOMAIN_ID_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_ID_PARMNUM)
 
#define GROUPIDMASK   0x8000
 
#define GROUP_ALL_PARMNUM   0
 
#define GROUP_NAME_PARMNUM   1
 
#define GROUP_COMMENT_PARMNUM   2
 
#define GROUP_ATTRIBUTES_PARMNUM   3
 
#define GROUP_ALL_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_ALL_PARMNUM)
 
#define GROUP_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_NAME_PARMNUM)
 
#define GROUP_COMMENT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_COMMENT_PARMNUM)
 
#define GROUP_ATTRIBUTES_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_ATTRIBUTES_PARMNUM)
 
#define GROUP_POSIX_ID_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_POSIX_ID_PARMNUM)
 
#define LOCALGROUP_NAME_PARMNUM   1
 
#define LOCALGROUP_COMMENT_PARMNUM   2
 
#define MAXPERMENTRIES   64
 
#define ACCESS_NONE   0
 
#define ACCESS_ALL   (ACCESS_READ|ACCESS_WRITE|ACCESS_CREATE|ACCESS_EXEC|ACCESS_DELETE|ACCESS_ATRIB|ACCESS_PERM)
 
#define ACCESS_READ   1
 
#define ACCESS_WRITE   2
 
#define ACCESS_CREATE   4
 
#define ACCESS_EXEC   8
 
#define ACCESS_DELETE   16
 
#define ACCESS_ATRIB   32
 
#define ACCESS_PERM   64
 
#define ACCESS_GROUP   0x8000
 
#define ACCESS_AUDIT   1
 
#define ACCESS_SUCCESS_OPEN   16
 
#define ACCESS_SUCCESS_WRITE   32
 
#define ACCESS_SUCCESS_DELETE   64
 
#define ACCESS_SUCCESS_ACL   128
 
#define ACCESS_SUCCESS_MASK   240
 
#define ACCESS_FAIL_OPEN   256
 
#define ACCESS_FAIL_WRITE   512
 
#define ACCESS_FAIL_DELETE   1024
 
#define ACCESS_FAIL_ACL   2048
 
#define ACCESS_FAIL_MASK   3840
 
#define ACCESS_FAIL_SHIFT   4
 
#define ACCESS_RESOURCE_NAME_PARMNUM   1
 
#define ACCESS_ATTR_PARMNUM   2
 
#define ACCESS_COUNT_PARMNUM   3
 
#define ACCESS_ACCESS_LIST_PARMNUM   4
 
#define ACCESS_RESOURCE_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+ACCESS_RESOURCE_NAME_PARMNUM)
 
#define ACCESS_ATTR_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+ACCESS_ATTR_PARMNUM)
 
#define ACCESS_COUNT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+ACCESS_COUNT_PARMNUM)
 
#define ACCESS_ACCESS_LIST_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+ACCESS_ACCESS_LIST_PARMNUM)
 
#define NETLOGON_REPLICATION_NEEDED   1
 
#define NETLOGON_REPLICATION_IN_PROGRESS   2
 
#define NETLOGON_FULL_SYNC_REPLICATION   4
 
#define NETLOGON_REDO_NEEDED   8
 

Typedefs

typedef struct _USER_INFO_0 USER_INFO_0
 
typedef struct _USER_INFO_0PUSER_INFO_0
 
typedef struct _USER_INFO_0LPUSER_INFO_0
 
typedef struct _USER_INFO_1 USER_INFO_1
 
typedef struct _USER_INFO_1PUSER_INFO_1
 
typedef struct _USER_INFO_1LPUSER_INFO_1
 
typedef struct _USER_INFO_2 USER_INFO_2
 
typedef struct _USER_INFO_2PUSER_INFO_2
 
typedef struct _USER_INFO_2LPUSER_INFO_2
 
typedef struct _USER_INFO_3 USER_INFO_3
 
typedef struct _USER_INFO_3PUSER_INFO_3
 
typedef struct _USER_INFO_3LPUSER_INFO_3
 
typedef struct _USER_INFO_4 USER_INFO_4
 
typedef struct _USER_INFO_4PUSER_INFO_4
 
typedef struct _USER_INFO_4LPUSER_INFO_4
 
typedef struct _USER_INFO_10 USER_INFO_10
 
typedef struct _USER_INFO_10PUSER_INFO_10
 
typedef struct _USER_INFO_10LPUSER_INFO_10
 
typedef struct _USER_INFO_11 USER_INFO_11
 
typedef struct _USER_INFO_11PUSER_INFO_11
 
typedef struct _USER_INFO_11LPUSER_INFO_11
 
typedef struct _USER_INFO_20 USER_INFO_20
 
typedef struct _USER_INFO_20PUSER_INFO_20
 
typedef struct _USER_INFO_20LPUSER_INFO_20
 
typedef struct _USER_INFO_21 USER_INFO_21
 
typedef struct _USER_INFO_21PUSER_INFO_21
 
typedef struct _USER_INFO_21LPUSER_INFO_21
 
typedef struct _USER_INFO_22 USER_INFO_22
 
typedef struct _USER_INFO_22PUSER_INFO_22
 
typedef struct _USER_INFO_22LPUSER_INFO_22
 
typedef struct _USER_INFO_23 USER_INFO_23
 
typedef struct _USER_INFO_23PUSER_INFO_23
 
typedef struct _USER_INFO_23LPUSER_INFO_23
 
typedef struct _USER_INFO_1003 USER_INFO_1003
 
typedef struct _USER_INFO_1003PUSER_INFO_1003
 
typedef struct _USER_INFO_1003LPUSER_INFO_1003
 
typedef struct _USER_INFO_1005 USER_INFO_1005
 
typedef struct _USER_INFO_1005PUSER_INFO_1005
 
typedef struct _USER_INFO_1005LPUSER_INFO_1005
 
typedef struct _USER_INFO_1006 USER_INFO_1006
 
typedef struct _USER_INFO_1006PUSER_INFO_1006
 
typedef struct _USER_INFO_1006LPUSER_INFO_1006
 
typedef struct _USER_INFO_1007 USER_INFO_1007
 
typedef struct _USER_INFO_1007PUSER_INFO_1007
 
typedef struct _USER_INFO_1007LPUSER_INFO_1007
 
typedef struct _USER_INFO_1008 USER_INFO_1008
 
typedef struct _USER_INFO_1008PUSER_INFO_1008
 
typedef struct _USER_INFO_1008LPUSER_INFO_1008
 
typedef struct _USER_INFO_1009 USER_INFO_1009
 
typedef struct _USER_INFO_1009PUSER_INFO_1009
 
typedef struct _USER_INFO_1009LPUSER_INFO_1009
 
typedef struct _USER_INFO_1010 USER_INFO_1010
 
typedef struct _USER_INFO_1010PUSER_INFO_1010
 
typedef struct _USER_INFO_1010LPUSER_INFO_1010
 
typedef struct _USER_INFO_1011 USER_INFO_1011
 
typedef struct _USER_INFO_1011PUSER_INFO_1011
 
typedef struct _USER_INFO_1011LPUSER_INFO_1011
 
typedef struct _USER_INFO_1012 USER_INFO_1012
 
typedef struct _USER_INFO_1012PUSER_INFO_1012
 
typedef struct _USER_INFO_1012LPUSER_INFO_1012
 
typedef struct _USER_INFO_1013 USER_INFO_1013
 
typedef struct _USER_INFO_1013PUSER_INFO_1013
 
typedef struct _USER_INFO_1013LPUSER_INFO_1013
 
typedef struct _USER_INFO_1014 USER_INFO_1014
 
typedef struct _USER_INFO_1014PUSER_INFO_1014
 
typedef struct _USER_INFO_1014LPUSER_INFO_1014
 
typedef struct _USER_INFO_1017 USER_INFO_1017
 
typedef struct _USER_INFO_1017PUSER_INFO_1017
 
typedef struct _USER_INFO_1017LPUSER_INFO_1017
 
typedef struct _USER_INFO_1018 USER_INFO_1018
 
typedef struct _USER_INFO_1018PUSER_INFO_1018
 
typedef struct _USER_INFO_1018LPUSER_INFO_1018
 
typedef struct _USER_INFO_1020 USER_INFO_1020
 
typedef struct _USER_INFO_1020PUSER_INFO_1020
 
typedef struct _USER_INFO_1020LPUSER_INFO_1020
 
typedef struct _USER_INFO_1023 USER_INFO_1023
 
typedef struct _USER_INFO_1023PUSER_INFO_1023
 
typedef struct _USER_INFO_1023LPUSER_INFO_1023
 
typedef struct _USER_INFO_1024 USER_INFO_1024
 
typedef struct _USER_INFO_1024PUSER_INFO_1024
 
typedef struct _USER_INFO_1024LPUSER_INFO_1024
 
typedef struct _USER_INFO_1025 USER_INFO_1025
 
typedef struct _USER_INFO_1025PUSER_INFO_1025
 
typedef struct _USER_INFO_1025LPUSER_INFO_1025
 
typedef struct _USER_INFO_1051 USER_INFO_1051
 
typedef struct _USER_INFO_1051PUSER_INFO_1051
 
typedef struct _USER_INFO_1051LPUSER_INFO_1051
 
typedef struct _USER_INFO_1052 USER_INFO_1052
 
typedef struct _USER_INFO_1052PUSER_INFO_1052
 
typedef struct _USER_INFO_1052LPUSER_INFO_1052
 
typedef struct _USER_INFO_1053 USER_INFO_1053
 
typedef struct _USER_INFO_1053PUSER_INFO_1053
 
typedef struct _USER_INFO_1053LPUSER_INFO_1053
 
typedef struct _USER_MODALS_INFO_0 USER_MODALS_INFO_0
 
typedef struct _USER_MODALS_INFO_0PUSER_MODALS_INFO_0
 
typedef struct _USER_MODALS_INFO_0LPUSER_MODALS_INFO_0
 
typedef struct _USER_MODALS_INFO_1 USER_MODALS_INFO_1
 
typedef struct _USER_MODALS_INFO_1PUSER_MODALS_INFO_1
 
typedef struct _USER_MODALS_INFO_1LPUSER_MODALS_INFO_1
 
typedef struct _USER_MODALS_INFO_2 USER_MODALS_INFO_2
 
typedef struct _USER_MODALS_INFO_2PUSER_MODALS_INFO_2
 
typedef struct _USER_MODALS_INFO_2LPUSER_MODALS_INFO_2
 
typedef struct _USER_MODALS_INFO_3 USER_MODALS_INFO_3
 
typedef struct _USER_MODALS_INFO_3PUSER_MODALS_INFO_3
 
typedef struct _USER_MODALS_INFO_3LPUSER_MODALS_INFO_3
 
typedef struct _USER_MODALS_INFO_1001 USER_MODALS_INFO_1001
 
typedef struct _USER_MODALS_INFO_1001PUSER_MODALS_INFO_1001
 
typedef struct _USER_MODALS_INFO_1001LPUSER_MODALS_INFO_1001
 
typedef struct _USER_MODALS_INFO_1002 USER_MODALS_INFO_1002
 
typedef struct _USER_MODALS_INFO_1002PUSER_MODALS_INFO_1002
 
typedef struct _USER_MODALS_INFO_1002LPUSER_MODALS_INFO_1002
 
typedef struct _USER_MODALS_INFO_1003 USER_MODALS_INFO_1003
 
typedef struct _USER_MODALS_INFO_1003PUSER_MODALS_INFO_1003
 
typedef struct _USER_MODALS_INFO_1003LPUSER_MODALS_INFO_1003
 
typedef struct _USER_MODALS_INFO_1004 USER_MODALS_INFO_1004
 
typedef struct _USER_MODALS_INFO_1004PUSER_MODALS_INFO_1004
 
typedef struct _USER_MODALS_INFO_1004LPUSER_MODALS_INFO_1004
 
typedef struct _USER_MODALS_INFO_1005 USER_MODALS_INFO_1005
 
typedef struct _USER_MODALS_INFO_1005PUSER_MODALS_INFO_1005
 
typedef struct _USER_MODALS_INFO_1005LPUSER_MODALS_INFO_1005
 
typedef struct _USER_MODALS_INFO_1006 USER_MODALS_INFO_1006
 
typedef struct _USER_MODALS_INFO_1006PUSER_MODALS_INFO_1006
 
typedef struct _USER_MODALS_INFO_1006LPUSER_MODALS_INFO_1006
 
typedef struct _USER_MODALS_INFO_1007 USER_MODALS_INFO_1007
 
typedef struct _USER_MODALS_INFO_1007PUSER_MODALS_INFO_1007
 
typedef struct _USER_MODALS_INFO_1007LPUSER_MODALS_INFO_1007
 
typedef struct _GROUP_INFO_0 GROUP_INFO_0
 
typedef struct _GROUP_INFO_0PGROUP_INFO_0
 
typedef struct _GROUP_INFO_0LPGROUP_INFO_0
 
typedef struct _GROUP_INFO_1 GROUP_INFO_1
 
typedef struct _GROUP_INFO_1PGROUP_INFO_1
 
typedef struct _GROUP_INFO_1LPGROUP_INFO_1
 
typedef struct _GROUP_INFO_2 GROUP_INFO_2
 
typedef struct _GROUP_INFO_2PGROUP_INFO_2
 
typedef struct _GROUP_INFO_2LPGROUP_INFO_2
 
typedef struct _GROUP_INFO_3 GROUP_INFO_3
 
typedef struct _GROUP_INFO_3PGROUP_INFO_3
 
typedef struct _GROUP_INFO_3LPGROUP_INFO_3
 
typedef struct _GROUP_INFO_1002 GROUP_INFO_1002
 
typedef struct _GROUP_INFO_1002PGROUP_INFO_1002
 
typedef struct _GROUP_INFO_1002LPGROUP_INFO_1002
 
typedef struct _GROUP_INFO_1005 GROUP_INFO_1005
 
typedef struct _GROUP_INFO_1005PGROUP_INFO_1005
 
typedef struct _GROUP_INFO_1005LPGROUP_INFO_1005
 
typedef struct _GROUP_USERS_INFO_0 GROUP_USERS_INFO_0
 
typedef struct _GROUP_USERS_INFO_0PGROUP_USERS_INFO_0
 
typedef struct _GROUP_USERS_INFO_0LPGROUP_USERS_INFO_0
 
typedef struct _GROUP_USERS_INFO_1 GROUP_USERS_INFO_1
 
typedef struct _GROUP_USERS_INFO_1PGROUP_USERS_INFO_1
 
typedef struct _GROUP_USERS_INFO_1LPGROUP_USERS_INFO_1
 
typedef struct _LOCALGROUP_INFO_0 LOCALGROUP_INFO_0
 
typedef struct _LOCALGROUP_INFO_0PLOCALGROUP_INFO_0
 
typedef struct _LOCALGROUP_INFO_0LPLOCALGROUP_INFO_0
 
typedef struct _LOCALGROUP_INFO_1 LOCALGROUP_INFO_1
 
typedef struct _LOCALGROUP_INFO_1PLOCALGROUP_INFO_1
 
typedef struct _LOCALGROUP_INFO_1LPLOCALGROUP_INFO_1
 
typedef struct _LOCALGROUP_INFO_1002 LOCALGROUP_INFO_1002
 
typedef struct _LOCALGROUP_INFO_1002PLOCALGROUP_INFO_1002
 
typedef struct _LOCALGROUP_INFO_1002LPLOCALGROUP_INFO_1002
 
typedef struct _LOCALGROUP_MEMBERS_INFO_0 LOCALGROUP_MEMBERS_INFO_0
 
typedef struct _LOCALGROUP_MEMBERS_INFO_0PLOCALGROUP_MEMBERS_INFO_0
 
typedef struct _LOCALGROUP_MEMBERS_INFO_0LPLOCALGROUP_MEMBERS_INFO_0
 
typedef struct _LOCALGROUP_MEMBERS_INFO_1 LOCALGROUP_MEMBERS_INFO_1
 
typedef struct _LOCALGROUP_MEMBERS_INFO_1PLOCALGROUP_MEMBERS_INFO_1
 
typedef struct _LOCALGROUP_MEMBERS_INFO_1LPLOCALGROUP_MEMBERS_INFO_1
 
typedef struct _LOCALGROUP_MEMBERS_INFO_2 LOCALGROUP_MEMBERS_INFO_2
 
typedef struct _LOCALGROUP_MEMBERS_INFO_2PLOCALGROUP_MEMBERS_INFO_2
 
typedef struct _LOCALGROUP_MEMBERS_INFO_2LPLOCALGROUP_MEMBERS_INFO_2
 
typedef struct _LOCALGROUP_MEMBERS_INFO_3 LOCALGROUP_MEMBERS_INFO_3
 
typedef struct _LOCALGROUP_MEMBERS_INFO_3PLOCALGROUP_MEMBERS_INFO_3
 
typedef struct _LOCALGROUP_MEMBERS_INFO_3LPLOCALGROUP_MEMBERS_INFO_3
 
typedef struct _LOCALGROUP_USERS_INFO_0 LOCALGROUP_USERS_INFO_0
 
typedef struct _LOCALGROUP_USERS_INFO_0PLOCALGROUP_USERS_INFO_0
 
typedef struct _LOCALGROUP_USERS_INFO_0LPLOCALGROUP_USERS_INFO_0
 
typedef struct _NET_DISPLAY_USER NET_DISPLAY_USER
 
typedef struct _NET_DISPLAY_USERPNET_DISPLAY_USER
 
typedef struct _NET_DISPLAY_MACHINE NET_DISPLAY_MACHINE
 
typedef struct _NET_DISPLAY_MACHINEPNET_DISPLAY_MACHINE
 
typedef struct _NET_DISPLAY_GROUP NET_DISPLAY_GROUP
 
typedef struct _NET_DISPLAY_GROUPPNET_DISPLAY_GROUP
 
typedef struct _ACCESS_INFO_0 ACCESS_INFO_0
 
typedef struct _ACCESS_INFO_0PACCESS_INFO_0
 
typedef struct _ACCESS_INFO_0LPACCESS_INFO_0
 
typedef struct _ACCESS_INFO_1 ACCESS_INFO_1
 
typedef struct _ACCESS_INFO_1PACCESS_INFO_1
 
typedef struct _ACCESS_INFO_1LPACCESS_INFO_1
 
typedef struct _ACCESS_INFO_1002 ACCESS_INFO_1002
 
typedef struct _ACCESS_INFO_1002PACCESS_INFO_1002
 
typedef struct _ACCESS_INFO_1002LPACCESS_INFO_1002
 
typedef struct _ACCESS_LIST ACCESS_LIST
 
typedef struct _ACCESS_LISTPACCESS_LIST
 
typedef struct _ACCESS_LISTLPACCESS_LIST
 
typedef struct _NETLOGON_INFO_1 NETLOGON_INFO_1
 
typedef struct _NETLOGON_INFO_1PNETLOGON_INFO_1
 
typedef struct _NETLOGON_INFO_2 NETLOGON_INFO_2
 
typedef struct _NETLOGON_INFO_2PNETLOGON_INFO_2
 
typedef struct _NETLOGON_INFO_3 NETLOGON_INFO_3
 
typedef struct _NETLOGON_INFO_3PNETLOGON_INFO_3
 
typedef NTSTATUSPNTSTATUS
 

Functions

typedef _Return_type_success_ (return >=0) LONG NTSTATUS
 
NET_API_STATUS WINAPI NetUserAdd (LPCWSTR, DWORD, PBYTE, PDWORD)
 
NET_API_STATUS WINAPI NetUserEnum (LPCWSTR, DWORD, DWORD, PBYTE *, DWORD, PDWORD, PDWORD, PDWORD)
 
NET_API_STATUS WINAPI NetUserGetInfo (LPCWSTR, LPCWSTR, DWORD, PBYTE *)
 
NET_API_STATUS WINAPI NetUserSetInfo (LPCWSTR, LPCWSTR, DWORD, PBYTE, PDWORD)
 
NET_API_STATUS WINAPI NetUserDel (LPCWSTR, LPCWSTR)
 
NET_API_STATUS WINAPI NetUserGetGroups (LPCWSTR, LPCWSTR, DWORD, PBYTE *, DWORD, PDWORD, PDWORD)
 
NET_API_STATUS WINAPI NetUserSetGroups (LPCWSTR, LPCWSTR, DWORD, PBYTE, DWORD)
 
NET_API_STATUS WINAPI NetUserGetLocalGroups (LPCWSTR, LPCWSTR, DWORD, DWORD, PBYTE *, DWORD, PDWORD, PDWORD)
 
NET_API_STATUS WINAPI NetUserModalsGet (LPCWSTR, DWORD, PBYTE *)
 
NET_API_STATUS WINAPI NetUserModalsSet (LPCWSTR, DWORD, PBYTE, PDWORD)
 
NET_API_STATUS WINAPI NetUserChangePassword (LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR)
 
NET_API_STATUS WINAPI NetGroupAdd (LPCWSTR, DWORD, PBYTE, PDWORD)
 
NET_API_STATUS WINAPI NetGroupAddUser (LPCWSTR, LPCWSTR, LPCWSTR)
 
NET_API_STATUS WINAPI NetGroupEnum (LPCWSTR, DWORD, PBYTE *, DWORD, PDWORD, PDWORD, PDWORD_PTR)
 
NET_API_STATUS WINAPI NetGroupGetInfo (LPCWSTR, LPCWSTR, DWORD, PBYTE *)
 
NET_API_STATUS WINAPI NetGroupSetInfo (LPCWSTR, LPCWSTR, DWORD, PBYTE, PDWORD)
 
NET_API_STATUS WINAPI NetGroupDel (LPCWSTR, LPCWSTR)
 
NET_API_STATUS WINAPI NetGroupDelUser (LPCWSTR, LPCWSTR, LPCWSTR)
 
NET_API_STATUS WINAPI NetGroupGetUsers (LPCWSTR, LPCWSTR, DWORD, PBYTE *, DWORD, PDWORD, PDWORD, PDWORD_PTR)
 
NET_API_STATUS WINAPI NetGroupSetUsers (LPCWSTR, LPCWSTR, DWORD, PBYTE, DWORD)
 
NET_API_STATUS WINAPI NetLocalGroupAdd (LPCWSTR, DWORD, PBYTE, PDWORD)
 
NET_API_STATUS WINAPI NetLocalGroupAddMember (LPCWSTR, LPCWSTR, PSID)
 
NET_API_STATUS WINAPI NetLocalGroupEnum (LPCWSTR, DWORD, PBYTE *, DWORD, PDWORD, PDWORD, PDWORD_PTR)
 
NET_API_STATUS WINAPI NetLocalGroupGetInfo (LPCWSTR, LPCWSTR, DWORD, PBYTE *)
 
NET_API_STATUS WINAPI NetLocalGroupSetInfo (LPCWSTR, LPCWSTR, DWORD, PBYTE, PDWORD)
 
NET_API_STATUS WINAPI NetLocalGroupDel (LPCWSTR, LPCWSTR)
 
NET_API_STATUS WINAPI NetLocalGroupDelMember (LPCWSTR, LPCWSTR, PSID)
 
NET_API_STATUS WINAPI NetLocalGroupGetMembers (LPCWSTR, LPCWSTR, DWORD, PBYTE *, DWORD, PDWORD, PDWORD, PDWORD_PTR)
 
NET_API_STATUS WINAPI NetLocalGroupSetMembers (LPCWSTR, LPCWSTR, DWORD, PBYTE, DWORD)
 
NET_API_STATUS WINAPI NetLocalGroupAddMembers (LPCWSTR, LPCWSTR, DWORD, PBYTE, DWORD)
 
NET_API_STATUS WINAPI NetLocalGroupDelMembers (LPCWSTR, LPCWSTR, DWORD, PBYTE, DWORD)
 
NET_API_STATUS WINAPI NetQueryDisplayInformation (LPCWSTR, DWORD, DWORD, DWORD, DWORD, PDWORD, PVOID *)
 
NET_API_STATUS WINAPI NetGetDisplayInformationIndex (LPCWSTR, DWORD, LPCWSTR, PDWORD)
 
NET_API_STATUS WINAPI NetGetDCName (LPCWSTR, LPCWSTR, PBYTE *)
 
NET_API_STATUS WINAPI NetGetAnyDCName (LPCWSTR, LPCWSTR, PBYTE *)
 
NET_API_STATUS WINAPI I_NetLogonControl (LPCWSTR, DWORD, DWORD, PBYTE *)
 
NET_API_STATUS WINAPI I_NetLogonControl2 (LPCWSTR, DWORD, DWORD, PBYTE, PBYTE *)
 
NTSTATUS WINAPI NetEnumerateTrustedDomains (LPWSTR, LPWSTR *)
 

Macro Definition Documentation

◆ ACCESS_ACCESS_LIST_INFOLEVEL

#define ACCESS_ACCESS_LIST_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+ACCESS_ACCESS_LIST_PARMNUM)

Definition at line 195 of file lmaccess.h.

◆ ACCESS_ACCESS_LIST_PARMNUM

#define ACCESS_ACCESS_LIST_PARMNUM   4

Definition at line 191 of file lmaccess.h.

◆ ACCESS_ALL

◆ ACCESS_ATRIB

#define ACCESS_ATRIB   32

Definition at line 173 of file lmaccess.h.

◆ ACCESS_ATTR_INFOLEVEL

#define ACCESS_ATTR_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+ACCESS_ATTR_PARMNUM)

Definition at line 193 of file lmaccess.h.

◆ ACCESS_ATTR_PARMNUM

#define ACCESS_ATTR_PARMNUM   2

Definition at line 189 of file lmaccess.h.

◆ ACCESS_AUDIT

#define ACCESS_AUDIT   1

Definition at line 176 of file lmaccess.h.

◆ ACCESS_COUNT_INFOLEVEL

#define ACCESS_COUNT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+ACCESS_COUNT_PARMNUM)

Definition at line 194 of file lmaccess.h.

◆ ACCESS_COUNT_PARMNUM

#define ACCESS_COUNT_PARMNUM   3

Definition at line 190 of file lmaccess.h.

◆ ACCESS_CREATE

#define ACCESS_CREATE   4

Definition at line 170 of file lmaccess.h.

◆ ACCESS_DELETE

#define ACCESS_DELETE   16

Definition at line 172 of file lmaccess.h.

◆ ACCESS_EXEC

#define ACCESS_EXEC   8

Definition at line 171 of file lmaccess.h.

◆ ACCESS_FAIL_ACL

#define ACCESS_FAIL_ACL   2048

Definition at line 185 of file lmaccess.h.

◆ ACCESS_FAIL_DELETE

#define ACCESS_FAIL_DELETE   1024

Definition at line 184 of file lmaccess.h.

◆ ACCESS_FAIL_MASK

#define ACCESS_FAIL_MASK   3840

Definition at line 186 of file lmaccess.h.

◆ ACCESS_FAIL_OPEN

#define ACCESS_FAIL_OPEN   256

Definition at line 182 of file lmaccess.h.

◆ ACCESS_FAIL_SHIFT

#define ACCESS_FAIL_SHIFT   4

Definition at line 187 of file lmaccess.h.

◆ ACCESS_FAIL_WRITE

#define ACCESS_FAIL_WRITE   512

Definition at line 183 of file lmaccess.h.

◆ ACCESS_GROUP

#define ACCESS_GROUP   0x8000

Definition at line 175 of file lmaccess.h.

◆ ACCESS_LETTERS

#define ACCESS_LETTERS   "RWCXDAP "

Definition at line 12 of file lmaccess.h.

◆ ACCESS_NONE

#define ACCESS_NONE   0

Definition at line 166 of file lmaccess.h.

◆ ACCESS_PERM

#define ACCESS_PERM   64

Definition at line 174 of file lmaccess.h.

◆ ACCESS_READ

#define ACCESS_READ   1

Definition at line 168 of file lmaccess.h.

◆ ACCESS_RESOURCE_NAME_INFOLEVEL

#define ACCESS_RESOURCE_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+ACCESS_RESOURCE_NAME_PARMNUM)

Definition at line 192 of file lmaccess.h.

◆ ACCESS_RESOURCE_NAME_PARMNUM

#define ACCESS_RESOURCE_NAME_PARMNUM   1

Definition at line 188 of file lmaccess.h.

◆ ACCESS_SUCCESS_ACL

#define ACCESS_SUCCESS_ACL   128

Definition at line 180 of file lmaccess.h.

◆ ACCESS_SUCCESS_DELETE

#define ACCESS_SUCCESS_DELETE   64

Definition at line 179 of file lmaccess.h.

◆ ACCESS_SUCCESS_MASK

#define ACCESS_SUCCESS_MASK   240

Definition at line 181 of file lmaccess.h.

◆ ACCESS_SUCCESS_OPEN

#define ACCESS_SUCCESS_OPEN   16

Definition at line 177 of file lmaccess.h.

◆ ACCESS_SUCCESS_WRITE

#define ACCESS_SUCCESS_WRITE   32

Definition at line 178 of file lmaccess.h.

◆ ACCESS_WRITE

#define ACCESS_WRITE   2

Definition at line 169 of file lmaccess.h.

◆ AF_OP_ACCOUNTS

#define AF_OP_ACCOUNTS   8

Definition at line 48 of file lmaccess.h.

◆ AF_OP_COMM

#define AF_OP_COMM   2

Definition at line 46 of file lmaccess.h.

◆ AF_OP_PRINT

#define AF_OP_PRINT   1

Definition at line 45 of file lmaccess.h.

◆ AF_OP_SERVER

#define AF_OP_SERVER   4

Definition at line 47 of file lmaccess.h.

◆ AF_SETTABLE_BITS

Definition at line 49 of file lmaccess.h.

◆ DEF_FORCE_LOGOFF

#define DEF_FORCE_LOGOFF   (ULONG)0xffffffff

Definition at line 125 of file lmaccess.h.

◆ DEF_MAX_BADPW

#define DEF_MAX_BADPW   0

Definition at line 126 of file lmaccess.h.

◆ DEF_MAX_PWAGE

#define DEF_MAX_PWAGE   TIMEQ_FOREVER

Definition at line 123 of file lmaccess.h.

◆ DEF_MAX_PWHIST

#define DEF_MAX_PWHIST   8

Definition at line 122 of file lmaccess.h.

◆ DEF_MIN_PWAGE

#define DEF_MIN_PWAGE   0

Definition at line 124 of file lmaccess.h.

◆ DEF_MIN_PWLEN

#define DEF_MIN_PWLEN   6

Definition at line 120 of file lmaccess.h.

◆ DEF_PWUNIQUENESS

#define DEF_PWUNIQUENESS   5

Definition at line 121 of file lmaccess.h.

◆ FILTER_INTERDOMAIN_TRUST_ACCOUNT

#define FILTER_INTERDOMAIN_TRUST_ACCOUNT   8

Definition at line 41 of file lmaccess.h.

◆ FILTER_NORMAL_ACCOUNT

#define FILTER_NORMAL_ACCOUNT   2

Definition at line 40 of file lmaccess.h.

◆ FILTER_SERVER_TRUST_ACCOUNT

#define FILTER_SERVER_TRUST_ACCOUNT   32

Definition at line 43 of file lmaccess.h.

◆ FILTER_TEMP_DUPLICATE_ACCOUNT

#define FILTER_TEMP_DUPLICATE_ACCOUNT   1

Definition at line 39 of file lmaccess.h.

◆ FILTER_WORKSTATION_TRUST_ACCOUNT

#define FILTER_WORKSTATION_TRUST_ACCOUNT   16

Definition at line 42 of file lmaccess.h.

◆ GROUP_ALL_INFOLEVEL

#define GROUP_ALL_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_ALL_PARMNUM)

Definition at line 158 of file lmaccess.h.

◆ GROUP_ALL_PARMNUM

#define GROUP_ALL_PARMNUM   0

Definition at line 154 of file lmaccess.h.

◆ GROUP_ATTRIBUTES_INFOLEVEL

#define GROUP_ATTRIBUTES_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_ATTRIBUTES_PARMNUM)

Definition at line 161 of file lmaccess.h.

◆ GROUP_ATTRIBUTES_PARMNUM

#define GROUP_ATTRIBUTES_PARMNUM   3

Definition at line 157 of file lmaccess.h.

◆ GROUP_COMMENT_INFOLEVEL

#define GROUP_COMMENT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_COMMENT_PARMNUM)

Definition at line 160 of file lmaccess.h.

◆ GROUP_COMMENT_PARMNUM

#define GROUP_COMMENT_PARMNUM   2

Definition at line 156 of file lmaccess.h.

◆ GROUP_NAME_INFOLEVEL

#define GROUP_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_NAME_PARMNUM)

Definition at line 159 of file lmaccess.h.

◆ GROUP_NAME_PARMNUM

#define GROUP_NAME_PARMNUM   1

Definition at line 155 of file lmaccess.h.

◆ GROUP_POSIX_ID_INFOLEVEL

#define GROUP_POSIX_ID_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+GROUP_POSIX_ID_PARMNUM)

Definition at line 162 of file lmaccess.h.

◆ GROUP_SPECIALGRP_ADMINS

#define GROUP_SPECIALGRP_ADMINS   L"ADMINS"

Definition at line 9 of file lmaccess.h.

◆ GROUP_SPECIALGRP_GUESTS

#define GROUP_SPECIALGRP_GUESTS   L"GUESTS"

Definition at line 10 of file lmaccess.h.

◆ GROUP_SPECIALGRP_LOCAL

#define GROUP_SPECIALGRP_LOCAL   L"LOCAL"

Definition at line 11 of file lmaccess.h.

◆ GROUP_SPECIALGRP_USERS

#define GROUP_SPECIALGRP_USERS   L"USERS"

Definition at line 8 of file lmaccess.h.

◆ GROUPIDMASK

#define GROUPIDMASK   0x8000

Definition at line 153 of file lmaccess.h.

◆ LG_INCLUDE_INDIRECT

#define LG_INCLUDE_INDIRECT   1

Definition at line 44 of file lmaccess.h.

◆ LOCALGROUP_COMMENT_PARMNUM

#define LOCALGROUP_COMMENT_PARMNUM   2

Definition at line 164 of file lmaccess.h.

◆ LOCALGROUP_NAME_PARMNUM

#define LOCALGROUP_NAME_PARMNUM   1

Definition at line 163 of file lmaccess.h.

◆ MAX_PASSWD_LEN

#define MAX_PASSWD_LEN   PWLEN

Definition at line 119 of file lmaccess.h.

◆ MAXPERMENTRIES

#define MAXPERMENTRIES   64

Definition at line 165 of file lmaccess.h.

◆ MODALS_DOMAIN_ID_INFOLEVEL

#define MODALS_DOMAIN_ID_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_ID_PARMNUM)

Definition at line 152 of file lmaccess.h.

◆ MODALS_DOMAIN_ID_PARMNUM

#define MODALS_DOMAIN_ID_PARMNUM   9

Definition at line 140 of file lmaccess.h.

◆ MODALS_DOMAIN_NAME_INFOLEVEL

#define MODALS_DOMAIN_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_DOMAIN_NAME_PARMNUM)

Definition at line 151 of file lmaccess.h.

◆ MODALS_DOMAIN_NAME_PARMNUM

#define MODALS_DOMAIN_NAME_PARMNUM   8

Definition at line 139 of file lmaccess.h.

◆ MODALS_FORCE_LOGOFF_INFOLEVEL

#define MODALS_FORCE_LOGOFF_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_FORCE_LOGOFF_PARMNUM)

Definition at line 147 of file lmaccess.h.

◆ MODALS_FORCE_LOGOFF_PARMNUM

#define MODALS_FORCE_LOGOFF_PARMNUM   4

Definition at line 135 of file lmaccess.h.

◆ MODALS_LOCKOUT_DURATION_PARMNUM

#define MODALS_LOCKOUT_DURATION_PARMNUM   10

Definition at line 141 of file lmaccess.h.

◆ MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM

#define MODALS_LOCKOUT_OBSERVATION_WINDOW_PARMNUM   11

Definition at line 142 of file lmaccess.h.

◆ MODALS_LOCKOUT_THRESHOLD_PARMNUM

#define MODALS_LOCKOUT_THRESHOLD_PARMNUM   12

Definition at line 143 of file lmaccess.h.

◆ MODALS_MAX_PASSWD_AGE_INFOLEVEL

#define MODALS_MAX_PASSWD_AGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_MAX_PASSWD_AGE_PARMNUM)

Definition at line 145 of file lmaccess.h.

◆ MODALS_MAX_PASSWD_AGE_PARMNUM

#define MODALS_MAX_PASSWD_AGE_PARMNUM   2

Definition at line 133 of file lmaccess.h.

◆ MODALS_MIN_PASSWD_AGE_INFOLEVEL

#define MODALS_MIN_PASSWD_AGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_AGE_PARMNUM)

Definition at line 146 of file lmaccess.h.

◆ MODALS_MIN_PASSWD_AGE_PARMNUM

#define MODALS_MIN_PASSWD_AGE_PARMNUM   3

Definition at line 134 of file lmaccess.h.

◆ MODALS_MIN_PASSWD_LEN_INFOLEVEL

#define MODALS_MIN_PASSWD_LEN_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_MIN_PASSWD_LEN_PARMNUM)

Definition at line 144 of file lmaccess.h.

◆ MODALS_MIN_PASSWD_LEN_PARMNUM

#define MODALS_MIN_PASSWD_LEN_PARMNUM   1

Definition at line 132 of file lmaccess.h.

◆ MODALS_PASSWD_HIST_LEN_INFOLEVEL

#define MODALS_PASSWD_HIST_LEN_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_PASSWD_HIST_LEN_PARMNUM)

Definition at line 148 of file lmaccess.h.

◆ MODALS_PASSWD_HIST_LEN_PARMNUM

#define MODALS_PASSWD_HIST_LEN_PARMNUM   5

Definition at line 136 of file lmaccess.h.

◆ MODALS_PRIMARY_INFOLEVEL

#define MODALS_PRIMARY_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_PRIMARY_PARMNUM)

Definition at line 150 of file lmaccess.h.

◆ MODALS_PRIMARY_PARMNUM

#define MODALS_PRIMARY_PARMNUM   7

Definition at line 138 of file lmaccess.h.

◆ MODALS_ROLE_INFOLEVEL

#define MODALS_ROLE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+MODALS_ROLE_PARMNUM)

Definition at line 149 of file lmaccess.h.

◆ MODALS_ROLE_PARMNUM

#define MODALS_ROLE_PARMNUM   6

Definition at line 137 of file lmaccess.h.

◆ NETLOGON_CONTROL_BACKUP_CHANGE_LOG

#define NETLOGON_CONTROL_BACKUP_CHANGE_LOG   65532

Definition at line 19 of file lmaccess.h.

◆ NETLOGON_CONTROL_BREAKPOINT

#define NETLOGON_CONTROL_BREAKPOINT   65535

Definition at line 22 of file lmaccess.h.

◆ NETLOGON_CONTROL_PDC_REPLICATE

#define NETLOGON_CONTROL_PDC_REPLICATE   4

Definition at line 16 of file lmaccess.h.

◆ NETLOGON_CONTROL_QUERY

#define NETLOGON_CONTROL_QUERY   1

Definition at line 13 of file lmaccess.h.

◆ NETLOGON_CONTROL_REDISCOVER

#define NETLOGON_CONTROL_REDISCOVER   5

Definition at line 17 of file lmaccess.h.

◆ NETLOGON_CONTROL_REPLICATE

#define NETLOGON_CONTROL_REPLICATE   2

Definition at line 14 of file lmaccess.h.

◆ NETLOGON_CONTROL_SET_DBFLAG

#define NETLOGON_CONTROL_SET_DBFLAG   65534

Definition at line 21 of file lmaccess.h.

◆ NETLOGON_CONTROL_SYNCHRONIZE

#define NETLOGON_CONTROL_SYNCHRONIZE   3

Definition at line 15 of file lmaccess.h.

◆ NETLOGON_CONTROL_TC_QUERY

#define NETLOGON_CONTROL_TC_QUERY   6

Definition at line 18 of file lmaccess.h.

◆ NETLOGON_CONTROL_TRUNCATE_LOG

#define NETLOGON_CONTROL_TRUNCATE_LOG   65533

Definition at line 20 of file lmaccess.h.

◆ NETLOGON_FULL_SYNC_REPLICATION

#define NETLOGON_FULL_SYNC_REPLICATION   4

Definition at line 198 of file lmaccess.h.

◆ NETLOGON_REDO_NEEDED

#define NETLOGON_REDO_NEEDED   8

Definition at line 199 of file lmaccess.h.

◆ NETLOGON_REPLICATION_IN_PROGRESS

#define NETLOGON_REPLICATION_IN_PROGRESS   2

Definition at line 197 of file lmaccess.h.

◆ NETLOGON_REPLICATION_NEEDED

#define NETLOGON_REPLICATION_NEEDED   1

Definition at line 196 of file lmaccess.h.

◆ NON_VALIDATED_LOGON

#define NON_VALIDATED_LOGON   3

Definition at line 130 of file lmaccess.h.

◆ NULL_USERSETINFO_PASSWD

#define NULL_USERSETINFO_PASSWD   " "

Definition at line 109 of file lmaccess.h.

◆ ONE_DAY

#define ONE_DAY   86400

Definition at line 127 of file lmaccess.h.

◆ PASSWORD_EXPIRED

#define PASSWORD_EXPIRED   2

Definition at line 129 of file lmaccess.h.

◆ TIMEQ_FOREVER

#define TIMEQ_FOREVER   ((ULONG)-1)

Definition at line 110 of file lmaccess.h.

◆ UAS_ROLE_BACKUP

#define UAS_ROLE_BACKUP   2

Definition at line 52 of file lmaccess.h.

◆ UAS_ROLE_MEMBER

#define UAS_ROLE_MEMBER   1

Definition at line 51 of file lmaccess.h.

◆ UAS_ROLE_PRIMARY

#define UAS_ROLE_PRIMARY   3

Definition at line 53 of file lmaccess.h.

◆ UAS_ROLE_STANDALONE

#define UAS_ROLE_STANDALONE   0

Definition at line 50 of file lmaccess.h.

◆ UF_ACCOUNT_TYPE_MASK

◆ UF_ACCOUNTDISABLE

#define UF_ACCOUNTDISABLE   2

Definition at line 24 of file lmaccess.h.

◆ UF_DONT_EXPIRE_PASSWD

#define UF_DONT_EXPIRE_PASSWD   65536

Definition at line 37 of file lmaccess.h.

◆ UF_HOMEDIR_REQUIRED

#define UF_HOMEDIR_REQUIRED   8

Definition at line 25 of file lmaccess.h.

◆ UF_INTERDOMAIN_TRUST_ACCOUNT

#define UF_INTERDOMAIN_TRUST_ACCOUNT   2048

Definition at line 31 of file lmaccess.h.

◆ UF_LOCKOUT

#define UF_LOCKOUT   16

Definition at line 26 of file lmaccess.h.

◆ UF_MACHINE_ACCOUNT_MASK

Definition at line 35 of file lmaccess.h.

◆ UF_MNS_LOGON_ACCOUNT

#define UF_MNS_LOGON_ACCOUNT   131072

Definition at line 34 of file lmaccess.h.

◆ UF_NORMAL_ACCOUNT

#define UF_NORMAL_ACCOUNT   512

Definition at line 30 of file lmaccess.h.

◆ UF_PASSWD_CANT_CHANGE

#define UF_PASSWD_CANT_CHANGE   64

Definition at line 28 of file lmaccess.h.

◆ UF_PASSWD_NOTREQD

#define UF_PASSWD_NOTREQD   32

Definition at line 27 of file lmaccess.h.

◆ UF_SCRIPT

#define UF_SCRIPT   1

Definition at line 23 of file lmaccess.h.

◆ UF_SERVER_TRUST_ACCOUNT

#define UF_SERVER_TRUST_ACCOUNT   8192

Definition at line 33 of file lmaccess.h.

◆ UF_SETTABLE_BITS

◆ UF_TEMP_DUPLICATE_ACCOUNT

#define UF_TEMP_DUPLICATE_ACCOUNT   256

Definition at line 29 of file lmaccess.h.

◆ UF_WORKSTATION_TRUST_ACCOUNT

#define UF_WORKSTATION_TRUST_ACCOUNT   4096

Definition at line 32 of file lmaccess.h.

◆ UNITS_PER_DAY

#define UNITS_PER_DAY   24

Definition at line 113 of file lmaccess.h.

◆ UNITS_PER_WEEK

#define UNITS_PER_WEEK   168

Definition at line 114 of file lmaccess.h.

◆ USER_ACCT_EXPIRES_INFOLEVEL

#define USER_ACCT_EXPIRES_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_ACCT_EXPIRES_PARMNUM)

Definition at line 97 of file lmaccess.h.

◆ USER_ACCT_EXPIRES_PARMNUM

#define USER_ACCT_EXPIRES_PARMNUM   17

Definition at line 69 of file lmaccess.h.

◆ USER_AUTH_FLAGS_INFOLEVEL

#define USER_AUTH_FLAGS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_AUTH_FLAGS_PARMNUM)

Definition at line 90 of file lmaccess.h.

◆ USER_AUTH_FLAGS_PARMNUM

#define USER_AUTH_FLAGS_PARMNUM   10

Definition at line 62 of file lmaccess.h.

◆ USER_CODE_PAGE_INFOLEVEL

#define USER_CODE_PAGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_CODE_PAGE_PARMNUM)

Definition at line 105 of file lmaccess.h.

◆ USER_CODE_PAGE_PARMNUM

#define USER_CODE_PAGE_PARMNUM   25

Definition at line 77 of file lmaccess.h.

◆ USER_COMMENT_INFOLEVEL

#define USER_COMMENT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_COMMENT_PARMNUM)

Definition at line 87 of file lmaccess.h.

◆ USER_COMMENT_PARMNUM

#define USER_COMMENT_PARMNUM   7

Definition at line 59 of file lmaccess.h.

◆ USER_COUNTRY_CODE_INFOLEVEL

#define USER_COUNTRY_CODE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_COUNTRY_CODE_PARMNUM)

Definition at line 104 of file lmaccess.h.

◆ USER_COUNTRY_CODE_PARMNUM

#define USER_COUNTRY_CODE_PARMNUM   24

Definition at line 76 of file lmaccess.h.

◆ USER_FLAGS_INFOLEVEL

#define USER_FLAGS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_FLAGS_PARMNUM)

Definition at line 88 of file lmaccess.h.

◆ USER_FLAGS_PARMNUM

#define USER_FLAGS_PARMNUM   8

Definition at line 60 of file lmaccess.h.

◆ USER_FULL_NAME_INFOLEVEL

#define USER_FULL_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_FULL_NAME_PARMNUM)

Definition at line 91 of file lmaccess.h.

◆ USER_FULL_NAME_PARMNUM

#define USER_FULL_NAME_PARMNUM   11

Definition at line 63 of file lmaccess.h.

◆ USER_HOME_DIR_DRIVE_INFOLEVEL

#define USER_HOME_DIR_DRIVE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_DRIVE_PARMNUM)

Definition at line 108 of file lmaccess.h.

◆ USER_HOME_DIR_DRIVE_PARMNUM

#define USER_HOME_DIR_DRIVE_PARMNUM   53

Definition at line 81 of file lmaccess.h.

◆ USER_HOME_DIR_INFOLEVEL

#define USER_HOME_DIR_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_HOME_DIR_PARMNUM)

Definition at line 86 of file lmaccess.h.

◆ USER_HOME_DIR_PARMNUM

#define USER_HOME_DIR_PARMNUM   6

Definition at line 58 of file lmaccess.h.

◆ USER_LAST_LOGOFF_INFOLEVEL

#define USER_LAST_LOGOFF_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGOFF_PARMNUM)

Definition at line 96 of file lmaccess.h.

◆ USER_LAST_LOGOFF_PARMNUM

#define USER_LAST_LOGOFF_PARMNUM   16

Definition at line 68 of file lmaccess.h.

◆ USER_LAST_LOGON_INFOLEVEL

#define USER_LAST_LOGON_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_LAST_LOGON_PARMNUM)

Definition at line 95 of file lmaccess.h.

◆ USER_LAST_LOGON_PARMNUM

#define USER_LAST_LOGON_PARMNUM   15

Definition at line 67 of file lmaccess.h.

◆ USER_LOGON_HOURS_INFOLEVEL

#define USER_LOGON_HOURS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_LOGON_HOURS_PARMNUM)

Definition at line 100 of file lmaccess.h.

◆ USER_LOGON_HOURS_PARMNUM

#define USER_LOGON_HOURS_PARMNUM   20

Definition at line 72 of file lmaccess.h.

◆ USER_LOGON_SERVER_INFOLEVEL

#define USER_LOGON_SERVER_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_LOGON_SERVER_PARMNUM)

Definition at line 103 of file lmaccess.h.

◆ USER_LOGON_SERVER_PARMNUM

#define USER_LOGON_SERVER_PARMNUM   23

Definition at line 75 of file lmaccess.h.

◆ USER_MAX_STORAGE_INFOLEVEL

#define USER_MAX_STORAGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_MAX_STORAGE_PARMNUM)

Definition at line 98 of file lmaccess.h.

◆ USER_MAX_STORAGE_PARMNUM

#define USER_MAX_STORAGE_PARMNUM   18

Definition at line 70 of file lmaccess.h.

◆ USER_MAXSTORAGE_UNLIMITED

#define USER_MAXSTORAGE_UNLIMITED   ((ULONG)-1)

Definition at line 111 of file lmaccess.h.

◆ USER_NAME_INFOLEVEL

#define USER_NAME_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_NAME_PARMNUM)

Definition at line 82 of file lmaccess.h.

◆ USER_NAME_PARMNUM

#define USER_NAME_PARMNUM   1

Definition at line 54 of file lmaccess.h.

◆ USER_NO_LOGOFF

#define USER_NO_LOGOFF   ((ULONG)-1L)

Definition at line 112 of file lmaccess.h.

◆ USER_NUM_LOGONS_INFOLEVEL

#define USER_NUM_LOGONS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_NUM_LOGONS_PARMNUM)

Definition at line 102 of file lmaccess.h.

◆ USER_NUM_LOGONS_PARMNUM

#define USER_NUM_LOGONS_PARMNUM   22

Definition at line 74 of file lmaccess.h.

◆ USER_PAD_PW_COUNT_INFOLEVEL

#define USER_PAD_PW_COUNT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PAD_PW_COUNT_PARMNUM)

Definition at line 101 of file lmaccess.h.

◆ USER_PAD_PW_COUNT_PARMNUM

#define USER_PAD_PW_COUNT_PARMNUM   21

Definition at line 73 of file lmaccess.h.

◆ USER_PARMS_INFOLEVEL

#define USER_PARMS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PARMS_PARMNUM)

Definition at line 93 of file lmaccess.h.

◆ USER_PARMS_PARMNUM

#define USER_PARMS_PARMNUM   13

Definition at line 65 of file lmaccess.h.

◆ USER_PASSWORD_AGE_INFOLEVEL

#define USER_PASSWORD_AGE_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_AGE_PARMNUM)

Definition at line 84 of file lmaccess.h.

◆ USER_PASSWORD_AGE_PARMNUM

#define USER_PASSWORD_AGE_PARMNUM   4

Definition at line 56 of file lmaccess.h.

◆ USER_PASSWORD_INFOLEVEL

#define USER_PASSWORD_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PASSWORD_PARMNUM)

Definition at line 83 of file lmaccess.h.

◆ USER_PASSWORD_PARMNUM

#define USER_PASSWORD_PARMNUM   3

Definition at line 55 of file lmaccess.h.

◆ USER_POSIX_ID_INFOLEVEL

#define USER_POSIX_ID_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_POSIX_ID_PARMNUM)

Definition at line 107 of file lmaccess.h.

◆ USER_PRIMARY_GROUP_INFOLEVEL

#define USER_PRIMARY_GROUP_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PRIMARY_GROUP_PARMNUM)

Definition at line 106 of file lmaccess.h.

◆ USER_PRIMARY_GROUP_PARMNUM

#define USER_PRIMARY_GROUP_PARMNUM   51

Definition at line 78 of file lmaccess.h.

◆ USER_PRIV_ADMIN

#define USER_PRIV_ADMIN   2

Definition at line 118 of file lmaccess.h.

◆ USER_PRIV_GUEST

#define USER_PRIV_GUEST   0

Definition at line 116 of file lmaccess.h.

◆ USER_PRIV_INFOLEVEL

#define USER_PRIV_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_PRIV_PARMNUM)

Definition at line 85 of file lmaccess.h.

◆ USER_PRIV_MASK

#define USER_PRIV_MASK   3

Definition at line 115 of file lmaccess.h.

◆ USER_PRIV_PARMNUM

#define USER_PRIV_PARMNUM   5

Definition at line 57 of file lmaccess.h.

◆ USER_PRIV_USER

#define USER_PRIV_USER   1

Definition at line 117 of file lmaccess.h.

◆ USER_PROFILE

#define USER_PROFILE   52

Definition at line 79 of file lmaccess.h.

◆ USER_PROFILE_PARMNUM

#define USER_PROFILE_PARMNUM   52

Definition at line 80 of file lmaccess.h.

◆ USER_SCRIPT_PATH_INFOLEVEL

#define USER_SCRIPT_PATH_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_SCRIPT_PATH_PARMNUM)

Definition at line 89 of file lmaccess.h.

◆ USER_SCRIPT_PATH_PARMNUM

#define USER_SCRIPT_PATH_PARMNUM   9

Definition at line 61 of file lmaccess.h.

◆ USER_UNITS_PER_WEEK_INFOLEVEL

#define USER_UNITS_PER_WEEK_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_UNITS_PER_WEEK_PARMNUM)

Definition at line 99 of file lmaccess.h.

◆ USER_UNITS_PER_WEEK_PARMNUM

#define USER_UNITS_PER_WEEK_PARMNUM   19

Definition at line 71 of file lmaccess.h.

◆ USER_USR_COMMENT_INFOLEVEL

#define USER_USR_COMMENT_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_USR_COMMENT_PARMNUM)

Definition at line 92 of file lmaccess.h.

◆ USER_USR_COMMENT_PARMNUM

#define USER_USR_COMMENT_PARMNUM   12

Definition at line 64 of file lmaccess.h.

◆ USER_WORKSTATIONS_INFOLEVEL

#define USER_WORKSTATIONS_INFOLEVEL   (PARMNUM_BASE_INFOLEVEL+USER_WORKSTATIONS_PARMNUM)

Definition at line 94 of file lmaccess.h.

◆ USER_WORKSTATIONS_PARMNUM

#define USER_WORKSTATIONS_PARMNUM   14

Definition at line 66 of file lmaccess.h.

◆ VALID_LOGOFF

#define VALID_LOGOFF   1

Definition at line 131 of file lmaccess.h.

◆ VALIDATED_LOGON

#define VALIDATED_LOGON   0

Definition at line 128 of file lmaccess.h.

Typedef Documentation

◆ ACCESS_INFO_0

◆ ACCESS_INFO_1

◆ ACCESS_INFO_1002

◆ ACCESS_LIST

◆ GROUP_INFO_0

◆ GROUP_INFO_1

◆ GROUP_INFO_1002

◆ GROUP_INFO_1005

◆ GROUP_INFO_2

◆ GROUP_INFO_3

◆ GROUP_USERS_INFO_0

◆ GROUP_USERS_INFO_1

◆ LOCALGROUP_INFO_0

◆ LOCALGROUP_INFO_1

◆ LOCALGROUP_INFO_1002

◆ LOCALGROUP_MEMBERS_INFO_0

◆ LOCALGROUP_MEMBERS_INFO_1

◆ LOCALGROUP_MEMBERS_INFO_2

◆ LOCALGROUP_MEMBERS_INFO_3

◆ LOCALGROUP_USERS_INFO_0

◆ LPACCESS_INFO_0

◆ LPACCESS_INFO_1

◆ LPACCESS_INFO_1002

◆ LPACCESS_LIST

◆ LPGROUP_INFO_0

◆ LPGROUP_INFO_1

◆ LPGROUP_INFO_1002

◆ LPGROUP_INFO_1005

◆ LPGROUP_INFO_2

◆ LPGROUP_INFO_3

◆ LPGROUP_USERS_INFO_0

◆ LPGROUP_USERS_INFO_1

◆ LPLOCALGROUP_INFO_0

◆ LPLOCALGROUP_INFO_1

◆ LPLOCALGROUP_INFO_1002

◆ LPLOCALGROUP_MEMBERS_INFO_0

◆ LPLOCALGROUP_MEMBERS_INFO_1

◆ LPLOCALGROUP_MEMBERS_INFO_2

◆ LPLOCALGROUP_MEMBERS_INFO_3

◆ LPLOCALGROUP_USERS_INFO_0

◆ LPUSER_INFO_0

◆ LPUSER_INFO_1

◆ LPUSER_INFO_10

◆ LPUSER_INFO_1003

◆ LPUSER_INFO_1005

◆ LPUSER_INFO_1006

◆ LPUSER_INFO_1007

◆ LPUSER_INFO_1008

◆ LPUSER_INFO_1009

◆ LPUSER_INFO_1010

◆ LPUSER_INFO_1011

◆ LPUSER_INFO_1012

◆ LPUSER_INFO_1013

◆ LPUSER_INFO_1014

◆ LPUSER_INFO_1017

◆ LPUSER_INFO_1018

◆ LPUSER_INFO_1020

◆ LPUSER_INFO_1023

◆ LPUSER_INFO_1024

◆ LPUSER_INFO_1025

◆ LPUSER_INFO_1051

◆ LPUSER_INFO_1052

◆ LPUSER_INFO_1053

◆ LPUSER_INFO_11

◆ LPUSER_INFO_2

◆ LPUSER_INFO_20

◆ LPUSER_INFO_21

◆ LPUSER_INFO_22

◆ LPUSER_INFO_23

◆ LPUSER_INFO_3

◆ LPUSER_INFO_4

◆ LPUSER_MODALS_INFO_0

◆ LPUSER_MODALS_INFO_1

◆ LPUSER_MODALS_INFO_1001

◆ LPUSER_MODALS_INFO_1002

◆ LPUSER_MODALS_INFO_1003

◆ LPUSER_MODALS_INFO_1004

◆ LPUSER_MODALS_INFO_1005

◆ LPUSER_MODALS_INFO_1006

◆ LPUSER_MODALS_INFO_1007

◆ LPUSER_MODALS_INFO_2

◆ LPUSER_MODALS_INFO_3

◆ NET_DISPLAY_GROUP

◆ NET_DISPLAY_MACHINE

◆ NET_DISPLAY_USER

◆ NETLOGON_INFO_1

◆ NETLOGON_INFO_2

◆ NETLOGON_INFO_3

◆ PACCESS_INFO_0

◆ PACCESS_INFO_1

◆ PACCESS_INFO_1002

◆ PACCESS_LIST

◆ PGROUP_INFO_0

◆ PGROUP_INFO_1

◆ PGROUP_INFO_1002

◆ PGROUP_INFO_1005

◆ PGROUP_INFO_2

◆ PGROUP_INFO_3

◆ PGROUP_USERS_INFO_0

◆ PGROUP_USERS_INFO_1

◆ PLOCALGROUP_INFO_0

◆ PLOCALGROUP_INFO_1

◆ PLOCALGROUP_INFO_1002

◆ PLOCALGROUP_MEMBERS_INFO_0

◆ PLOCALGROUP_MEMBERS_INFO_1

◆ PLOCALGROUP_MEMBERS_INFO_2

◆ PLOCALGROUP_MEMBERS_INFO_3

◆ PLOCALGROUP_USERS_INFO_0

◆ PNET_DISPLAY_GROUP

◆ PNET_DISPLAY_MACHINE

◆ PNET_DISPLAY_USER

◆ PNETLOGON_INFO_1

◆ PNETLOGON_INFO_2

◆ PNETLOGON_INFO_3

◆ PNTSTATUS

typedef NTSTATUS* PNTSTATUS

Definition at line 594 of file lmaccess.h.

◆ PUSER_INFO_0

◆ PUSER_INFO_1

◆ PUSER_INFO_10

◆ PUSER_INFO_1003

◆ PUSER_INFO_1005

◆ PUSER_INFO_1006

◆ PUSER_INFO_1007

◆ PUSER_INFO_1008

◆ PUSER_INFO_1009

◆ PUSER_INFO_1010

◆ PUSER_INFO_1011

◆ PUSER_INFO_1012

◆ PUSER_INFO_1013

◆ PUSER_INFO_1014

◆ PUSER_INFO_1017

◆ PUSER_INFO_1018

◆ PUSER_INFO_1020

◆ PUSER_INFO_1023

◆ PUSER_INFO_1024

◆ PUSER_INFO_1025

◆ PUSER_INFO_1051

◆ PUSER_INFO_1052

◆ PUSER_INFO_1053

◆ PUSER_INFO_11

◆ PUSER_INFO_2

◆ PUSER_INFO_20

◆ PUSER_INFO_21

◆ PUSER_INFO_22

◆ PUSER_INFO_23

◆ PUSER_INFO_3

◆ PUSER_INFO_4

◆ PUSER_MODALS_INFO_0

◆ PUSER_MODALS_INFO_1

◆ PUSER_MODALS_INFO_1001

◆ PUSER_MODALS_INFO_1002

◆ PUSER_MODALS_INFO_1003

◆ PUSER_MODALS_INFO_1004

◆ PUSER_MODALS_INFO_1005

◆ PUSER_MODALS_INFO_1006

◆ PUSER_MODALS_INFO_1007

◆ PUSER_MODALS_INFO_2

◆ PUSER_MODALS_INFO_3

◆ USER_INFO_0

◆ USER_INFO_1

◆ USER_INFO_10

◆ USER_INFO_1003

◆ USER_INFO_1005

◆ USER_INFO_1006

◆ USER_INFO_1007

◆ USER_INFO_1008

◆ USER_INFO_1009

◆ USER_INFO_1010

◆ USER_INFO_1011

◆ USER_INFO_1012

◆ USER_INFO_1013

◆ USER_INFO_1014

◆ USER_INFO_1017

◆ USER_INFO_1018

◆ USER_INFO_1020

◆ USER_INFO_1023

◆ USER_INFO_1024

◆ USER_INFO_1025

◆ USER_INFO_1051

◆ USER_INFO_1052

◆ USER_INFO_1053

◆ USER_INFO_11

◆ USER_INFO_2

◆ USER_INFO_20

◆ USER_INFO_21

◆ USER_INFO_22

◆ USER_INFO_23

◆ USER_INFO_3

◆ USER_INFO_4

◆ USER_MODALS_INFO_0

◆ USER_MODALS_INFO_1

◆ USER_MODALS_INFO_1001

◆ USER_MODALS_INFO_1002

◆ USER_MODALS_INFO_1003

◆ USER_MODALS_INFO_1004

◆ USER_MODALS_INFO_1005

◆ USER_MODALS_INFO_1006

◆ USER_MODALS_INFO_1007

◆ USER_MODALS_INFO_2

◆ USER_MODALS_INFO_3

Function Documentation

◆ _Return_type_success_()

typedef _Return_type_success_ ( return >=  0)

◆ I_NetLogonControl()

NET_API_STATUS WINAPI I_NetLogonControl ( LPCWSTR  ,
DWORD  ,
DWORD  ,
PBYTE  
)

◆ I_NetLogonControl2()

NET_API_STATUS WINAPI I_NetLogonControl2 ( LPCWSTR  ,
DWORD  ,
DWORD  ,
PBYTE  ,
PBYTE  
)

◆ NetEnumerateTrustedDomains()

NTSTATUS WINAPI NetEnumerateTrustedDomains ( LPWSTR  ,
LPWSTR  
)

◆ NetGetAnyDCName()

NET_API_STATUS WINAPI NetGetAnyDCName ( LPCWSTR  ,
LPCWSTR  ,
PBYTE  
)

◆ NetGetDCName()

NET_API_STATUS WINAPI NetGetDCName ( LPCWSTR  ,
LPCWSTR  ,
PBYTE  
)

◆ NetGetDisplayInformationIndex()

NET_API_STATUS WINAPI NetGetDisplayInformationIndex ( LPCWSTR  ,
DWORD  ,
LPCWSTR  ,
PDWORD   
)

◆ NetGroupAdd()

NET_API_STATUS WINAPI NetGroupAdd ( LPCWSTR  ,
DWORD  ,
PBYTE  ,
PDWORD   
)

◆ NetGroupAddUser()

NET_API_STATUS WINAPI NetGroupAddUser ( LPCWSTR  ,
LPCWSTR  ,
LPCWSTR   
)

◆ NetGroupDel()

NET_API_STATUS WINAPI NetGroupDel ( LPCWSTR  ,
LPCWSTR   
)

◆ NetGroupDelUser()

NET_API_STATUS WINAPI NetGroupDelUser ( LPCWSTR  ,
LPCWSTR  ,
LPCWSTR   
)

◆ NetGroupEnum()

NET_API_STATUS WINAPI NetGroupEnum ( LPCWSTR  ,
DWORD  ,
PBYTE ,
DWORD  ,
PDWORD  ,
PDWORD  ,
PDWORD_PTR   
)

◆ NetGroupGetInfo()

NET_API_STATUS WINAPI NetGroupGetInfo ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  
)

◆ NetGroupGetUsers()

NET_API_STATUS WINAPI NetGroupGetUsers ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE ,
DWORD  ,
PDWORD  ,
PDWORD  ,
PDWORD_PTR   
)

◆ NetGroupSetInfo()

NET_API_STATUS WINAPI NetGroupSetInfo ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  ,
PDWORD   
)

◆ NetGroupSetUsers()

NET_API_STATUS WINAPI NetGroupSetUsers ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  ,
DWORD   
)

◆ NetLocalGroupAdd()

NET_API_STATUS WINAPI NetLocalGroupAdd ( LPCWSTR  ,
DWORD  ,
PBYTE  ,
PDWORD   
)

◆ NetLocalGroupAddMember()

NET_API_STATUS WINAPI NetLocalGroupAddMember ( LPCWSTR  ,
LPCWSTR  ,
PSID   
)

Definition at line 495 of file local_group.c.

499 {
501 
502  TRACE("(%s %s %p)\n", debugstr_w(servername),
503  debugstr_w(groupname), membersid);
504 
505  Member.lgrmi0_sid = membersid;
506 
507  return NetLocalGroupAddMembers(servername,
508  groupname,
509  0,
510  (LPBYTE)&Member,
511  1);
512 }
NET_API_STATUS WINAPI NetLocalGroupAddMembers(LPCWSTR servername, LPCWSTR groupname, DWORD level, LPBYTE buf, DWORD totalentries)
Definition: local_group.c:520
unsigned char * LPBYTE
Definition: typedefs.h:52
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4

◆ NetLocalGroupAddMembers()

NET_API_STATUS WINAPI NetLocalGroupAddMembers ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  ,
DWORD   
)

◆ NetLocalGroupDel()

NET_API_STATUS WINAPI NetLocalGroupDel ( LPCWSTR  ,
LPCWSTR   
)

Definition at line 677 of file local_group.c.

680 {
681  UNICODE_STRING ServerName;
682  UNICODE_STRING GroupName;
683  SAM_HANDLE ServerHandle = NULL;
684  SAM_HANDLE DomainHandle = NULL;
685  SAM_HANDLE AliasHandle = NULL;
686  NET_API_STATUS ApiStatus = NERR_Success;
688 
689  TRACE("(%s %s)\n", debugstr_w(servername), debugstr_w(groupname));
690 
691  if (servername != NULL)
692  RtlInitUnicodeString(&ServerName, servername);
693 
694  RtlInitUnicodeString(&GroupName, groupname);
695 
696  /* Connect to the SAM Server */
697  Status = SamConnect((servername != NULL) ? &ServerName : NULL,
698  &ServerHandle,
700  NULL);
701  if (!NT_SUCCESS(Status))
702  {
703  ERR("SamConnect failed (Status %08lx)\n", Status);
704  ApiStatus = NetpNtStatusToApiStatus(Status);
705  goto done;
706  }
707 
708  /* Open the Builtin Domain */
709  Status = OpenBuiltinDomain(ServerHandle,
711  &DomainHandle);
712  if (!NT_SUCCESS(Status))
713  {
714  ERR("OpenBuiltinDomain failed (Status %08lx)\n", Status);
715  ApiStatus = NetpNtStatusToApiStatus(Status);
716  goto done;
717  }
718 
719  /* Open the alias account in the builtin domain */
720  ApiStatus = OpenAliasByName(DomainHandle,
721  &GroupName,
722  DELETE,
723  &AliasHandle);
724  if (ApiStatus != NERR_Success && ApiStatus != ERROR_NONE_MAPPED)
725  {
726  TRACE("OpenAliasByName failed (ApiStatus %lu)\n", ApiStatus);
727  goto done;
728  }
729 
730  if (AliasHandle == NULL)
731  {
732  if (DomainHandle != NULL)
733  {
734  SamCloseHandle(DomainHandle);
735  DomainHandle = NULL;
736  }
737 
738  /* Open the Acount Domain */
739  Status = OpenAccountDomain(ServerHandle,
740  (servername != NULL) ? &ServerName : NULL,
742  &DomainHandle);
743  if (!NT_SUCCESS(Status))
744  {
745  ERR("OpenAccountDomain failed (Status %08lx)\n", Status);
746  ApiStatus = NetpNtStatusToApiStatus(Status);
747  goto done;
748  }
749 
750  /* Open the alias account in the account domain */
751  ApiStatus = OpenAliasByName(DomainHandle,
752  &GroupName,
753  DELETE,
754  &AliasHandle);
755  if (ApiStatus != NERR_Success)
756  {
757  ERR("OpenAliasByName failed (ApiStatus %lu)\n", ApiStatus);
758  if (ApiStatus == ERROR_NONE_MAPPED)
759  ApiStatus = NERR_GroupNotFound;
760  goto done;
761  }
762  }
763 
764  /* Delete the alias */
765  Status = SamDeleteAlias(AliasHandle);
766  if (!NT_SUCCESS(Status))
767  {
768  ERR("SamDeleteAlias failed (Status %08lx)\n", Status);
769  ApiStatus = NetpNtStatusToApiStatus(Status);
770  goto done;
771  }
772 
773 done:
774  if (AliasHandle != NULL)
775  SamCloseHandle(AliasHandle);
776 
777  if (DomainHandle != NULL)
778  SamCloseHandle(DomainHandle);
779 
780  if (ServerHandle != NULL)
781  SamCloseHandle(ServerHandle);
782 
783  return ApiStatus;
784 }
NTSTATUS NTAPI SamCloseHandle(IN SAM_HANDLE SamHandle)
Definition: samlib.c:476
#define SAM_SERVER_CONNECT
Definition: ntsam.h:99
static NET_API_STATUS OpenAliasByName(SAM_HANDLE DomainHandle, PUNICODE_STRING AliasName, ULONG DesiredAccess, PSAM_HANDLE AliasHandle)
Definition: local_group.c:167
#define ERROR_NONE_MAPPED
Definition: winerror.h:814
LONG NTSTATUS
Definition: precomp.h:26
#define NERR_GroupNotFound
Definition: lmerr.h:87
NTSTATUS OpenAccountDomain(IN SAM_HANDLE ServerHandle, IN PUNICODE_STRING ServerName, IN ULONG DesiredAccess, OUT PSAM_HANDLE DomainHandle)
Definition: utils.c:113
#define NERR_Success
Definition: lmerr.h:5
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define SAM_SERVER_LOOKUP_DOMAIN
Definition: ntsam.h:104
DWORD NET_API_STATUS
Definition: ms-dtyp.idl:91
#define TRACE(s)
Definition: solgame.cpp:4
NTSTATUS NTAPI SamDeleteAlias(IN SAM_HANDLE AliasHandle)
Definition: samlib.c:668
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
NET_API_STATUS WINAPI NetpNtStatusToApiStatus(_In_ NTSTATUS Status)
Definition: misc.c:140
Status
Definition: gdiplustypes.h:24
#define ERR(fmt,...)
Definition: debug.h:109
NTSTATUS OpenBuiltinDomain(IN SAM_HANDLE ServerHandle, IN ULONG DesiredAccess, OUT SAM_HANDLE *DomainHandle)
#define DOMAIN_LOOKUP
Definition: ntsam.h:42
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
return STATUS_SUCCESS
Definition: btrfs.c:2745
NTSTATUS NTAPI SamConnect(IN OUT PUNICODE_STRING ServerName OPTIONAL, OUT PSAM_HANDLE ServerHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
Definition: samlib.c:498
#define DELETE
Definition: nt_native.h:57

Referenced by cmdLocalGroup(), and GroupDelete().

◆ NetLocalGroupDelMember()

NET_API_STATUS WINAPI NetLocalGroupDelMember ( LPCWSTR  ,
LPCWSTR  ,
PSID   
)

Definition at line 792 of file local_group.c.

796 {
798 
799  TRACE("(%s %s %p)\n", debugstr_w(servername),
800  debugstr_w(groupname), membersid);
801 
802  Member.lgrmi0_sid = membersid;
803 
804  return NetLocalGroupDelMembers(servername,
805  groupname,
806  0,
807  (LPBYTE)&Member,
808  1);
809 }
NET_API_STATUS WINAPI NetLocalGroupDelMembers(LPCWSTR servername, LPCWSTR groupname, DWORD level, LPBYTE buf, DWORD totalentries)
Definition: local_group.c:817
unsigned char * LPBYTE
Definition: typedefs.h:52
#define debugstr_w
Definition: kernel32.h:32
#define TRACE(s)
Definition: solgame.cpp:4

◆ NetLocalGroupDelMembers()

NET_API_STATUS WINAPI NetLocalGroupDelMembers ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  ,
DWORD   
)

◆ NetLocalGroupEnum()

NET_API_STATUS WINAPI NetLocalGroupEnum ( LPCWSTR  ,
DWORD  ,
PBYTE ,
DWORD  ,
PDWORD  ,
PDWORD  ,
PDWORD_PTR   
)

◆ NetLocalGroupGetInfo()

NET_API_STATUS WINAPI NetLocalGroupGetInfo ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  
)

◆ NetLocalGroupGetMembers()

NET_API_STATUS WINAPI NetLocalGroupGetMembers ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE ,
DWORD  ,
PDWORD  ,
PDWORD  ,
PDWORD_PTR   
)

◆ NetLocalGroupSetInfo()

NET_API_STATUS WINAPI NetLocalGroupSetInfo ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  ,
PDWORD   
)

◆ NetLocalGroupSetMembers()

NET_API_STATUS WINAPI NetLocalGroupSetMembers ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  ,
DWORD   
)

◆ NetQueryDisplayInformation()

NET_API_STATUS WINAPI NetQueryDisplayInformation ( LPCWSTR  ,
DWORD  ,
DWORD  ,
DWORD  ,
DWORD  ,
PDWORD  ,
PVOID  
)

◆ NetUserAdd()

NET_API_STATUS WINAPI NetUserAdd ( LPCWSTR  ,
DWORD  ,
PBYTE  ,
PDWORD   
)

◆ NetUserChangePassword()

NET_API_STATUS WINAPI NetUserChangePassword ( LPCWSTR  ,
LPCWSTR  ,
LPCWSTR  ,
LPCWSTR   
)

Definition at line 2416 of file user.c.

2420 {
2421  PMSV1_0_CHANGEPASSWORD_REQUEST RequestBuffer = NULL;
2422  PMSV1_0_CHANGEPASSWORD_RESPONSE ResponseBuffer = NULL;
2423  ULONG RequestBufferSize;
2424  ULONG ResponseBufferSize = 0;
2425  LPWSTR Ptr;
2426  ANSI_STRING PackageName;
2428  HANDLE LsaHandle = NULL;
2429  NET_API_STATUS ApiStatus = NERR_Success;
2432 
2433  TRACE("(%s, %s, ..., ...)\n", debugstr_w(domainname), debugstr_w(username));
2434 
2435  /* FIXME: handle null domain or user name */
2436 
2437  /* Check the parameters */
2438  if ((oldpassword == NULL) ||
2439  (newpassword == NULL))
2440  return ERROR_INVALID_PARAMETER;
2441 
2442  /* Connect to the LSA server */
2444  if (!NT_SUCCESS(Status))
2446 
2447  /* Get the authentication package ID */
2448  RtlInitAnsiString(&PackageName,
2450 
2452  &PackageName,
2454  if (!NT_SUCCESS(Status))
2455  {
2456  ApiStatus = NetpNtStatusToApiStatus(Status);
2457  goto done;
2458  }
2459 
2460  /* Calculate the request buffer size */
2461  RequestBufferSize = sizeof(MSV1_0_CHANGEPASSWORD_REQUEST) +
2462  ((wcslen(domainname) + 1) * sizeof(WCHAR)) +
2463  ((wcslen(username) + 1) * sizeof(WCHAR)) +
2464  ((wcslen(oldpassword) + 1) * sizeof(WCHAR)) +
2465  ((wcslen(newpassword) + 1) * sizeof(WCHAR));
2466 
2467  /* Allocate the request buffer */
2468  ApiStatus = NetApiBufferAllocate(RequestBufferSize,
2469  (PVOID*)&RequestBuffer);
2470  if (ApiStatus != NERR_Success)
2471  goto done;
2472 
2473  /* Initialize the request buffer */
2474  RequestBuffer->MessageType = MsV1_0ChangePassword;
2475  RequestBuffer->Impersonating = TRUE;
2476 
2477  Ptr = (LPWSTR)((ULONG_PTR)RequestBuffer + sizeof(MSV1_0_CHANGEPASSWORD_REQUEST));
2478 
2479  /* Pack the domain name */
2480  RequestBuffer->DomainName.Length = wcslen(domainname) * sizeof(WCHAR);
2481  RequestBuffer->DomainName.MaximumLength = RequestBuffer->DomainName.Length + sizeof(WCHAR);
2482  RequestBuffer->DomainName.Buffer = Ptr;
2483 
2484  RtlCopyMemory(RequestBuffer->DomainName.Buffer,
2485  domainname,
2486  RequestBuffer->DomainName.MaximumLength);
2487 
2488  Ptr = (LPWSTR)((ULONG_PTR)Ptr + RequestBuffer->DomainName.MaximumLength);
2489 
2490  /* Pack the user name */
2491  RequestBuffer->AccountName.Length = wcslen(username) * sizeof(WCHAR);
2492  RequestBuffer->AccountName.MaximumLength = RequestBuffer->AccountName.Length + sizeof(WCHAR);
2493  RequestBuffer->AccountName.Buffer = Ptr;
2494 
2495  RtlCopyMemory(RequestBuffer->AccountName.Buffer,
2496  username,
2497  RequestBuffer->AccountName.MaximumLength);
2498 
2499  Ptr = (LPWSTR)((ULONG_PTR)Ptr + RequestBuffer->AccountName.MaximumLength);
2500 
2501  /* Pack the old password */
2502  RequestBuffer->OldPassword.Length = wcslen(oldpassword) * sizeof(WCHAR);
2503  RequestBuffer->OldPassword.MaximumLength = RequestBuffer->OldPassword.Length + sizeof(WCHAR);
2504  RequestBuffer->OldPassword.Buffer = Ptr;
2505 
2506  RtlCopyMemory(RequestBuffer->OldPassword.Buffer,
2507  oldpassword,
2508  RequestBuffer->OldPassword.MaximumLength);
2509 
2510  Ptr = (LPWSTR)((ULONG_PTR)Ptr + RequestBuffer->OldPassword.MaximumLength);
2511 
2512  /* Pack the new password */
2513  RequestBuffer->NewPassword.Length = wcslen(newpassword) * sizeof(WCHAR);
2514  RequestBuffer->NewPassword.MaximumLength = RequestBuffer->NewPassword.Length + sizeof(WCHAR);
2515  RequestBuffer->NewPassword.Buffer = Ptr;
2516 
2517  RtlCopyMemory(RequestBuffer->NewPassword.Buffer,
2518  newpassword,
2519  RequestBuffer->NewPassword.MaximumLength);
2520 
2521  /* Call the authentication package */
2524  RequestBuffer,
2525  RequestBufferSize,
2526  (PVOID*)&ResponseBuffer,
2527  &ResponseBufferSize,
2528  &ProtocolStatus);
2529  if (!NT_SUCCESS(Status))
2530  {
2531  ApiStatus = NetpNtStatusToApiStatus(Status);
2532  goto done;
2533  }
2534 
2535  if (!NT_SUCCESS(ProtocolStatus))
2536  {
2538  goto done;
2539  }
2540 
2541 done:
2542  if (RequestBuffer != NULL)
2543  NetApiBufferFree(RequestBuffer);
2544 
2545  if (ResponseBuffer != NULL)
2546  LsaFreeReturnBuffer(ResponseBuffer);
2547 
2548  if (LsaHandle != NULL)
2549  NtClose(LsaHandle);
2550 
2551  return ApiStatus;
2552 }
NET_API_STATUS WINAPI NetApiBufferAllocate(DWORD ByteCount, LPVOID *Buffer)
Definition: apibuf.c:28
#define ERROR_INVALID_PARAMETER
Definition: compat.h:91
#define TRUE
Definition: types.h:120
NTSYSAPI VOID NTAPI RtlCopyMemory(VOID UNALIGNED *Destination, CONST VOID UNALIGNED *Source, ULONG Length)
#define MSV1_0_PACKAGE_NAME
Definition: ntsecapi.h:42
struct _MSV1_0_CHANGEPASSWORD_REQUEST MSV1_0_CHANGEPASSWORD_REQUEST
USHORT MaximumLength
Definition: env_spec_w32.h:370
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
Definition: fsrtlfuncs.h:898
LONG NTSTATUS
Definition: precomp.h:26
UNICODE_STRING AccountName
Definition: ntsecapi.h:510
#define NERR_Success
Definition: lmerr.h:5
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
uint32_t ULONG_PTR
Definition: typedefs.h:63
HANDLE LsaHandle
Definition: logon.c:14
VOID NTAPI ProtocolStatus(NDIS_HANDLE BindingContext, NDIS_STATUS GenerelStatus, PVOID StatusBuffer, UINT StatusBufferSize)
Called by NDIS when the underlying driver has changed state.
Definition: lan.c:461
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
static WCHAR username[]
Definition: url.c:32
DWORD NET_API_STATUS
Definition: ms-dtyp.idl:91
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
UNICODE_STRING NewPassword
Definition: ntsecapi.h:512
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition: obhandle.c:3399
NET_API_STATUS WINAPI NetpNtStatusToApiStatus(_In_ NTSTATUS Status)
Definition: misc.c:140
ULONG AuthenticationPackage
Definition: logon.c:15
Status
Definition: gdiplustypes.h:24
NTSTATUS NTAPI LsaConnectUntrusted(OUT PHANDLE LsaHandle)
Definition: lsalpc.c:111
NTSTATUS NTAPI LsaLookupAuthenticationPackage(HANDLE, PLSA_STRING, PULONG)
NET_API_STATUS WINAPI NetApiBufferFree(LPVOID Buffer)
Definition: apibuf.c:43
MSV1_0_PROTOCOL_MESSAGE_TYPE MessageType
Definition: ntsecapi.h:508
NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID)
UNICODE_STRING OldPassword
Definition: ntsecapi.h:511
unsigned int ULONG
Definition: retypes.h:1
WCHAR * LPWSTR
Definition: xmlstorage.h:184
return STATUS_SUCCESS
Definition: btrfs.c:2745
NTSTATUS NTAPI LsaCallAuthenticationPackage(HANDLE, ULONG, PVOID, ULONG, PVOID *, PULONG, PNTSTATUS)
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)

◆ NetUserDel()

NET_API_STATUS WINAPI NetUserDel ( LPCWSTR  ,
LPCWSTR   
)

Definition at line 2560 of file user.c.

2562 {
2563  UNICODE_STRING ServerName;
2564  UNICODE_STRING UserName;
2565  SAM_HANDLE ServerHandle = NULL;
2566  SAM_HANDLE DomainHandle = NULL;
2567  SAM_HANDLE UserHandle = NULL;
2568  NET_API_STATUS ApiStatus = NERR_Success;
2570 
2571  TRACE("(%s, %s)\n", debugstr_w(servername), debugstr_w(username));
2572 
2573  if (servername != NULL)
2574  RtlInitUnicodeString(&ServerName, servername);
2575 
2576  RtlInitUnicodeString(&UserName, username);
2577 
2578  /* Connect to the SAM Server */
2579  Status = SamConnect((servername != NULL) ? &ServerName : NULL,
2580  &ServerHandle,
2582  NULL);
2583  if (!NT_SUCCESS(Status))
2584  {
2585  ERR("SamConnect failed (Status %08lx)\n", Status);
2586  ApiStatus = NetpNtStatusToApiStatus(Status);
2587  goto done;
2588  }
2589 
2590  /* Open the Builtin Domain */
2591  Status = OpenBuiltinDomain(ServerHandle,
2592  DOMAIN_LOOKUP,
2593  &DomainHandle);
2594  if (!NT_SUCCESS(Status))
2595  {
2596  ERR("OpenBuiltinDomain failed (Status %08lx)\n", Status);
2597  ApiStatus = NetpNtStatusToApiStatus(Status);
2598  goto done;
2599  }
2600 
2601  /* Open the user account in the builtin domain */
2602  ApiStatus = OpenUserByName(DomainHandle,
2603  &UserName,
2604  DELETE,
2605  &UserHandle);
2606  if (ApiStatus != NERR_Success && ApiStatus != ERROR_NONE_MAPPED)
2607  {
2608  TRACE("OpenUserByName failed (ApiStatus %lu)\n", ApiStatus);
2609  goto done;
2610  }
2611 
2612  if (UserHandle == NULL)
2613  {
2614  if (DomainHandle != NULL)
2615  {
2616  SamCloseHandle(DomainHandle);
2617  DomainHandle = NULL;
2618  }
2619 
2620  /* Open the Acount Domain */
2621  Status = OpenAccountDomain(ServerHandle,
2622  (servername != NULL) ? &ServerName : NULL,
2623  DOMAIN_LOOKUP,
2624  &DomainHandle);
2625  if (!NT_SUCCESS(Status))
2626  {
2627  ERR("OpenAccountDomain failed (Status %08lx)\n", Status);
2628  ApiStatus = NetpNtStatusToApiStatus(Status);
2629  goto done;
2630  }
2631 
2632  /* Open the user account in the account domain */
2633  ApiStatus = OpenUserByName(DomainHandle,
2634  &UserName,
2635  DELETE,
2636  &UserHandle);
2637  if (ApiStatus != NERR_Success)
2638  {
2639  ERR("OpenUserByName failed (ApiStatus %lu)\n", ApiStatus);
2640  if (ApiStatus == ERROR_NONE_MAPPED)
2641  ApiStatus = NERR_UserNotFound;
2642  goto done;
2643  }
2644  }
2645 
2646  /* Delete the user */
2647  Status = SamDeleteUser(UserHandle);
2648  if (!NT_SUCCESS(Status))
2649  {
2650  ERR("SamDeleteUser failed (Status %08lx)\n", Status);
2651  ApiStatus = NetpNtStatusToApiStatus(Status);
2652  goto done;
2653  }
2654 
2655  /* A successful delete invalidates the handle */
2656  UserHandle = NULL;
2657 
2658 done:
2659  if (UserHandle != NULL)
2660  SamCloseHandle(UserHandle);
2661 
2662  if (DomainHandle != NULL)
2663  SamCloseHandle(DomainHandle);
2664 
2665  if (ServerHandle != NULL)
2666  SamCloseHandle(ServerHandle);
2667 
2668  return ApiStatus;
2669 }
NTSTATUS NTAPI SamCloseHandle(IN SAM_HANDLE SamHandle)
Definition: samlib.c:476
#define SAM_SERVER_CONNECT
Definition: ntsam.h:99
static NET_API_STATUS OpenUserByName(SAM_HANDLE DomainHandle, PUNICODE_STRING UserName, ULONG DesiredAccess, PSAM_HANDLE UserHandle)
Definition: user.c:2232
#define ERROR_NONE_MAPPED
Definition: winerror.h:814
LONG NTSTATUS
Definition: precomp.h:26
NTSTATUS OpenAccountDomain(IN SAM_HANDLE ServerHandle, IN PUNICODE_STRING ServerName, IN ULONG DesiredAccess, OUT PSAM_HANDLE DomainHandle)
Definition: utils.c:113
#define NERR_Success
Definition: lmerr.h:5
#define debugstr_w
Definition: kernel32.h:32
smooth NULL
Definition: ftsmooth.c:416
#define SAM_SERVER_LOOKUP_DOMAIN
Definition: ntsam.h:104
static WCHAR username[]
Definition: url.c:32
DWORD NET_API_STATUS
Definition: ms-dtyp.idl:91
#define TRACE(s)
Definition: solgame.cpp:4
NTSTATUS NTAPI SamDeleteUser(IN SAM_HANDLE UserHandle)
Definition: samlib.c:724
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:32
NET_API_STATUS WINAPI NetpNtStatusToApiStatus(_In_ NTSTATUS Status)
Definition: misc.c:140
Status
Definition: gdiplustypes.h:24
#define ERR(fmt,...)
Definition: debug.h:109
NTSTATUS OpenBuiltinDomain(IN SAM_HANDLE ServerHandle, IN ULONG DesiredAccess, OUT SAM_HANDLE *DomainHandle)
#define DOMAIN_LOOKUP
Definition: ntsam.h:42
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
return STATUS_SUCCESS
Definition: btrfs.c:2745
NTSTATUS NTAPI SamConnect(IN OUT PUNICODE_STRING ServerName OPTIONAL, OUT PSAM_HANDLE ServerHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes)
Definition: samlib.c:498
#define NERR_UserNotFound
Definition: lmerr.h:88
#define DELETE
Definition: nt_native.h:57

Referenced by cmdComputer(), cmdUser(), and UserDelete().

◆ NetUserEnum()

NET_API_STATUS WINAPI NetUserEnum ( LPCWSTR  ,
DWORD  ,
DWORD  ,
PBYTE ,
DWORD  ,
PDWORD  ,
PDWORD  ,
PDWORD   
)

◆ NetUserGetGroups()

NET_API_STATUS WINAPI NetUserGetGroups ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE ,
DWORD  ,
PDWORD  ,
PDWORD   
)

◆ NetUserGetInfo()

NET_API_STATUS WINAPI NetUserGetInfo ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  
)

◆ NetUserGetLocalGroups()

NET_API_STATUS WINAPI NetUserGetLocalGroups ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
DWORD  ,
PBYTE ,
DWORD  ,
PDWORD  ,
PDWORD   
)

◆ NetUserModalsGet()

NET_API_STATUS WINAPI NetUserModalsGet ( LPCWSTR  ,
DWORD  ,
PBYTE  
)

◆ NetUserModalsSet()

NET_API_STATUS WINAPI NetUserModalsSet ( LPCWSTR  ,
DWORD  ,
PBYTE  ,
PDWORD   
)

◆ NetUserSetGroups()

NET_API_STATUS WINAPI NetUserSetGroups ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  ,
DWORD   
)

◆ NetUserSetInfo()

NET_API_STATUS WINAPI NetUserSetInfo ( LPCWSTR  ,
LPCWSTR  ,
DWORD  ,
PBYTE  ,
PDWORD   
)