26#ifndef __WINLOGON_MAIN_H__
27#define __WINLOGON_MAIN_H__
29#define USE_GETLASTINPUTINFO
35#define WIN32_NO_STATUS
55 IN HWINSTA hWindowStation,
216#define LockWorkstation(Session)
217#define UnlockWorkstation(Session)
238#ifndef USE_GETLASTINPUTINFO
246#ifndef USE_GETLASTINPUTINFO
276#define WLX_SHUTTINGDOWN(Status) \
277 (((Status) == WLX_SAS_ACTION_SHUTDOWN) || \
278 ((Status) == WLX_SAS_ACTION_SHUTDOWN_POWER_OFF) || \
279 ((Status) == WLX_SAS_ACTION_SHUTDOWN_REBOOT) \
282#define WLX_SUSPENDING(Status) \
283 (((Status) == WLX_SAS_ACTION_SHUTDOWN_SLEEP) || \
284 ((Status) == WLX_SAS_ACTION_SHUTDOWN_SLEEP2) || \
285 ((Status) == WLX_SAS_ACTION_SHUTDOWN_HIBERNATE) \
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
_In_ BOOL _In_ HANDLE hProcess
PULONG MinorVersion OPTIONAL
PFWLXWKSTALOCKEDSAS WlxWkstaLockedSAS
PFWLXISLOCKOK WlxIsLockOk
PFWLXDISPLAYSTATUSMESSAGE WlxDisplayStatusMessage
PFWLXSCREENSAVERNOTIFY WlxScreenSaverNotify
PFWLXLOGGEDOUTSAS WlxLoggedOutSAS
PFWLXISLOGOFFOK WlxIsLogoffOk
PFWLXINITIALIZE WlxInitialize
PFWLXLOGGEDONSAS WlxLoggedOnSAS
PFWLXSHUTDOWN WlxShutdown
PFWLXNEGOTIATE WlxNegotiate
PFWLXGETSTATUSMESSAGE WlxGetStatusMessage
PFWLXNETWORKPROVIDERLOAD WlxNetworkProviderLoad
PFWLXSTARTAPPLICATION WlxStartApplication
PFWLXDISPLAYSASNOTICE WlxDisplaySASNotice
PFWLXREMOVESTATUSMESSAGE WlxRemoveStatusMessage
PFWLXACTIVATEUSERSHELL WlxActivateUserShell
PFWLXDISPLAYLOCKEDNOTICE WlxDisplayLockedNotice
LPWSTR InteractiveWindowStationName
WLX_PROFILE_V2_0 * Profile
HANDLE hScreenSaverParametersChanged
HWINSTA InteractiveWindowStation
HANDLE hEndOfScreenSaverThread
WLX_MPR_NOTIFY_INFO MprNotifyInfo
VOID FASTCALL Logon(BOOL IsLogon)
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD dwTimeout
_Reserved_ PVOID Reserved
int(WINAPI * PFWLXWKSTALOCKEDSAS)(PVOID, DWORD)
BOOL DisplayStatusMessage(IN PWLSESSION Session, IN HDESK hDesktop, IN UINT ResourceId)
struct _GINAFUNCTIONS * PGINAFUNCTIONS
VOID(WINAPI * PFWLXDISPLAYLOCKEDNOTICE)(PVOID)
BOOL WINAPI WlxCloseUserDesktop(HANDLE hWlx, PWLX_DESKTOP pDesktop, HANDLE hToken)
DWORD WINAPI WlxQueryConsoleSwitchCredentials(PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 pCred)
int WINAPI WlxDialogBoxParam(HANDLE hWlx, HANDLE hInst, LPWSTR lpszTemplate, HWND hwndOwner, DLGPROC dlgprc, LPARAM dwInitParam)
enum _LOGON_STATE LOGON_STATE
BOOL WINAPI WlxCreateUserDesktop(HANDLE hWlx, HANDLE hToken, DWORD Flags, PWSTR pszDesktopName, PWLX_DESKTOP *ppDesktop)
int(WINAPI * PFWLXLOGGEDOUTSAS)(PVOID, DWORD, PLUID, PSID, PDWORD, PHANDLE, PWLX_MPR_NOTIFY_INFO, PVOID *)
int WINAPI WlxAssignShellProtection(HANDLE hWlx, HANDLE hToken, HANDLE hProcess, HANDLE hThread)
int WINAPI WlxDialogBoxIndirectParam(HANDLE hWlx, HANDLE hInst, LPCDLGTEMPLATE hDialogTemplate, HWND hwndOwner, DLGPROC dlgprc, LPARAM dwInitParam)
BOOL AllowWinstaAccessToUser(_In_ HWINSTA WinSta, _In_ PSID LogonSid)
Assigns access to the specific logon user to the default window station. Such access is given to the ...
BOOL WINAPI WlxSetTimeout(HANDLE hWlx, DWORD Timeout)
BOOL WINAPI WlxSetOption(HANDLE hWlx, DWORD Option, ULONG_PTR Value, ULONG_PTR *OldValue)
BOOL(WINAPI * PFWLXNEGOTIATE)(DWORD, DWORD *)
BOOL SetDefaultLanguage(IN PWLSESSION Session)
VOID(WINAPI * PFWLXSHUTDOWN)(PVOID, DWORD)
struct _GINAINSTANCE * PGINAINSTANCE
DWORD WINAPI WlxQueryTerminalServicesData(HANDLE hWlx, PWLX_TERMINAL_SERVICES_DATA pTSData, WCHAR *UserName, WCHAR *Domain)
int WINAPI WlxSwitchDesktopToUser(HANDLE hWlx)
BOOL WINAPI WlxQueryClientCredentials(PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred)
NTSTATUS HandleShutdown(IN OUT PWLSESSION Session, IN DWORD wlxAction)
BOOL WINAPI SetWindowStationUser(IN HWINSTA hWindowStation, IN PLUID pluid, IN PSID psid OPTIONAL, IN DWORD size)
int WINAPI WlxChangePasswordNotifyEx(HANDLE hWlx, PWLX_MPR_NOTIFY_INFO pMprInfo, DWORD dwChangeInfo, PWSTR ProviderName, PVOID Reserved)
BOOL InitializeScreenSaver(IN OUT PWLSESSION Session)
VOID WINAPI WlxSasNotify(HANDLE hWlx, DWORD dwSasType)
enum _NOTIFICATION_TYPE NOTIFICATION_TYPE
BOOL(WINAPI * PFWLXISLOGOFFOK)(PVOID)
enum _NOTIFICATION_TYPE * PNOTIFICATION_TYPE
BOOL CreateApplicationDesktopSecurity(_Out_ PSECURITY_DESCRIPTOR *ApplicationDesktopSd)
Creates a security descriptor for the default application desktop upon its creation.
int WINAPI WlxDialogBoxIndirect(HANDLE hWlx, HANDLE hInst, LPCDLGTEMPLATE hDialogTemplate, HWND hwndOwner, DLGPROC dlgprc)
VOID(WINAPI * PFWLXLOGOFF)(PVOID)
struct _GINAFUNCTIONS GINAFUNCTIONS
BOOL(WINAPI * PFWLXREMOVESTATUSMESSAGE)(PVOID)
BOOL GinaInit(IN OUT PWLSESSION Session)
BOOL(WINAPI * PFWLXSTARTAPPLICATION)(PVOID, PWSTR, PVOID, PWSTR)
PSECURITY_DESCRIPTOR ConvertToSelfRelative(_In_ PSECURITY_DESCRIPTOR AbsoluteSd)
Converts an absolute security descriptor to a self-relative format.
BOOL CreateWinstaSecurity(_Out_ PSECURITY_DESCRIPTOR *WinstaSd)
Creates a security descriptor for the default window station upon its creation.
BOOL(WINAPI * PFWLXINITIALIZE)(LPWSTR, HANDLE, PVOID, PVOID, PVOID *)
BOOL AllowDesktopAccessToUser(_In_ HDESK Desktop, _In_ PSID LogonSid)
Assigns access to the specific logon user to the default desktop. Such access is given to the user wh...
VOID WINAPI WlxWin31Migrate(HANDLE hWlx)
BOOL(WINAPI * PFWLXSCREENSAVERNOTIFY)(PVOID, BOOL *)
VOID StartScreenSaver(IN PWLSESSION Session)
VOID WINAPI WlxUseCtrlAltDel(HANDLE hWlx)
BOOL InitNotifications(VOID)
VOID CallNotificationDlls(PWLSESSION pSession, NOTIFICATION_TYPE Type)
int WINAPI WlxChangePasswordNotify(HANDLE hWlx, PWLX_MPR_NOTIFY_INFO pMprInfo, DWORD dwChangeInfo)
BOOL CreateWinlogonDesktopSecurity(_Out_ PSECURITY_DESCRIPTOR *WinlogonDesktopSd)
Creates a security descriptor for the default Winlogon desktop. This descriptor serves as a security ...
BOOL AllowAccessOnSession(_In_ PWLSESSION Session)
Assigns both window station and desktop access to the specific session currently active on the system...
BOOL WINAPI WlxQueryTsLogonCredentials(PWLX_CLIENT_CREDENTIALS_INFO_V2_0 pCred)
BOOL InitializeSAS(IN OUT PWLSESSION Session)
struct _WLSESSION * PWLSESSION
BOOL RemoveStatusMessage(IN PWLSESSION Session)
BOOL(WINAPI * PFWLXNETWORKPROVIDERLOAD)(PVOID, PWLX_MPR_NOTIFY_INFO)
BOOL WINAPI WlxDisconnect(VOID)
BOOL WINAPI WlxGetOption(HANDLE hWlx, DWORD Option, ULONG_PTR *Value)
BOOL CreateUserEnvironment(IN PWLSESSION Session)
VOID WINAPI WlxSetContextPointer(HANDLE hWlx, PVOID pWlxContext)
BOOL(WINAPI * PFWLXGETSTATUSMESSAGE)(PVOID, DWORD *, PWSTR, DWORD)
VOID InitDialogListHead(VOID)
BOOL StartRpcServer(VOID)
BOOL(WINAPI * PFWLXISLOCKOK)(PVOID)
BOOL(WINAPI * PFWLXDISPLAYSTATUSMESSAGE)(PVOID, HDESK, DWORD, PWSTR, PWSTR)
int WINAPI WlxSwitchDesktopToWinlogon(HANDLE hWlx)
VOID CleanupNotifications(VOID)
BOOL CreateScreenSaverSecurity(_Out_ PSECURITY_DESCRIPTOR *ScreenSaverDesktopSd)
Creates a security descriptor for the screen saver desktop.
int WINAPI WlxDialogBox(HANDLE hWlx, HANDLE hInst, LPWSTR lpszTemplate, HWND hwndOwner, DLGPROC dlgprc)
struct _WLSESSION WLSESSION
BOOL PlaySoundRoutine(IN LPCWSTR FileName, IN UINT Logon, IN UINT Flags)
DWORD TerminateSystemShutdown(VOID)
VOID(WINAPI * PFWLXDISPLAYSASNOTICE)(PVOID)
struct _GINAINSTANCE GINAINSTANCE
BOOL WINAPI WlxGetSourceDesktop(HANDLE hWlx, PWLX_DESKTOP *ppDesktop)
BOOL CreateWindowStationAndDesktops(_Inout_ PWLSESSION Session)
VOID CloseAllDialogWindows(VOID)
int(WINAPI * PFWLXLOGGEDONSAS)(PVOID, DWORD, PVOID)
@ StartScreenSaverHandler
BOOL(WINAPI * PFWLXACTIVATEUSERSHELL)(PVOID, PWSTR, PWSTR, PVOID)
int WINAPI WlxMessageBox(HANDLE hWlx, HWND hwndOwner, LPWSTR lpszText, LPWSTR lpszTitle, UINT fuStyle)
BOOL WINAPI WlxQueryInetConnectorCredentials(PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred)
enum _LOGON_STATE * PLOGON_STATE
DWORD StartSystemShutdown(IN PUNICODE_STRING pMessage, IN ULONG dwTimeout, IN BOOLEAN bForceAppsClosed, IN BOOLEAN bRebootAfterShutdown, IN ULONG dwReason)
BOOL WINAPI WlxSetReturnDesktop(HANDLE hWlx, PWLX_DESKTOP pDesktop)
struct _WLX_MPR_NOTIFY_INFO * PWLX_MPR_NOTIFY_INFO
_Must_inspect_result_ _In_ ULONG Flags