28 #define WLX_VERSION_1_0 0x00010000 29 #define WLX_VERSION_1_1 0x00010001 30 #define WLX_VERSION_1_2 0x00010002 31 #define WLX_VERSION_1_3 0x00010003 32 #define WLX_VERSION_1_4 0x00010004 33 #define WLX_CURRENT_VERSION (WLX_VERSION_1_4) 35 #define WLX_SAS_TYPE_TIMEOUT 0x0000 36 #define WLX_SAS_TYPE_CTRL_ALT_DEL 0x0001 37 #define WLX_SAS_TYPE_SCRNSVR_TIMEOUT 0x0002 38 #define WLX_SAS_TYPE_SCRNSVR_ACTIVITY 0x0003 39 #define WLX_SAS_TYPE_USER_LOGOFF 0x0004 40 #define WLX_SAS_TYPE_SC_INSERT 0x0005 41 #define WLX_SAS_TYPE_SC_REMOVE 0x0006 42 #define WLX_SAS_TYPE_AUTHENTICATED 0x0007 43 #define WLX_SAS_TYPE_SC_FIRST_READER_ARRIVED 0x0008 44 #define WLX_SAS_TYPE_SC_LAST_READER_REMOVED 0x0009 45 #define WLX_SAS_TYPE_SWITCHUSER 0x000A 46 #define WLX_SAS_TYPE_MAX_MSFT_VALUE 0x007F 48 #define WLX_LOGON_OPT_NO_PROFILE 0x0001 50 #define WLX_PROFILE_TYPE_V1_0 0x0001 51 #define WLX_PROFILE_TYPE_V2_0 0x0002 53 #define WLX_SAS_ACTION_LOGON 0x0001 54 #define WLX_SAS_ACTION_NONE 0x0002 55 #define WLX_SAS_ACTION_LOCK_WKSTA 0x0003 56 #define WLX_SAS_ACTION_LOGOFF 0x0004 57 #define WLX_SAS_ACTION_SHUTDOWN 0x0005 58 #define WLX_SAS_ACTION_PWD_CHANGED 0x0006 59 #define WLX_SAS_ACTION_TASKLIST 0x0007 60 #define WLX_SAS_ACTION_UNLOCK_WKSTA 0x0008 61 #define WLX_SAS_ACTION_FORCE_LOGOFF 0x0009 62 #define WLX_SAS_ACTION_SHUTDOWN_POWER_OFF 0x000A 63 #define WLX_SAS_ACTION_SHUTDOWN_REBOOT 0x000B 64 #define WLX_SAS_ACTION_SHUTDOWN_SLEEP 0x000C 65 #define WLX_SAS_ACTION_SHUTDOWN_SLEEP2 0x000D 66 #define WLX_SAS_ACTION_SHUTDOWN_HIBERNATE 0x000E 67 #define WLX_SAS_ACTION_RECONNECTED 0x000F 68 #define WLX_SAS_ACTION_DELAYED_FORCE_LOGOFF 0x0010 69 #define WLX_SAS_ACTION_SWITCH_CONSOLE 0x0011 71 #define WLX_WM_SAS (WM_USER + 0x0259) 73 #define WLX_DLG_SAS 0x0065 74 #define WLX_DLG_INPUT_TIMEOUT 0x0066 75 #define WLX_DLG_SCREEN_SAVER_TIMEOUT 0x0067 76 #define WLX_DLG_USER_LOGOFF 0x0068 78 #define WLX_DIRECTORY_LENGTH 0x0100 80 #define WLX_CREDENTIAL_TYPE_V1_0 0x0001 81 #define WLX_CREDENTIAL_TYPE_V2_0 0x0002 83 #define WLX_CONSOLESWITCHCREDENTIAL_TYPE_V1_0 0x0001 85 #define STATUSMSG_OPTION_NOANIMATION 0x0001 86 #define STATUSMSG_OPTION_SETFOREGROUND 0x0002 316 #define WLX_DESKTOP_NAME 0x0001 317 #define WLX_DESKTOP_HANDLE 0x0002 319 #define WLX_CREATE_INSTANCE_ONLY 0x0001 320 #define WLX_CREATE_USER 0x0002 322 #define WLX_OPTION_USE_CTRL_ALT_DEL 0x0001 323 #define WLX_OPTION_CONTEXT_POINTER 0x0002 324 #define WLX_OPTION_USE_SMART_CARD 0x0003 325 #define WLX_OPTION_FORCE_LOGOFF_TIME 0x0004 326 #define WLX_OPTION_IGNORE_AUTO_LOGON 0x0008 327 #define WLX_OPTION_NO_SWITCH_ON_SAS 0x0009 329 #define WLX_OPTION_SMART_CARD_PRESENT 0x00010001 330 #define WLX_OPTION_SMART_CARD_INFO 0x00010002 331 #define WLX_OPTION_DISPATCH_TABLE_SIZE 0x00010003 PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
VOID(WINAPI * PWLX_SET_CONTEXT_POINTER)(_In_ HANDLE hWlx, _In_ PVOID pWlxContext)
PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop
PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
struct _WLX_DISPATCH_VERSION_1_0 * PWLX_DISPATCH_VERSION_1_0
struct _WLX_DISPATCH_VERSION_1_0 WLX_DISPATCH_VERSION_1_0
PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop
PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx
BOOL WINAPI WlxNegotiate(_In_ DWORD dwWinlogonVersion, _Out_ PDWORD pdwDllVersion)
struct _WLX_DISPATCH_VERSION_1_1 * PWLX_DISPATCH_VERSION_1_1
BOOL(WINAPI * PWLX_DISCONNECT)(VOID)
LARGE_INTEGER KickOffTime
PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop
BOOL(WINAPI * PWLX_GET_SOURCE_DESKTOP)(_In_ HANDLE hWlx, _Out_ PWLX_DESKTOP *ppDesktop)
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop
BOOL WINAPI WlxInitialize(_In_ LPWSTR lpWinsta, _In_ HANDLE hWlx, _In_ PVOID pvReserved, _In_ PVOID pWinlogonFunctions, _Out_ PVOID *pWlxContext)
struct _WLX_PROFILE_V2_0 WLX_PROFILE_V2_0
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
PWLX_MESSAGE_BOX WlxMessageBox
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
PWLX_DIALOG_BOX WlxDialogBox
struct _WLX_TERMINAL_SERVICES_DATA * PWLX_TERMINAL_SERVICES_DATA
struct _WLX_CLIENT_CREDENTIALS_INFO_2_0 WLX_CLIENT_CREDENTIALS_INFO_V2_0
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
VOID WINAPI WlxShutdown(_In_ PVOID pWlxContext, _In_ DWORD ShutdownType)
INT(WINAPI * PWLX_SWITCH_DESKTOP_TO_WINLOGON)(_In_ HANDLE hWlx)
struct _WLX_NOTIFICATION_INFO * PWLX_NOTIFICATION_INFO
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
PWLX_SAS_NOTIFY WlxSasNotify
_In_ BOOL _In_ HANDLE hProcess
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
PWLX_GET_OPTION WlxGetOption
VOID WINAPI WlxDisplaySASNotice(_In_ PVOID pWlxContext)
PWLX_SAS_NOTIFY WlxSasNotify
struct _WLX_CLIENT_CREDENTIALS_INFO WLX_CLIENT_CREDENTIALS_INFO_V1_0
PWLX_QUERY_CLIENT_CREDENTIALS WlxQueryClientCredentials
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
PWLX_DIALOG_BOX WlxDialogBox
PWLX_SET_TIMEOUT WlxSetTimeout
PWLX_GET_OPTION WlxGetOption
struct _WLX_MPR_NOTIFY_INFO WLX_MPR_NOTIFY_INFO
PFNMSGECALLBACK pStatusCallback
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
PWLX_SET_OPTION WlxSetOption
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
struct _WLX_TERMINAL_SERVICES_DATA WLX_TERMINAL_SERVICES_DATA
PWLX_WIN31_MIGRATE WlxWin31Migrate
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
struct _WLX_SC_NOTIFICATION_INFO WLX_SC_NOTIFICATION_INFO
struct _WLX_PROFILE_V1_0 WLX_PROFILE_V1_0
PWLX_MESSAGE_BOX WlxMessageBox
BOOL WINAPI WlxStartApplication(_In_ PVOID pWlxContext, _In_ PWSTR pszDesktopName, _In_ PVOID pEnvironment, _In_ PWSTR pszCmdLine)
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
VOID WINAPI WlxDisplayLockedNotice(_In_ PVOID pWlxContext)
struct _WLX_MPR_NOTIFY_INFO * PWLX_MPR_NOTIFY_INFO
BOOL WINAPI WlxIsLogoffOk(_In_ PVOID pWlxContext)
BOOL WINAPI WlxNetworkProviderLoad(_In_ PVOID pWlxContext, _Out_ PWLX_MPR_NOTIFY_INFO pNprNotifyInfo)
VOID WINAPI WlxDisconnectNotify(_In_ PVOID pWlxContext)
BOOL WINAPI WlxGetStatusMessage(_In_ PVOID pWlxContext, _Out_ DWORD *pdwOptions, _Out_ PWSTR pMessage, _In_ DWORD dwBufferSize)
PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop
struct _WLX_DESKTOP * PWLX_DESKTOP
INT WINAPI WlxLoggedOnSAS(_In_ PVOID pWlxContext, _In_ DWORD dwSasType, _In_ PVOID pReserved)
PWLX_SAS_NOTIFY WlxSasNotify
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
_Reserved_ PVOID Reserved
PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
PWSTR pszNetworkDefaultUserProfile
LARGE_INTEGER ProfileLogonTime
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
LARGE_INTEGER PasswordCanChange
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
INT(WINAPI * PWLX_CHANGE_PASSWORD_NOTIFY)(_In_ HANDLE hWlx, _In_ PWLX_MPR_NOTIFY_INFO pMprInfo, _In_ DWORD dwChangeInfo)
BOOL WINAPI WlxActivateUserShell(_In_ PVOID pWlxContext, _In_ PWSTR pszDesktopName, _In_ PWSTR pszMprLogonScript, _In_ PVOID pEnvironment)
BOOL WINAPI WlxScreenSaverNotify(_In_ PVOID pWlxContext, _Inout_ BOOL *pSecure)
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
VOID(WINAPI * PWLX_SAS_NOTIFY)(_In_ HANDLE hWlx, _In_ DWORD dwSasType)
BOOL(WINAPI * PWLX_SET_OPTION)(_In_ HANDLE hWlx, _In_ DWORD Option, _In_ ULONG_PTR Value, _Out_ ULONG_PTR *OldValue)
BOOL WINAPI WlxIsLockOk(_In_ PVOID pWlxContext)
INT(WINAPI * PWLX_DIALOG_BOX_INDIRECT)(_In_ HANDLE hWlx, _In_ HANDLE hInst, _In_ LPCDLGTEMPLATE hDialogTemplate, _In_ HWND hwndOwner, _In_ DLGPROC dlgprc)
BOOL(WINAPI * PWLX_QUERY_TS_LOGON_CREDENTIALS)(_Out_ PWLX_CLIENT_CREDENTIALS_INFO_V2_0 pCred)
_Must_inspect_result_ _In_ ULONG Flags
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
PWLX_DISCONNECT WlxDisconnect
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
INT(WINAPI * PWLX_ASSIGN_SHELL_PROTECTION)(_In_ HANDLE hWlx, _In_ HANDLE hToken, _In_ HANDLE hProcess, _In_ HANDLE hThread)
LARGE_INTEGER PasswordMustChange
BOOL(WINAPI * PWLX_SET_TIMEOUT)(_In_ HANDLE hWlx, _In_ DWORD Timeout)
static LPCSTR DWORD void * pvReserved
VOID WINAPI WlxLogoff(_In_ PVOID pWlxContext)
BOOL(WINAPI * PWLX_CREATE_USER_DESKTOP)(_In_ HANDLE hWlx, _In_ HANDLE hToken, _In_ DWORD Flags, _In_ PWSTR pszDesktopName, _Out_ PWLX_DESKTOP *ppDesktop)
PWLX_SET_TIMEOUT WlxSetTimeout
_In_opt_ LPSTR _In_opt_ LPSTR _In_ DWORD _In_ DWORD _Out_opt_ PHANDLE phToken
struct _WLX_CLIENT_CREDENTIALS_INFO * PWLX_CLIENT_CREDENTIALS_INFO_V1_0
INT(WINAPI * PWLX_DIALOG_BOX)(_In_ HANDLE hWlx, _In_ HANDLE hInst, _In_ LPWSTR lpszTemplate, _In_ HWND hwndOwner, _In_ DLGPROC dlgprc)
VOID(WINAPI * PWLX_WIN31_MIGRATE)(_In_ HANDLE hWlx)
INT WINAPI WlxLoggedOutSAS(_In_ PVOID pWlxContext, _In_ DWORD dwSasType, _Out_ PLUID pAuthenticationId, _Inout_ PSID pLogonSid, _Out_ PDWORD pdwOptions, _Out_ PHANDLE phToken, _Out_ PWLX_MPR_NOTIFY_INFO pNprNotifyInfo, _Out_ PVOID *pProfile)
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
INT WINAPI WlxWkstaLockedSAS(_In_ PVOID pWlxContext, _In_ DWORD dwSasType)
PWLX_QUERY_IC_CREDENTIALS WlxQueryInetConnectorCredentials
struct _WLX_CONSOLESWITCH_CREDENTIALS_INFO WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0
PWLX_QUERY_IC_CREDENTIALS WlxQueryInetConnectorCredentials
struct _WLX_CLIENT_CREDENTIALS_INFO_2_0 * PWLX_CLIENT_CREDENTIALS_INFO_V2_0
DWORD(WINAPI * PWLX_QUERY_CONSOLESWITCH_CREDENTIALS)(_Out_ PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 pCred)
PWLX_SET_TIMEOUT WlxSetTimeout
struct _WLX_DISPATCH_VERSION_1_4 WLX_DISPATCH_VERSION_1_4
PWLX_SAS_NOTIFY WlxSasNotify
INT(WINAPI * PWLX_CHANGE_PASSWORD_NOTIFY_EX)(_In_ HANDLE hWlx, _In_ PWLX_MPR_NOTIFY_INFO pMprInfo, _In_ DWORD dwChangeInfo, _In_ PWSTR ProviderName, _In_ PVOID Reserved)
BOOL(WINAPI * PWLX_QUERY_IC_CREDENTIALS)(_Out_ PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred)
PWLX_MESSAGE_BOX WlxMessageBox
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop
PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData
INT(WINAPI * PWLX_DIALOG_BOX_INDIRECT_PARAM)(_In_ HANDLE hWlx, _In_ HANDLE hInst, _In_ LPCDLGTEMPLATE hDialogTemplate, _In_ HWND hwndOwner, _In_ DLGPROC dlgprc, _In_ LPARAM dwInitParam)
struct _WLX_DISPATCH_VERSION_1_1 WLX_DISPATCH_VERSION_1_1
DWORD(WINAPI * PWLX_QUERY_TERMINAL_SERVICES_DATA)(_In_ HANDLE hWlx, _Out_ PWLX_TERMINAL_SERVICES_DATA pTSData, _In_ WCHAR *UserName, _In_ WCHAR *Domain)
struct _WLX_DISPATCH_VERSION_1_3 * PWLX_DISPATCH_VERSION_1_3
PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop
PWLX_SET_OPTION WlxSetOption
PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
BOOL(WINAPI * PWLX_CLOSE_USER_DESKTOP)(_In_ HANDLE hWlx, _In_ PWLX_DESKTOP pDesktop, _In_ HANDLE hToken)
INT_PTR(CALLBACK * DLGPROC)(HWND, UINT, WPARAM, LPARAM)
PWLX_DISCONNECT WlxDisconnect
DWORD(CALLBACK * PFNMSGECALLBACK)(_In_ BOOL bVerbose, _In_ LPWSTR lpMessage)
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
struct _WLX_PROFILE_V1_0 * PWLX_PROFILE_V1_0
BOOL(WINAPI * PWLX_GET_OPTION)(_In_ HANDLE hWlx, _In_ DWORD Option, _Out_ ULONG_PTR *Value)
BOOL WINAPI WlxDisplayStatusMessage(_In_ PVOID pWlxContext, _In_ HDESK hDesktop, _In_ DWORD dwOptions, _In_ PWSTR pTitle, _In_ PWSTR pMessage)
PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop
struct _WLX_PROFILE_V2_0 * PWLX_PROFILE_V2_0
PWLX_SAS_NOTIFY WlxSasNotify
struct _WLX_DISPATCH_VERSION_1_2 * PWLX_DISPATCH_VERSION_1_2
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
struct _WLX_DISPATCH_VERSION_1_3 WLX_DISPATCH_VERSION_1_3
struct _WLX_DISPATCH_VERSION_1_4 * PWLX_DISPATCH_VERSION_1_4
struct _WLX_CONSOLESWITCH_CREDENTIALS_INFO * PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0
PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
PWLX_SET_TIMEOUT WlxSetTimeout
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
PWLX_DIALOG_BOX WlxDialogBox
PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData
PWLX_WIN31_MIGRATE WlxWin31Migrate
PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel
PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop
struct _WLX_DISPATCH_VERSION_1_2 WLX_DISPATCH_VERSION_1_2
VOID(WINAPI * PWLX_USE_CTRL_ALT_DEL)(_In_ HANDLE hWlx)
PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
PWLX_DIALOG_BOX WlxDialogBox
PWLX_DIALOG_BOX WlxDialogBox
WCHAR ProfilePath[WLX_DIRECTORY_LENGTH+1]
PWLX_QUERY_CLIENT_CREDENTIALS WlxQueryClientCredentials
struct _WLX_SC_NOTIFICATION_INFO * PWLX_SC_NOTIFICATION_INFO
BOOL WINAPI WlxRemoveStatusMessage(_In_ PVOID pWlxContext)
INT(WINAPI * PWLX_SWITCH_DESKTOP_TO_USER)(_In_ HANDLE hWlx)
PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam
PWLX_QUERY_CONSOLESWITCH_CREDENTIALS WlxQueryConsoleSwitchCredentials
PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser
BOOL(WINAPI * PWLX_SET_RETURN_DESKTOP)(_In_ HANDLE hWlx, _In_ PWLX_DESKTOP pDesktop)
PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect
WCHAR HomeDir[WLX_DIRECTORY_LENGTH+1]
PWLX_SET_CONTEXT_POINTER WlxSetContextPointer
PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam
PWLX_SET_TIMEOUT WlxSetTimeout
BOOL(WINAPI * PWLX_QUERY_CLIENT_CREDENTIALS)(_Out_ PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred)
struct _WLX_DESKTOP WLX_DESKTOP
BOOL fDisconnectOnLogonFailure
PWLX_MESSAGE_BOX WlxMessageBox
PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx
PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop
struct _WLX_NOTIFICATION_INFO WLX_NOTIFICATION_INFO
VOID WINAPI WlxReconnectNotify(_In_ PVOID pWlxContext)
#define WLX_DIRECTORY_LENGTH
LARGE_INTEGER PasswordLastSet
PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify
INT(WINAPI * PWLX_DIALOG_BOX_PARAM)(_In_ HANDLE hWlx, _In_ HANDLE hInst, _In_ LPWSTR lpszTemplate, _In_ HWND hwndOwner, _In_ DLGPROC dlgprc, _In_ LPARAM dwInitParam)
BOOL WINAPI WlxGetConsoleSwitchCredentials(_In_ PVOID pWlxContext, _Out_ PVOID pCredInfo)
PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon
PWLX_MESSAGE_BOX WlxMessageBox
PWLX_QUERY_TS_LOGON_CREDENTIALS WlxQueryTsLogonCredentials
INT(WINAPI * PWLX_MESSAGE_BOX)(_In_ HANDLE hWlx, _In_ HWND hwndOwner, _In_ LPWSTR lpszText, _In_ LPWSTR lpszTitle, _In_ UINT fuStyle)