[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
public struct USER_INFO_3
{
public string name;
public string password;
public int password_age;
public UserPrivileges priv;
public string home_dir;
public string comment;
public UserFlags flags;
public string script_path;
public AuthFlags auth_flags;
public string full_name;
public string usr_comment;
public string parms;
public string workstations;
public int last_logon;
public int last_logoff;
public int acct_expires;
public int max_storage;
public int units_per_week;
public IntPtr logon_hours; // This is a PBYTE
public int bad_pw_count;
public int num_logons;
public string logon_server;
public int country_code;
public int code_page;
public int user_id;
public int primary_group_id;
public string profile;
public string home_dir_drive;
public int password_expired;
}
<StructLayout(LayoutKind.Sequential, CharSet := CharSet.Unicode)>
Public Structure USER_INFO_3
Public name As String
Public password As String
Public password_age As Integer
Public priv As UserPrivileges
Public home_dir As String
Public comment As String
Public flags As UserFlags
Public script_path As String
Public auth_flags As AuthFlags
Public full_name As String
Public usr_comment As String
Public parms As String
Public workstations As String
Public last_logon As Integer
Public last_logoff As Integer
Public acct_expires As Integer
Public max_storage As Integer
Public units_per_week As Integer
Public logon_hours As IntPtr ' This is a PBYTE
Public bad_pw_count As Integer
Public num_logons As Integer
Public logon_server As String
Public country_code As Integer
Public code_page As Integer
Public user_id As Integer
Public primary_group_id As Integer
Public profile As String
Public home_dir_drive As String
Public password_expired As Integer
End Structure
None.
None.