#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);
PWLX_DISPATCH_VERSION_1_3 pWlxFuncs;
HANDLE hDllInstance;
HWND hStatusWindow;
+ HANDLE LsaHandle;
+ ULONG AuthenticationPackage;
DWORD AutoLogonState;
+ BOOL bDisableCAD;
+ BOOL bAutoAdminLogon;
+ BOOL bDontDisplayLastUserName;
+ BOOL bShutdownWithoutLogon;
- /* 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;
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,
IN PWSTR Password);
#endif /* _MSGINA_H */
-
-/* EOF */