Go to the documentation of this file.00001 #include <windows.h>
00002 #include <userenv.h>
00003 #include <winwlx.h>
00004
00005 #include <wine/debug.h>
00006
00007 #include "resource.h"
00008
00009
00010 #define AUTOLOGON_CHECK_REGISTRY 1
00011 #define AUTOLOGON_ONCE 2
00012 #define AUTOLOGON_DISABLED 3
00013
00014 typedef struct
00015 {
00016 HANDLE hWlx;
00017 LPWSTR station;
00018 PWLX_DISPATCH_VERSION_1_3 pWlxFuncs;
00019 HANDLE hDllInstance;
00020 HWND hStatusWindow;
00021 DWORD AutoLogonState;
00022
00023
00024 HANDLE UserToken;
00025 PLUID pAuthenticationId;
00026 PDWORD pdwOptions;
00027 PWLX_MPR_NOTIFY_INFO pMprNotifyInfo;
00028 PVOID *pProfile;
00029
00030
00031 HBITMAP hBitmap;
00032 } GINA_CONTEXT, *PGINA_CONTEXT;
00033
00034 extern HINSTANCE hDllInstance;
00035
00036 typedef BOOL (*PFGINA_INITIALIZE)(PGINA_CONTEXT);
00037 typedef BOOL (*PFGINA_DISPLAYSTATUSMESSAGE)(PGINA_CONTEXT, HDESK, DWORD, PWSTR, PWSTR);
00038 typedef BOOL (*PFGINA_REMOVESTATUSMESSAGE)(PGINA_CONTEXT);
00039 typedef VOID (*PFGINA_DISPLAYSASNOTICE)(PGINA_CONTEXT);
00040 typedef INT (*PFGINA_LOGGEDONSAS)(PGINA_CONTEXT, DWORD);
00041 typedef INT (*PFGINA_LOGGEDOUTSAS)(PGINA_CONTEXT);
00042 typedef INT (*PFGINA_LOCKEDSAS)(PGINA_CONTEXT);
00043 typedef struct _GINA_UI
00044 {
00045 PFGINA_INITIALIZE Initialize;
00046 PFGINA_DISPLAYSTATUSMESSAGE DisplayStatusMessage;
00047 PFGINA_REMOVESTATUSMESSAGE RemoveStatusMessage;
00048 PFGINA_DISPLAYSASNOTICE DisplaySASNotice;
00049 PFGINA_LOGGEDONSAS LoggedOnSAS;
00050 PFGINA_LOGGEDOUTSAS LoggedOutSAS;
00051 PFGINA_LOCKEDSAS LockedSAS;
00052 } GINA_UI, *PGINA_UI;
00053
00054
00055
00056 BOOL
00057 DoLoginTasks(
00058 IN OUT PGINA_CONTEXT pgContext,
00059 IN PWSTR UserName,
00060 IN PWSTR Domain,
00061 IN PWSTR Password);
00062
00063