[MSGINA]
[reactos.git] / reactos / dll / win32 / msgina / msgina.h
index 74867f1..a6ba264 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,11 +31,20 @@ 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;
+
+    INT nShutdownAction;
 
-    /* Informations to be filled during logon */
+    /* Information to be filled during logon */
     WCHAR UserName[256];
     WCHAR Domain[256];
+    WCHAR Password[256];
     SYSTEMTIME LogonTime;
     HANDLE UserToken;
     PLUID pAuthenticationId;
@@ -72,8 +79,31 @@ typedef struct _GINA_UI
     PFGINA_DISPLAYLOCKEDNOTICE DisplayLockedNotice;
 } GINA_UI, *PGINA_UI;
 
+/* lsa.c */
+
+NTSTATUS
+ConnectToLsa(
+    PGINA_CONTEXT pgContext);
+
+NTSTATUS
+MyLogonUser(
+    HANDLE LsaHandle,
+    ULONG AuthenticationPackage,
+    LPWSTR lpszUsername,
+    LPWSTR lpszDomain,
+    LPWSTR lpszPassword,
+    PHANDLE phToken,
+    PNTSTATUS SubStatus);
+
 /* msgina.c */
 
+BOOL
+DoAdminUnlock(
+    IN PGINA_CONTEXT pgContext,
+    IN PWSTR UserName,
+    IN PWSTR Domain,
+    IN PWSTR Password);
+
 BOOL
 DoLoginTasks(
     IN OUT PGINA_CONTEXT pgContext,
@@ -82,5 +112,3 @@ DoLoginTasks(
     IN PWSTR Password);
 
 #endif /* _MSGINA_H */
-
-/* EOF */