The NetUserGetLogonAsn API retrieves information about logon assignments for a user.
Restrictions
This API can be called from DLS and OS/2 workstations, but DLS workstations can issue this call only to a remote LAN Server workstation.
For NetUserGetLogonAsn to run successfully, one of the following must be true:
Domain control database subdirectories and files must exist for the user before NetUserGetLogonAsn is called. You can use the NetUserDCDBInit API to create the subdirectories and files.
Directory and Security Server Only
Any user with r permission can use level 1 and 200. Non-DSS instances of logon_asn extended registry attributes (ERA) are ignored and not returned in the logon assignment list. The format of the ERA allows for the possibility of non-DSS logon assignments.
Level 200 returns all of the users logon assignments regardless of what resource domain they are in.
#include <netcons.h>#include <dcdb.h> #include <lsdceerr.h> /* DSS only */ NetUserGetLogonAsn(pszTarget, pszUserID, usLevel, ResourceType, buf, usBuflen, pusBytesAvail); /* 16 bit */ Net32UserGetLogonAsn(pszTarget, pszUserID, ulLevel, ResourceType, buf, ulBuflen, pulBytesAvail, pStatusbuf); /* 32 bit */
See Common Parameter Definitions for descriptions of parameters not defined here.
sLevel or ulLevel
The following table lists the return codes most significant to this API.
(See API Return Codes for a complete
list of return codes.) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿³SYMBOLICCONSTANT
³VALUE³MEANING ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ERROR_PATH_NOT_FOUND ³ 3 ³ The path was not found. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ERROR_TOO_MANY_OPEN_FILES ³ 4 ³ The maximum number of open files was
³
³ ³ ³ exceeded. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ERROR_ACCESS_DENIED ³ 5 ³ Administrator privilege is required. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ERROR_NOT_ENOUGH_MEMORY ³ 8 ³ Sufficient
memory is not available. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ERROR_INVALID_PARAMETER ³ 87 ³ At least one parameter value is not
³
³ ³ ³ valid. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ERROR_INVALID_LEVEL ³ 124 ³ The ul/usLevel parameter is not valid.
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ ERROR_MORE_DATA ³ 234 ³ Additional data is available, but the ³
³ ³ ³ buffer is too small. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_NetNotStarted ³ 2102 ³ The redirector NETWKSTA.200 has not
³
³ ³ ³ been started. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_BufTooSmall ³ 2123 ³ The buffer is too small for fixed- ³
³ ³ ³ length data. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_InvalidAPI ³ 2142 ³ The requested API is not supported on
³
³ ³ ³ the remote server. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_UserNotFound ³ 2221 ³ The user name cannot be found. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_DCDBError ³ 2786 ³ A domain control database file is ³
³ ³ ³ unreadable or cannot be accessed at ³
³ ³ ³ this time. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_NotPrimaryDCDB ³ 2795 ³ An attempt was made to access a domain
³
³ ³ ³ control database file on a machine ³
³ ³ ³ that is not the domain controller. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_DCEError ³ 7500 ³ DCE error status returned. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_DCEErrorLogged ³ 7501 ³ DCE error status has been logged.
³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_AuthTicketExpired ³ 7511 ³ The user's DCE authorization ticket
³
³ ³ ³ has expired. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_RegistryNotFound ³ 7512 ³ Unable to contact the DCE security
³
³ ³ ³ registry. ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³ NERR_UserNotInResdom ³ 7513 ³ The user is not a member of the speci-
³
³ ³ ³ fied resource domain. ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Other codes could be returned from the following functions:
NetUserLogonAsn returns a buffer that points to a logon_asn_info_1 or logon_asn_info_200 structure. The structure element lai1_count or lai200_count indicates the number of logon_asn_list or logon_asn_list_200 structures that immediately follow the logon_asn_info_1 or logon_asn_info_200 structure in the buffer. lai1_count or lai200_count also indicates the number of the user's logon assignments of specified types.
LAN Server and OS/2 Warp Server Only
You can assume a user's domain control database (DCDB) area has not been initialized if NetUserGetLogonAsn is called and the ERROR_PATH_NOT_FOUND code is returned.
This call is equivalent functionally to an Enum call.
For information about: