[MSV1_0]
[reactos.git] / reactos / dll / win32 / msgina / msgina.h
index 620cdb2..ed478d1 100644 (file)
@@ -1,20 +1,18 @@
 #ifndef _MSGINA_H
 #define _MSGINA_H
 
+#include <stdarg.h>
+
 #define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
 
-#include <stdarg.h>
-#include <stdlib.h>
 #include <windef.h>
 #include <winbase.h>
-#include <wincon.h>
-#include <winreg.h>
-#include <wingdi.h>
-#include <winnls.h>
-#include <winsvc.h>
 #include <winuser.h>
-#include <userenv.h>
 #include <winwlx.h>
+#include <ndk/rtlfuncs.h>
+#include <ntsecapi.h>
 
 #include <wine/debug.h>
 WINE_DEFAULT_DEBUG_CHANNEL(msgina);
@@ -33,13 +31,18 @@ typedef struct
     PWLX_DISPATCH_VERSION_1_3 pWlxFuncs;
     HANDLE hDllInstance;
     HWND hStatusWindow;
+    HANDLE LsaHandle;
+    ULONG AuthenticationPackage;
     DWORD AutoLogonState;
     BOOL bDisableCAD;
     BOOL bAutoAdminLogon;
+    BOOL bDontDisplayLastUserName;
+    BOOL bShutdownWithoutLogon;
 
     /* Information to be filled during logon */
     WCHAR UserName[256];
     WCHAR Domain[256];
+    WCHAR Password[256];
     SYSTEMTIME LogonTime;
     HANDLE UserToken;
     PLUID pAuthenticationId;
@@ -74,8 +77,30 @@ typedef struct _GINA_UI
     PFGINA_DISPLAYLOCKEDNOTICE DisplayLockedNotice;
 } GINA_UI, *PGINA_UI;
 
+/* lsa.c */
+
+BOOL
+ConnectToLsa(
+    PGINA_CONTEXT pgContext);
+
+BOOL
+MyLogonUser(
+    HANDLE LsaHandle,
+    ULONG AuthenticationPackage,
+    LPWSTR lpszUsername,
+    LPWSTR lpszDomain,
+    LPWSTR lpszPassword,
+    PHANDLE phToken);
+
 /* msgina.c */
 
+BOOL
+DoAdminUnlock(
+    IN PGINA_CONTEXT pgContext,
+    IN PWSTR UserName,
+    IN PWSTR Domain,
+    IN PWSTR Password);
+
 BOOL
 DoLoginTasks(
     IN OUT PGINA_CONTEXT pgContext,
@@ -84,5 +109,3 @@ DoLoginTasks(
     IN PWSTR Password);
 
 #endif /* _MSGINA_H */
-
-/* EOF */