Author: ekohl
Date: Sun Dec 30 17:28:21 2012
New Revision: 58058
URL: 
http://svn.reactos.org/svn/reactos?rev=58058&view=rev
Log:
[INCLUDE]
Add some user information types to ntsam.h and fix sam.idl accordingly.
Modified:
    trunk/reactos/include/ddk/ntsam.h
    trunk/reactos/include/reactos/idl/sam.idl
Modified: trunk/reactos/include/ddk/ntsam.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntsam.h?rev=58…
==============================================================================
--- trunk/reactos/include/ddk/ntsam.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/ntsam.h [iso-8859-1] Sun Dec 30 17:28:21 2012
@@ -192,6 +192,39 @@
 #define SAM_HOURS_PER_WEEK       (24 * SAM_DAYS_PER_WEEK)
 #define SAM_MINUTES_PER_WEEK     (60 * SAM_HOURS_PER_WEEK)
+/* Flags used in USER_ALL_INFORMATION.WhichField */
+#define USER_ALL_USERNAME           0x00000001
+#define USER_ALL_FULLNAME           0x00000002
+#define USER_ALL_USERID             0x00000004
+#define USER_ALL_PRIMARYGROUPID     0x00000008
+#define USER_ALL_ADMINCOMMENT       0x00000010
+#define USER_ALL_USERCOMMENT        0x00000020
+#define USER_ALL_HOMEDIRECTORY      0x00000040
+#define USER_ALL_HOMEDIRECTORYDRIVE 0x00000080
+#define USER_ALL_SCRIPTPATH         0x00000100
+#define USER_ALL_PROFILEPATH        0x00000200
+#define USER_ALL_WORKSTATIONS       0x00000400
+#define USER_ALL_LASTLOGON          0x00000800
+#define USER_ALL_LASTLOGOFF         0x00001000
+#define USER_ALL_LOGONHOURS         0x00002000
+#define USER_ALL_BADPASSWORDCOUNT   0x00004000
+#define USER_ALL_LOGONCOUNT         0x00008000
+#define USER_ALL_PASSWORDCANCHANGE  0x00010000
+#define USER_ALL_PASSWORDMUSTCHANGE 0x00020000
+#define USER_ALL_PASSWORDLASTSET    0x00040000
+#define USER_ALL_ACCOUNTEXPIRES     0x00080000
+#define USER_ALL_USERACCOUNTCONTROL 0x00100000
+#define USER_ALL_PARAMETERS         0x00200000
+#define USER_ALL_COUNTRYCODE        0x00400000
+#define USER_ALL_CODEPAGE           0x00800000
+#define USER_ALL_NTPASSWORDPRESENT  0x01000000
+#define USER_ALL_LMPASSWORDPRESENT  0x02000000
+#define USER_ALL_PRIVATEDATA        0x04000000
+#define USER_ALL_PASSWORDEXPIRED    0x08000000
+#define USER_ALL_SECURITYDESCRIPTOR 0x10000000
+#define USER_ALL_OWFPASSWORD        0x20000000
+#define USER_ALL_UNDEFINED_MASK     0xC0000000
+
 typedef PVOID SAM_HANDLE, *PSAM_HANDLE;
 typedef ULONG SAM_ENUMERATE_HANDLE, *PSAM_ENUMERATE_HANDLE;
@@ -344,6 +377,12 @@
     USHORT UnitsPerWeek;
     PUCHAR LogonHours;
 } LOGON_HOURS, *PLOGON_HOURS;
+
+typedef struct _SR_SECURITY_DESCRIPTOR
+{
+    ULONG Length;
+    PUCHAR SecurityDescriptor;
+} SR_SECURITY_DESCRIPTOR, *PSR_SECURITY_DESCRIPTOR;
 typedef enum _USER_INFORMATION_CLASS
 {
@@ -506,6 +545,55 @@
     ULONG UserAccountControl;
 } USER_CONTROL_INFORMATION, *PUSER_CONTROL_INFORMATION;
+typedef struct _USER_EXPIRES_INFORMATION
+{
+    LARGE_INTEGER AccountExpires;
+} USER_EXPIRES_INFORMATION, *PUSER_EXPIRES_INFORMATION;
+
+typedef struct _USER_PARAMETERS_INFORMATION
+{
+    UNICODE_STRING Parameters;
+} USER_PARAMETERS_INFORMATION, *PUSER_PARAMETERS_INFORMATION;
+
+#include "pshpack4.h"
+typedef struct _USER_ALL_INFORMATION
+{
+    LARGE_INTEGER LastLogon;
+    LARGE_INTEGER LastLogoff;
+    LARGE_INTEGER PasswordLastSet;
+    LARGE_INTEGER AccountExpires;
+    LARGE_INTEGER PasswordCanChange;
+    LARGE_INTEGER PasswordMustChange;
+    UNICODE_STRING UserName;
+    UNICODE_STRING FullName;
+    UNICODE_STRING HomeDirectory;
+    UNICODE_STRING HomeDirectoryDrive;
+    UNICODE_STRING ScriptPath;
+    UNICODE_STRING ProfilePath;
+    UNICODE_STRING AdminComment;
+    UNICODE_STRING WorkStations;
+    UNICODE_STRING UserComment;
+    UNICODE_STRING Parameters;
+    UNICODE_STRING LmPassword;
+    UNICODE_STRING NtPassword;
+    UNICODE_STRING PrivateData;
+    SR_SECURITY_DESCRIPTOR SecurityDescriptor;
+    ULONG UserId;
+    ULONG PrimaryGroupId;
+    ULONG UserAccountControl;
+    ULONG WhichFields;
+    LOGON_HOURS LogonHours;
+    USHORT BadPasswordCount;
+    USHORT LogonCount;
+    USHORT CountryCode;
+    USHORT CodePage;
+    BOOLEAN LmPasswordPresent;
+    BOOLEAN NtPasswordPresent;
+    BOOLEAN PasswordExpired;
+    BOOLEAN PrivateDataSensitive;
+} USER_ALL_INFORMATION, *PUSER_ALL_INFORMATION;
+#include "poppack.h"
+
 #define SAM_SID_COMPATIBILITY_ALL    0
 #define SAM_SID_COMPATIBILITY_LAX    1
Modified: trunk/reactos/include/reactos/idl/sam.idl
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/idl/sam.id…
==============================================================================
--- trunk/reactos/include/reactos/idl/sam.idl [iso-8859-1] (original)
+++ trunk/reactos/include/reactos/idl/sam.idl [iso-8859-1] Sun Dec 30 17:28:21 2012
@@ -459,12 +459,12 @@
 {
     unsigned long UserAccountControl;
 } USER_CONTROL_INFORMATION, *PUSER_CONTROL_INFORMATION;
-cpp_quote("#endif")
 typedef struct _USER_EXPIRES_INFORMATION
 {
     OLD_LARGE_INTEGER AccountExpires;
 } USER_EXPIRES_INFORMATION, *PUSER_EXPIRES_INFORMATION;
+cpp_quote("#endif")
 typedef struct _SAMPR_LOGON_HOURS
 {