MSV1_0_LM20_LOGON_PROFILE structure (ntsecapi.h)

The MSV1_0_LM20_LOGON_PROFILE structure contains information about a network logon session.

It is used by LsaLogonUser.

Syntax

typedef struct _MSV1_0_LM20_LOGON_PROFILE {
  MSV1_0_PROFILE_BUFFER_TYPE MessageType;
  LARGE_INTEGER              KickOffTime;
  LARGE_INTEGER              LogoffTime;
  ULONG                      UserFlags;
  UCHAR                      UserSessionKey[MSV1_0_USER_SESSION_KEY_LENGTH];
  UNICODE_STRING             LogonDomainName;
  UCHAR                      LanmanSessionKey[MSV1_0_LANMAN_SESSION_KEY_LENGTH];
  UNICODE_STRING             LogonServer;
  UNICODE_STRING             UserParameters;
} MSV1_0_LM20_LOGON_PROFILE, *PMSV1_0_LM20_LOGON_PROFILE;

Members

MessageType

MSV1_0_PROFILE_BUFFER_TYPE value identifying the type of logon requested. The type of logon determines the format and content of the profile data returned. This member must be set to MsV1_0LM20LogonProfile.

KickOffTime

Time when the system should force user logoff. This is an absolute-format Windows standard time value.

LogoffTime

Time when the user should log off. This is an absolute-format Windows standard time value.

UserFlags

Specifies the way the user established the session. UserFlags can contain one or more of the following values.

Value Meaning
LOGON_GUEST
The user logged onto a guest account.
LOGON_NOENCRYPTION
The user logged on without using password encryption.
LOGON_CACHED_ACCOUNT
The user logged on using cached credentials.
LOGON_USED_LM_PASSWORD
The user logged on using an LM password instead of a Windows password. An LM password is the hashed version of the MBCS upper-cased password.

The Windows password is the hashed version of the Unicode password.

The caller may need to know which type of password was used to determine the corresponding session key (LanmanSessionKey or UserSessionKey).

LOGON_EXTRA_SIDS
SIDs from a domain other than the user's logon domain were sent back from the user's domain controller. This information is used internally by the LSA.
LOGON_SUBAUTH_SESSION_KEY
The user logged on using a subauthentication session key.
LOGON_SERVER_TRUST_ACCOUNT
The user logged on using a trusted server account.
LOGON_PROFILE_PATH_RETURNED
The profile path in the profile in the UserParameters member is valid.
LOGON_RESOURCE_GROUPS
The user logged on using resource groups.
 
Note  The high-order byte of UserFlags is reserved for return flags from subauthentication packages. The flags returned by a subauthentication package are package specific. For more information, see the documentation for the subauthentication package.
 

UserSessionKey[MSV1_0_USER_SESSION_KEY_LENGTH]

Contains a session key specific to the session and user. This session key can be used to encrypt and decrypt information sent between the client and server. This string is MSV1_0_USER_SESSION_KEY_LENGTH characters long. The array is not null-terminated and can contain embedded null characters.

LogonDomainName

UNICODE_STRING containing the name of the logon domain.

LanmanSessionKey[MSV1_0_LANMAN_SESSION_KEY_LENGTH]

Contains the Lanman session key. This string is MSV1_0_LANMAN_SESSION_KEY_LENGTH characters long. It is not null-terminated and can contain embedded null characters.

LogonServer

UNICODE_STRING containing the name of the server that processed the logon request.

UserParameters

UNICODE_STRING containing user parameters. These parameters are primarily used by RAS to store RAS dial-in permissions for the user. In general, developers should not modify this member.

Requirements

Requirement Value
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header ntsecapi.h

See also

LsaLogonUser

MSV1_0_PROFILE_BUFFER_TYPE